
我正在嘗試在系統啟動時透過 cron 自動連接 VPN 隧道。
我有一個由 root cron 觸發的 bash 腳本sudo crontab -e
(因為其他一些命令需要提升)。
我可以使用 piactl (cli),但是當嘗試連接時,我收到一條訊息,指出需要啟動客戶端,所以...
我想要執行的步驟之一是啟動 GUI 應用程式 (pia -client)在我的非root 使用者顯示幕上。
以下命令直接從終端運行:
sudo su
runuser -l $username -c 'DISPLAY=:0 /opt/piavpn/bin/pia-client &> /dev/null &'
但是,當我將其放入腳本中時,它不起作用。
該腳本是可執行的chmod +x /path/to/script.sh
,並且正在運行同一腳本中的其他命令。
這裡有人有解決方案嗎?
答案1
這很尷尬,因為我幾天前才問過這個確切的問題。根本沒意識到...
解決方案是添加命令的完整路徑,因為該命令不在 cron 的PATH
.
將程式碼更改為:
sudo su
/sbin/runuser -l $username -c 'DISPLAY=:0 /opt/piavpn/bin/pia-client &> /dev/null &'
來源/信用:@steeldriver對此問題的評論