Bash
systemctl 在 system-sleep 下沒有執行腳本
systemctl hybrid-sleep
或任何類似的東西,根據手冊,應該執行在其中找到的所有腳本,/lib/systemd/system-sleep
然後繼續它自己的執行。相反,它完全完全忽略了我放在那裡的每一個腳本:gnome-terminal -e "touch Documents/qwert" while [ 1 ] do echo hi done
^ 這應該在創建文件後進入無限循環。我也嘗試過諸如此類的東西
touch /home/u/Documents/qwert
。我其實很納悶。這實際上可能是由於混合睡眠、休眠等都導致在完全執行之前崩潰,即我的筆記型電腦無法進入任何類型的省電模式,而是進入完全凍結狀態並顯示空白screen - 但是,它在此之前註銷並且僅在幾秒鐘後崩潰,所以我認為腳本應該可以正常執行;畢竟這些都應該在註銷之前執行。
gnome-terminal
不會從那裡執行,因為它沒有可連接的 X 伺服器(它以 root 身份執行,而不是以您的登錄使用者身份執行)。gnome-terminal
不需要,無論如何在這裡都過分了。touch /home/u/Documents/qwert
不跑就跑gnome-terminal -e
還:
- 確保腳本是可執行的(使用 chmod +x 腳本名)。
- 添加
#! /bin/sh
或(#! /bin/bash
如果您使用任何僅限 bash 的功能)作為腳本的第一行。