at
등을 포함한 Linux 스케줄링 명령을 배우고 있습니다. 이 명령을 통해 x분 후에 시작하려고 합니다. 이것이 내가 가진 것입니다:cron
sleep
gedit
at
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
, xcalc
등 xfce4-terminal
) 중 어느 것도 이 방법으로 시작할 수 없습니다 at
.
이상한 점은 ./s.sh
bash에서 실행 하면 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