每次我的 Linux 操作系统在我的 Chromebook 中启动时,我都想启动一个 GUI 应用程序(例如 Firefox)。每当启动第一个 Linux 应用程序时,Linux 操作系统就会启动。我尝试了许多技术,但无法使它们中的任何一个起作用。
1. .desktop in~/.config/autostart
或 in/etc/xdg/autostart
即使 firefox.desktop 文件本身可以毫无问题地启动 Firefox,这也无法在启动时启动 Firefox。我是否需要以某种特殊方式或其他方式设置权限才能正常工作?
2.通过启动它.bashrc
这会在终端启动时启动 Firefox,而不一定在 Crostini 启动时启动。如果我通过打开与终端不同的 Linux 应用程序(例如 Chromium)来启动 Crostini,则.bashrc
不会被调用。
3.通过启动它/etc/profile.d
与 相同的问题.bashrc
。它仅在终端启动时启动 Firefox,而不是在 Crostini 本身启动时启动。
4. systemd 单元文件启动一个启动 Firefox 的 bash 脚本
这(到目前为止)无法在启动时启动 Firefox,即使当我手动运行服务时它可以毫无问题地启动 Firefox。这是我的服务文件的代码,它/etc/systemd/system/
与chmod 640
perms 一起放置:
[Unit]
Description=Firefox launcher
[Service]
Type=forking
Environment="Displat=:0"
Environment="XAUTHORITY=~/.Xauthority"
ExecStart=/mypath/fflauncher.sh
[Install]
WantedBy=graphical.target
这里是 的代码fflauncher.sh
,它有chmod +x
权限:
#!/bin/bash
COUNTER=0
while [ 1 ]
do
if [ -S /tmp/.X11-unix/X0 ]
then
xhost local:
firefox &
exit 0
fi
((++COUNTER))
if [ $COUNTER -gt 20 ]
then
exit 1
fi
sleep 0.5
done
尽管如此,Firefox 不会在启动时启动。但有趣的是,bash 脚本本身实际上是使用这种方法在启动时调用的。Firefox 应用程序无法运行。
有人对我如何让它工作有任何建议吗?