systemctl 不在系统睡眠下运行脚本

systemctl 不在系统睡眠下运行脚本

systemctl hybrid-sleep或任何类似的东西,根据手册,应该执行在其中找到的所有脚本/lib/systemd/system-sleep,然后继续它自己的执行。相反,它完全忽略了我放入其中的每个脚本:

gnome-terminal -e "touch Documents/qwert"
while [ 1 ] 
do
    echo hi
done

^ 创建文件后,这应该进入无限循环。我也尝试过touch /home/u/Documents/qwert诸如此类的事情。

其实我很困惑。这实际上可能是由于混合睡眠、休眠等都会导致崩溃造成的完整执行,即我的笔记本电脑无法进入任何类型的省电模式,而是进入完全冻结状态并显示空白屏幕 - 但是,它在此之前注销并且仅在几秒钟后崩溃,所以我假设脚本应该执行得很好;毕竟,这些甚至应该在注销之前执行。

答案1

gnome-terminal不会从那里运行,因为没有 X 服务器可供它连接(它以 root 身份运行,而不是以您登录的用户身份运行)。gnome-terminal无论如何,这里不需要并且太过分了。touch /home/u/Documents/qwert不带就跑gnome-terminal -e

还:

  1. 确保脚本可执行(使用 chmod +x 脚本名)。

  2. 添加#! /bin/shor (#! /bin/bash如果您使用任何仅限 bash 的功能)作为第一的脚本行。

相关内容