2017-04-15 69 views
0

嘗試啓動後自動啓動python腳本。我想在終端窗口中啓動它,因爲該程序在終端中提供了重要的反饋。cron在終端窗口中啓動python腳本

我已經研究了很多方法可以做到這一點包括crontab中,的init.d,rc.local中,並/etc/xdg/autostart/myscript.desktop

當我測試我的腳本(RC。本地)手動,從終端調用rc.local - 它的工作,但是這些工作後都沒有工作。

我已經嘗試了許多變化,最新的crontab中:

@reboot sleep 60 && xterm -hold -e sudo python /home/pi/newcode/newcode/boot-test.py 

我試過其他的變化包括:(調用一個shell腳本我的Python腳本):

@reboot sleep 60 && /home/pi/bin/mount.sh && sh /home/pi/foo1.sh 

@reboot sleep 60 && /home/pi/bin/mount.sh && sh /home/pi/foo1.sh 

我真的很感謝任何幫助

更新

foo1.desktop(保存是/ usr/local/bin目錄/ foo1):

[Desktop Entry] 
... 
Name=foo1 
Exec=gksu /usr/local/bin/foo1 
Terminal=false 
Type=Application 
Categories=GTK;System;TerminalEmulator; 

foo1(保存在/etc/xdg/autostart/foo1.desktop):

#!/bin/bash 
/usr/bin/x-terminal-emulator --command="/home/pi/newcode/newcode/boot-test.py" --title="My foo1" 

python腳本,現在很簡單(保存在/home/pi/newcode/newcode/boot-test.py)

sensortype=raw_input("press enter to continue") 
+0

你真的需要打印到控制檯嗎?難道你不能只輸出到日誌文件,然後在必要時尾部輸出日誌文件? –

+0

也許我沒有,也許我真的想這樣做,因爲它給我一個很難,我想看到它的工作。我不認爲這會很難。我也讀過許多其他人的帖子,試圖做到這一點,一些成功... – user3808752

+0

刪除'... ...,這些只是佔位符。與來自'/ use/share/application'目錄的完整示例進行比較。仔細檢查您保存的位置,將您的位置交換至我的答案。在路徑前添加'python'到你的'* .py'。與我的答案進行比較。相應地編輯你的問題。 – stovfl

回答

0

評論
1名爲foo1.desktop?
2.名爲foo1.sh?
3.是否需要使foo1.sh可執行?

  1. 是,必須命名爲*的.desktop
  2. 如果使用* .SH,在*的.desktop有條目等於
    Exec=gksu /usr/local/bin/foo1.sh
  3. 是,一擊腳本必須使可執行文件。

問題:我已經測試我的腳本(rc.local中)手動

不要使用etc/rc.local,它的執行年初X11


/etc/xdg/autostart例如:

  1. 至少包含以下內容創建一個foo1.desktop

[桌面入口]
...
名稱= foo1
Exec = gksu/usr/local/bin/foo1
Terminal = false
Type = Application
Categories = GTK; System; TerminalEmulator;

  • 複印foo1.desktop/etc/xdg/autostart創建鏈接到foo1.desktop

  • 具有以下內容創建/usr/local/bin/foo1

  • #/斌/慶典
    在/ usr/bin中/ X-終端模擬器的--command = 「蟒蛇path_to_your _ * PY。」 --title = 「我foo1」

  • /usr/local/bin/foo1,可執行文件。
  • +0

    @stovfi:當我嘗試etc/rc.local時,我嘗試延遲調用我的腳本與不同長度的睡眠,但從來沒有奏效。一些後續問題: 1.被命名爲foo1.desktop? 2.名爲foo1.sh? 3.是否需要使foo1.sh可執行? – user3808752

    +0

    沒有運氣,沒有推出 – user3808752

    +0

    還是不行,我的foo1.desktop scrpit:[link](https://pastebin.com/nCdBag5k),我的foo1腳本:[link](https://pastebin.com/FKWdHdvk)和我的boot-test.py scrpit:[鏈接](https://pastebin.com/fuQJfjQ9) – user3808752

    0

    嘗試多種變化是:工作的腳本後包含以下內容:

    #!/bin/bash 
    /usr/bin/x-terminal-emulator -hold -e sudo python /home/pi/newcode/newcode/hms2-v2.6.py 
    

    使腳本可執行做到以下幾點也是必要的:

    sudo chmod 755 /etc/xdg/autostart/foo1.desktop 
    

    我從來沒有得到的cron或init .d上班