
시스템 부팅 시 cron을 통해 VPN 터널 연결을 자동화하려고 합니다.
루트 cron에 의해 트리거되는 bash 스크립트가 있습니다 sudo crontab -e
(다른 명령에는 권한 상승이 필요하기 때문입니다).
piactl(cli)을 사용하면 괜찮을 텐데, 연결하려고 하면 클라이언트를 시작해야 한다는 메시지가 나오므로...
제가 수행하고 싶은 단계 중 하나는 GUI 응용 프로그램(pia)을 시작하는 것입니다. -client) 루트가 아닌 사용자가 표시됩니다.
다음 명령은 터미널에서 직접 작동합니다.
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 &'