Ubuntu在使用Firefox的系统启动时运行python脚本

问题描述:

我编写了python脚本,它使用subprocess.pOpen()模块来运行和操作2个GUI程序:Firefox和VLC播放器。我在桌面模式下使用Ubuntu 14.04 LTS操作系统。Ubuntu在使用Firefox的系统启动时运行python脚本

我的问题是,当我尝试在系统启动时运行该python脚本时,脚本正在运行但Firefox或VLC无法启动。

到目前为止,我试图让shell脚本运行我的python脚本,然后用crontab@reboot /home/user/startup.sh来执行我的python脚本。我为每个正在使用的脚本设置了所有权限。我给了我的用户root权限,所以一切都OK了。

我也试图运行我的脚本把命令"sudo python /path/to/my/script.py"/etc/rc.local文件,但这也没有帮助。

我搜索了一下,发现有人使用.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但它不工作。我相信有一种方法可以解决这个问题,但不知道如何。任何帮助将不胜感激!

找到解决我的问题。当你与pOpen在Python这样的运行命令:

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

它不会运行,因为“sudo”字,当我删除它的应用程序,它的工作。

同样运行在终端的gnome-会话属性,并添加新的启动应用程序,要知道,你有没有sudo来执行python脚本,这样的:

python /home/user/path_to_script/script.py 

另外,我给予我的用户root特权,因此Kepp认为。