我想知道是否有办法在 systemd 中使用 $XAUTHORITY 变量,基本上,我试图通过将其放在脚本中并在启动时使用 systemd 启动该脚本来在 $XAUTHORITY 位置和 ~/.Xauthority 之间创建一个 simlink,但这不起作用。
经过进一步测试(使用echo $XAUTHORITY > debug
和echo $PATH > debug
),结果显示 $PATH(例如)可以与 systemd 一起使用,而不能与 $XAUTHORITY 一起使用。
使用的其中一个服务文件(用于了解它为什么不起作用)如下:
[Unit]
Description=Create .Xauthority file in home
Requires=display-manager.service
After=display-manager.service
[Service]
ExecStart=/bin/bash -c 'echo $XAUTHORITY > /home/john/debug'
这个 ExecStart 最初是 ln -fs $XAUTHORITY /home/john/.Xauthority,但由于它不起作用,我尝试使用 echo $XAUTHORITY 和 $PATH
[Install]
WantedBy=multi-user.target
我希望它在 multi-user.target 中,因为我希望在作者放入该组并使用 Xauthority 的其他服务启动之前创建该 simlink,例如使用以下行:
Environment="DISPLAY=:0" "XAUTHORITY=/home/%i/.Xauthority"
谢谢!