这是 Xubuntu 18.04 上的。
我正在尝试用我自己的在启动时全屏运行的应用程序替换 lightdm 。
我可以xinit
从 root shell 运行,它正确地接受我的 /root/.xinitrc 命令并全屏运行我的程序。
which xinit #gives "/usr/bin/xinit"
我尝试使用以下命令创建 /lib/systemd/system/fullscreen.service:
[Unit]
Description=Fullscreen App
#[email protected] plymouth-quit.service
#After=systemd-user-sessions.service [email protected] plymouth-quit.service
[Service]
ExecStart=/usr/bin/xinit
但当我跑步时
systemctl daemon-reload
systemctl start fullscreen
它只是加载登录到 root 的 xterm 终端。
任何想法为什么两者之间有什么区别?又如何让它像xinit
直接运行一样呢?
答案1
对于作为系统范围服务启动的进程,$HOME
环境变量将被取消设置,除非您专门设置它。并且xinit
很可能会使用它来查找$HOME/.xinitrc
- 即/root/.xinitrc
如果您从 root shell 运行命令。
添加环境变量的一个简单方法是添加以下行:
Environment="HOME=/root"
到[Service]
您的服务文件的部分。