Ubuntu在使用Firefox

时间:2016-08-12 07:58:08

标签: python linux shell ubuntu firefox

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

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

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

我还尝试在"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

我在program.desktop目录中将其保存为~/.config/autostart/,但它不起作用。我确信有办法解决这个问题,但不知道如何解决。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

找到我的问题的解决方案。当您在python中运行pOpen命令时,如下所示:

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-session-properties并添加新的启动应用程序,请注意你必须执行没有sudo的python脚本,如下所示:

python /home/user/path_to_script/script.py

另外,我授予用户root权限,以便记住这一点。