Linux 在使用rc.local脚本时遇到问题

Linux 在使用rc.local脚本时遇到问题,linux,bash,raspberry-pi,Linux,Bash,Raspberry Pi,你好,这里是Stack Exchange 我想用树莓皮做一个电视屏幕的信息亭显示单元。我想这将是一个足够简单的过程,编写一个启动脚本,将LXDE、x11vnc和chromium激活到我想要的页面,就完成了。但不幸的是,我似乎无法让我的rc.local脚本完全按照我想要的方式工作,我也不知道为什么。这是我添加到rc.local的代码 su pi -c startx& su pi -c x11vnc -display :0 -q -usepw -rfbport 5901 su pi -c c

你好,这里是Stack Exchange

我想用树莓皮做一个电视屏幕的信息亭显示单元。我想这将是一个足够简单的过程,编写一个启动脚本,将LXDE、x11vnc和chromium激活到我想要的页面,就完成了。但不幸的是,我似乎无法让我的rc.local脚本完全按照我想要的方式工作,我也不知道为什么。这是我添加到rc.local的代码

su pi -c startx&
su pi -c x11vnc -display :0 -q -usepw -rfbport 5901
su pi -c chromium --kiosk --incognito "http://www.springwater.ca/"
机器启动时,将运行startx命令,但不会运行x11vnc或chromium命令。我错过什么了吗?还是我完全错了

谢谢

Michael

X服务器加载并能够接受连接需要几秒钟的时间,但是使用&,x11vnc和chromium将尝试立即失败

在startx行之后,您可以添加一个简单的
sleep 30
,让它有时间启动,甚至可以轮询它:

until xwininfo -root -display :0; do sleep 1; done
我在我的Raspberry上使用“nodm”(作为Debian中的包或从这里开始:)登录我的用户并启动LXDE。然后自动启动所有需要的应用程序,如下所述:

编辑以回答评论: 在Debian中,您可以在/etc/default/nodm文件中配置用户(以及其他内容)。 我已设置参数:

    # User to autologin for
    NODM_USER=dashboard
致以最良好的祝愿,
Matthias

您确定存在
x11vnc
?如果是,那么一定是路径问题。可以添加类似于导出路径=“$PATH:/PATH/to/x11Stuff”的行,也可以硬编码脚本中每个调用的完整路径,即
su pi-c/PATH/to/x11Stuff/x11vnc….
。祝你好运。谢谢你的回答,但我还是有问题。我用which命令找到了x11vnc的完整路径,并将其添加到脚本中的调用中,但它仍然并没有初始化。在我的startx呼叫后,我还增加了20秒的睡眠时间,以确保命令没有冲突。但它仍然不起作用。你知道我做错了什么吗?我认为“那个人有一个很好的观点。”。一个好的
start
进程一旦完成了它所需要的一切,就应该返回到cmd行(可以说),并且在后台运行带有“&”的命令违背了它的目的,只会使其他cmd失败(正如他所说的!)。如果它“挂起”并且永远不会返回,那么,这是另一个故事,您是否找到了使用“&”作为启动过程背景的文档?祝你好运。实际上我对这种方法很感兴趣。您是使用nodm启动“pi”用户还是在root中运行它?我很难弄清楚如何强制nodm运行一个特定的用户,我只能让它引导到root。