2014-07-24 3 views
1

다음과 같이 작동하는 데 문제가 있습니다. bash는 스크립트가 나는 또한 실행 파일을 만들기 위해 파일에 chmod를의 X를 수행 한(linux) 지연 후 스크립트를 실행하는 bash 스크립트

#!/bin/bash 

/bin/sleep 60 && /usr/bin/python /home/pi/foo.py 

다음 포함 된 실행

@reboot /home/pi/bash_script 

을 다음과 같이 내가 다시 부팅 cron 작업을 추가했습니다.

하지만 작동하지 않는 것 같습니다. 누구든지 내 스크립트에서 오류를 인식하거나 취할 수있는 문제 해결 단계를 제안 할 수 있습니까?

내가

Traceback (most recent call last): 
    File "/home/pi/foo.py", line 70, in <module> 
    main() 
    File "/home/pi/foo.py", line 65, in main 
    root = tk.Tk() 
    File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1712, in __init__ 
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sy$ 
_tkinter.TclError: no display name and no $DISPLAY environment variable 
+0

인가 :

#!/bin/bash exec bash -l -c '/bin/sleep 60 && /usr/bin/python /home/pi/foo.py' 

아니면 crontab 명령으로

? 스크립트가 실행될 때'/ home/pi/foo.py'가 존재합니까? ('/ home'은 마운트 되었습니까?'/ home'이 루트 파일 시스템의 일부일 경우 이것은 무관 ​​할 수 있습니다.)'set -x; '/ bin/sleep' 라인 앞에 exec 2>/tmp/pi-bash. $$'를 입력하십시오. 그것을 실행하십시오; 파일'/ tmp/pi-bash.NNNN' (N은 숫자)을 찾아 무엇이 있는지를 확인하십시오. Python 스크립트는 설정되지 않은 환경 변수 또는 실행되는 컨텍스트에서 다르게 설정되는 환경 변수에 의존합니까? 추적 코드에'env> & 2'를 추가하여 환경을 침범 할 수 있습니다. –

+0

_syslog_에보고 된 것이 있습니까? –

+0

감사합니다 위의 시도합니다. LXTerminal에서 직접 bash 스크립트를 실행하면 Python 스크립트가 실행되고 GUI가 작성된다. –

답변

0

시도 대신 스크립트에서이를 얻을 오류 로그입니다. 그것이 실패한 것 배쉬 스크립트 나 파이썬

/bin/bash -l -c '/bin/sleep 60 && /usr/bin/python /home/pi/foo.py' 
+0

감사합니다, 시도합니다. #!/bin/bash 또는 #!/bin/sh를 사용하면 문제가되지 않습니까? 또한 cron 작업을 편집 할 때 sudo를 사용합니까? –

+0

@eco_bach 필요한 경우 사용자 'pi' 예. – konsolebox

+0

아직 시가가 없으므로 두 가지 옵션을 모두 사용해 보았습니다 ... 내 다음 단계에 대해서는 재부팅시 cron 작업이 올바르게 실행되도록 테스트해야한다고 생각합니다. –

관련 문제