出于安全原因,我想使用不同的(低权限)帐户运行 Firefox。我原以为只需设置用户然后使用 运行即可gksudo
,但似乎还有更多操作。我做错了什么?
tkn@tkn-desktop-ubuntu $ sudo useradd tkn-firefox
tkn@tkn-desktop-ubuntu $ gksudo -u tkn-firefox firefox
No protocol specifiedError: cannot open display: :0.0
我猜测用户由于某种原因无法访问 X11,但不应该gksudo
这样做吗?
答案1
使用“ xhost +
”是一个坏习惯。如果您在使用 X11 时遇到问题并且出现“无法打开显示 ??:?”,请使用xauth
来交换 cookie 并DISPLAY
在新环境中设置变量。
在这种情况下,我在 Ubuntu 9.04 上成功完成了gksu
这项繁重的工作。(在我添加了 之前它对我来说不起作用--su-mode
)
$ gksu --su-mode -u tkn-firefox firefox
它确实吐出了一条关于“ Warning: Tried to connect to session manager, None of the authentication protocols specified are supported
”的消息,但它似乎以其他方式起作用。
答案2
我发现我必须执行“xhost +”(如果您的网络上还有更多潜在的 X 客户端,请更具选择性)并且不“su -”,只是“su”。我还没有真正想过为什么会这样,但对我来说没问题。