2016-08-12 3 views
0

subprocess.pOpen()モジュールを使用して、FirefoxとVLCプレーヤーの2つのGUIプログラムを実行して操作するPythonスクリプトを書きました。私はデスクトップモードでUbuntu 14.04 LTSオペレーティングシステムを使用しています。UbuntuはFirefoxを使用しているシステム起動時にPythonスクリプトを実行します

私の問題は、システムが起動してスクリプトが実行されているのにFirefoxまたはVLCが起動していないときに、そのPythonスクリプトを実行しようとするときです。

これまでのところ、私はPythonスクリプトを実行するためにシェルスクリプトを作ってからcrontab@reboot /home/user/startup.shを使ってPythonスクリプトを実行しようとしました。私は使用しているすべてのスクリプトに対してすべての権限を設定します。私はユーザーのルートパーミッションを与えて、すべてがそれでOKです。

また、/etc/rc.localファイルにコマンド"sudo python /path/to/my/script.py"を置いてスクリプトを実行しようとしましたが、それも助けにはなりません。

.desktopファイルを使用している人が見つかりましたが、それらは~/.config/autostart/ディレクトリに置かれましたが、失敗しました。

[Desktop Entry] 
Type=Application 
Exec="sudo python /home/user/path_to_my_script/my_script.py" 
X-GNOME-Autostart-enabled=true 
Name=screensplayer 
Comment=screensplayer 

そして、私は~/.config/autostart/ディレクトリにprogram.desktopとしてこれを保存したが、それは動作しません:私が書いたものの一例。私はこれを修正する方法があると確信していますが、方法はわかりません。どんな助けもありがとう!

答えて

0

私の問題が見つかりました。あなたはこのようにpythonでpOpenでコマンドを実行しているとき:それはので、私はそれを削除し、「sudo」という言葉のアプリケーションを実行されません

FNULL = open(os.devnull, 'w') 
_FIREFOX_START = ["sudo", "firefox", "test.com/index.html"] 
subprocess.Popen(self._FIREFOX_START, stdout=self.FNULL, stderr=subprocess.STDOUT) 

、それが働きました。

また、端末内のgnome-セッションのプロパティを実行して、新しいスタートアップアプリケーションを追加し、あなたはこのように、sudoをせずにPythonスクリプトを実行する必要があることに注意してください:

python /home/user/path_to_script/script.py 

はまた、私は私のユーザーroot権限を付与念頭に置いてkepp。

関連する問題