在 gdm3 启动之后但在登录之前启动脚本

在 gdm3 启动之后但在登录之前启动脚本

我正在尝试让脚本运行gdm3 启动但是用户登录。原因是脚本需要一个活动监视器,但如果发生断电,我希望系统在电源恢复时启动恢复正常功能。

我已经根据其他答案尝试了各种迭代,但它们似乎都没有按照我需要的方式执行。我还尝试将其包含在我的自定义 systemd 服务定义中,并且如果可能的话,不触及任何其他服务定义。这是我当前(不工作)的迭代:

[Unit]
Description=Testing
After=network.target network-online.target gdm3.service

[Service]
Type=oneshot
User=root
Group=root

GuessMainPID=no
ExecStart=/bin/bash /home/user/test.sh
Restart=never

[Install]
WantedBy=multi-user.target

重新启动 -> 没有。我登录后->什么都没有。我可以手动启动它并启用它。我在进行任何编辑后重新加载了守护进程,但仍然没有任何结果。

答案1

日志令人困惑,因为看起来脚本正在触发,但实际上什么也没发生。我根据日志和大量谷歌搜索弄清楚了这一点。

看起来 gdm 有 2 个会话; 1 个登录前和另一个登录后。当我将 DISPLAY 与 Xauthority 一起设置在脚本行中时,我的 DISPLAY 是正确的,但 Xauthority 是登录后的。我只需要在登录之前进行 SSH 登录,ps a | grep X找到正确的 Xauthority(这是目前唯一的一个,因为我还没有通过 gdm 登录),使用正确的 Xauthority 更改脚本,重新启动,然后似乎是现在好。

相关内容