2016-09-07 17 views
1

システム起動時にLinux端末、ブラウザ、ファイルマネージャ、テキストエディタを開くPythonスクリプトがあります。私はcrontabが自動的にスクリプトを実行するのに適した方法だと決めました。残念ながら、うまくいきませんでした。ノートパソコンを再起動しても何も起こりませんでした。だから、手がかりを得るために、スクリプトの出力をファイルにキャプチャしました。私のスクリプトは部分的にしか実行されていないようです。私はDebianの8(ジェシー)を使用して、ここに私のPythonスクリプトです:システム起動時にcrontabを使ってPythonスクリプトを正しく実行する方法

#!/usr/bin/env python3 

import subprocess 
import webbrowser 

def action(): 
    subprocess.call('gnome-terminal') 
    subprocess.call('subl') 
    subprocess.call(('xdg-open', '/home/fin/Documents/Learning')) 
    webbrowser.open('https://reddit.com/r/python') 

if __name__ == '__main__': 
    action() 

ここに私のcrontabファイル内のエントリです:

@reboot python3 /home/fin/Labs/my-cheatcodes/src/dsktp_startup_script/dsktp_startup_script.py > capture_report.txt 

ここcapture_report.txtファイルの内容だが(私はいくつかの行はトリム、 。その長すぎるため、それだけで私のフォルダ構造を印刷し、それはPythonスクリプトの「xdg-open」行)から来たように思える:

Directory list of /home/fin/Documents/Learning/ 

        Type  Format  Sort 
        [Tree ] [Standard] [By Name] [Update] 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
/ 
... the rest of my dir stuctures goes here 

私は、pは何他の手掛かりを持っていませんここで間違っているossible。私は本当にあなたのアドバイス人に感謝します。ありがとう。

答えて

1

いいえ、cronはこれには適していません。 cronデーモンはユーザーのデスクトップセッションに接続していませんが、システムの起動時には実行されません。

ログインするときにさまざまなデスクトップサービスを開始する責任があるデスクトップ環境のログインスクリプトに接続することをお勧めします。とにかく、独自のスクリプトで簡単に拡張できます。

+0

ありがとうございます。これは私の問題を解決:) – under5hell

関連する問題