我无法从 sudoed python 脚本运行 firefox,该脚本将权限授予普通用户。如果我写
$须藤蟒蛇
>>> 导入操作系统
>>> 导入密码,grp
>>> uid = pwd.getpwnam('norby')[2]
>>> gid = grp.getgrnam('norby')[2]
>>> os.setegid(gid)
>>> os.seteuid(uid)
>>> 导入浏览器
>>> webbrowser.get('firefox').open('www.google.it')
真的
>>> # 它返回 true 但不起作用
>>> 从子流程导入 Popen,PIPE
>>> p = Popen('firefox www.google.it', shell=True,stdout=PIPE,stderr=PIPE)
>>> # 不执行命令
>>> 你不应该在没有 -H 选项的情况下通过 sudo 运行 Iceweasel。
继续,就好像您使用了 -H 选项一样。
未指定协议
错误:无法打开显示::0
我认为这不是 python 问题,而是 firefox/iceweasel/debian 配置问题。也许firefox只读取UID而不是EUID,并且不执行进程,因为UID等于0。你怎么看?