데비안 부팅 중에 화면에서 소프트웨어를 실행하는 cron 명령을 만들려고 합니다. 이 명령을 실행하면 쉬워 보이지만 작동하지 않습니다(시작하는 동안 화면이 생성되지 않음).
root@xxxx> crontab -u user_name -e
@reboot /usr/bin/screen -d -m rtorrent
이 줄은 작동하지 않는 것 같습니다("@reboot /usr/bin/screen -dmS torrent rtorrent"를 사용해 보았지만 동일한 결과를 얻었습니다: 화면이 생성되지 않았습니다).
crontab 없이 시작하면 완벽하게 작동하기 때문에 이 명령이 작동한다고 확신합니다(그러나 부팅 중에 자동으로 시작되지는 않습니다).
user_name@xxxx> /usr/bin/screen -d -m rtorrent
(Result: The screen is created)
노트:
root@xxxx> cat /etc/shadow |grep user_name
user_name:!:16694:0:99999:7:::
root@xxxx> cat /etc/passwd |grep user_name
user_name:x:1004:1004::/home/user_name:/bin/bash
이 동작에 대한 논리적인 설명을 찾을 수 없으므로 여러분이 아이디어를 가지시기를 바랍니다.
건배,
쿠엔틴
답변1
시스템에 따라 환경 변수가 설정되지 않을 수 있습니다. 전체 경로를 사용하여 모든 항목을 호출하거나 환경 변수를 수동으로 추가할 수 있습니다. 이를 위해(1인당 5개의 crontab) KEY = VALUE
표준 레이아웃의 crontab 위에 변수를 삽입 할 수 있습니다.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
@reboot screen -d -m rtorrent