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

2024-09-30 16:32:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写了python脚本,它使用subprocess.pOpen()模块来运行和操作两个GUI程序:Firefox和vlcplayer。我在桌面模式下使用Ubuntu14.04LTS操作系统。在

我的问题是,当我试图在系统启动时运行那个python脚本时,脚本正在运行,但Firefox或VLC不能启动。在

到目前为止,我尝试使用shell脚本来运行python脚本,然后使用crontab和{}来执行python脚本。我为正在使用的每个脚本设置所有权限。我给了我的用户根权限,所以一切正常。在

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

我在google上找到了一些人使用.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/目录中,但它不起作用。我肯定有办法解决这个问题,但不知道怎么解决。任何帮助都将不胜感激!在


Tags: 文件topathpy目录脚本config权限
1条回答
网友
1楼 · 发布于 2024-09-30 16:32:04

找到了解决我问题的办法。在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会话属性并添加新的启动应用程序,请注意,您必须在没有sudo的情况下执行python脚本,如下所示:

^{pr2}$

另外,我授予了我的用户root权限,所以请记住这一点。在

相关问题 更多 >