X 명령이 내 작업에서 시작되지 않습니다.

X 명령이 내 작업에서 시작되지 않습니다.

at등을 포함한 Linux 스케줄링 명령을 배우고 있습니다. 이 명령을 통해 x분 후에 시작하려고 합니다. 이것이 내가 가진 것입니다:cronsleepgeditat

kedar@i5 ~ $ at now + 1 minute
at now + 1 minute
warning: commands will be executed using /bin/sh
at> ./s.sh
at> <EOT>
job 18 at Fri Aug 15 13:21:00 2014

콘텐츠s.sh(-rwxr--r--):

#!/bin/sh
#set $DISPLAY=:0
echo "Created on" `date` >t.txt
gedit #(also tried /usr/bin/gedit and `gedit` and systen(/usr/bin/gedit))

1분 후에 예상되는 콘텐츠가 포함된 t.txt가 생성됩니다. 하지만 gedit아직 출시되지 않았습니다. 따라서 내 프로그램( firefox, xcalcxfce4-terminal) 중 어느 것도 이 방법으로 시작할 수 없습니다 at.

이상한 점은 ./s.shbash에서 실행 하면 gedit잘 열린다는 것입니다.

또한 실행을 시도했습니다 at(파일에서 - 완전히 올바른 경우).

kedar@i5 ~ $ at now + 1 minute -f ./s.sh

at쉘 스크립트를 사용하는 방식에 문제가 있는 것 같습니다. at쉘 스크립트 없이도 사용할 수 없나요 ? 감사해요.

답변1

디스플레이 변수를 설정해야 하는데 다음과 같이 하십시오:

#!/bin/bash
export DISPLAY=":0"
gedit

그런 다음

at now + 1 minute -f test.sh

나를 위해 일해Ubuntu 14.04.1 LTS

관련 정보