这就是我得到的
systemctl status rc-local.service
- déc. 07 16:09:48 PKPIE01 rc.local[2157]: No protocol specified
- déc. 07 16:09:48 PKPIE01 rc.local[2157]: Error: Can't open display: (null)
- déc. 07 16:09:48 PKPIE01 rc.local[2157]: Failed creating new xdo instance
- déc. 07 16:09:48 PKPIE01 sudo[2161]: root : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/firefox -url "theurl"
- déc. 07 16:09:48 PKPIE01 sudo[2161]: pam_unix(sudo:session): session opened for user root by (uid=0)
- déc. 07 16:09:48 PKPIE01 rc.local[2157]: No protocol specified
- déc. 07 16:09:48 PKPIE01 rc.local[2157]: Failed to connect to Mir: Failed to connect to server socket: Aucun fichier ou dossier de ce type
- déc. 07 16:09:48 PKPIE01 rc.local[2157]: Unable to init server: Impossible de se connecter : Connexion refusée
- déc. 07 16:09:48 PKPIE01 rc.local[2157]: Error: cannot open display: :0.0
- déc. 07 16:09:48 PKPIE01 sudo[2161]: pam_unix(sudo:session): session closed for user root
这是我在/etc/rc.local
工作中运行时执行的操作
sudo /etc/rc.local
在终端但重启时不起作用:
sleep 45s
export DISPLAY=:0.0 xdotool
export DISPLAY=:0.0 firefox
sudo /usr/bin/firefox -url "the url"
exit 0
有什么线索吗?我对此真的很陌生,所以如果你有任何好的建议或最佳实践,请告诉我!
答案1
不要通过 rc.local 运行 GUI 应用程序,它只是一个命令行脚本。
所有命令均被阻止,在每行末尾附加 &
sudo
是多余的,因为 rc.local 已经以 root 身份运行
答案2
如果您使用 VNC,则可以“本地”运行脚本/命令。
正如steeldriver所说(Rc.Local 手动工作但不在启动时) 和 Sergiy Kolodyazhnyy (https://askubuntu.com/a/984164/877732)这不起作用,但我确定它起作用了一次???
我创建了一个 bash 脚本nano startFirefox.sh
:
#!/bin/bash
echo "Starting Firefox"
/usr/lib/firefox-esr/firefox-esr &
使其可执行chmod a+x startFirefox.sh
(https://stackoverflow.com/a/8352939/5165135)
已添加到/etc/rc.local:
fi
/home/pi/startFirefox.sh &
exit 0
在较新的系统上,检查它是否正在运行systemctl status rc-local.service
(https://askubuntu.com/a/759821/877732)