上次找到的primenote有个问题,不能开机自动启动,gnome-tweak的自动启动也找不到它的执行程序。所以考虑用systemd启动,这里踩了个小坑,就是systemd启动图形程序需要指定图形环境。
创建服务目录
代码语言:javascript复制$ mkdir ${HOME}/.local/share/systemd/user/
创建服务文件
代码语言:javascript复制$ touch ${HOME}/.local/share/systemd/user/primenote.service
内容如下
其中的 usernaem 改为自己的用户名;环境变量 Environment 通过命令 env 可以获取;用户的id可以通过名命令 id 获取,通常第一个用户的id都是1000。
代码语言:javascript复制[Unit]
Description=primenote sticky for desktop
After=network.service
[Service]
Type=idle
TimeoutStartSec=0
Environment="DISPLAY=:1"
Environment="XAUTHORITY=/run/user/1000/gdm/Xauthority"
Environment="XDG_RUNTIME_DIR=/run/user/1000"
ExecStart=/home/username/.local/bin/primenote
[Install]
WantedBy=graphical.target
WantedBy=org.gnome.Shell.target
WantedBy=user-runtime-dir@1000.service
测试
代码语言:javascript复制$ systemctl --user start primenote.service
$ systemctl --user status primenote.service
设置自动启动
代码语言:javascript复制$ systemctl --user enable primenote.service
查看日志
代码语言:javascript复制$ journalctl --user -u primenote