시작 시 cron을 사용하여 xfce4 터미널 실행

시작 시 cron을 사용하여 xfce4 터미널 실행

Debian Stretch가 있고 systemd를 실행 중입니다(기본적으로 설치됨). cron을 통해 시작 시 2줄 bash 스크립트를 시작하고 싶습니다.

echo something > file.txt 

xfce4-terminal  [...] --command="watch [....]" 2>&1 & 

스크립트는 수동으로 시작하면 잘 작동합니다. 창을 열고 "watch" 명령을 시작합니다. 첫 번째 줄을 사용하여 부팅 시 시작되는지 확인합니다(일종의 스탬프처럼).

루트 사용자와 루트가 아닌 사용자 모두에게 시도해 보았습니다. crontab -e 및 vi를 사용하여 cron을 편집했습니다(VISUAL="vi" 내보내기).

@reboot /path/to/script/script.sh

시작 시 스크립트가 시작되지만(file.txt를 확인했습니다) xfce4-terminal로 연 창이 존재하지 않습니다. 그리고... "Systemd"는 부팅 시 스크립트를 시작하기 때문에 큰 Berta처럼 보입니다.

어떤 아이디어가 있나요? 다들 감사 해요!

답변1

생각해 보세요. 컴퓨터를 다시 시작하고 커피를 마시러 갑니다. cron 작업이 실행을 시도하지만 터미널을 어디에서 열어야 합니까? 아직 로그인도 안하셨네요...

Cron 작업은 대화형 GUI 환경과 동일한 환경에서 실행되지 않으므로 일반적으로 cron 등에 필요한 환경 변수 설정에 주의하지 않고 명령 프롬프트에 일반 명령을 입력하여 cron 작업을 예약하지 않습니다. 작업을 실행해야 합니다.

이 경우 일부 환경 변수의 문제가 아니라 cron 작업이 실행 중일 때 사용자가 로그인하지 않았을 수도 있다는 사실입니다. 그래픽 터미널이 작동하려면 데스크탑 환경이 필요합니다.


내 생각에는 데스크탑 환경을 시작할 때마다(재부팅 시가 아니라 로그인 시) 명령이 시작되기를 원할 것입니다.

XFCE에서 이 작업을 수행하려면 설정 -> 세션 및 시작 -> 응용 프로그램 자동 시작으로 이동하여 클릭하거나 Add확장자를 가진 파일을 생성합니다(이 디렉토리가 없을 수도 있으므로 생성해야 할 수도 있습니다)..desktop~/.config/autostart/

파일은 다음과 같아야합니다

[Desktop Entry]
Version=1.0
Name=Script
Type=Application
Exec=/home/user/bin/script.sh
Terminal=false
StartupNotify=false

/home/user/bin/script.sh원하는 것을 수행하는 스크립트가 있습니까 ?

(위 내용은 에서 가져온 것입니다.XFCE 포럼 주제X11을 실행하지도 않아서 작동하는지 모르겠습니다)

또한 관련:Xfce 초기화 스크립트

관련 정보