我最近在我的 Ubuntu 机器上安装了 Pidgin 和 OTR 插件。当我尝试生成密钥时,控制台中出现以下错误:
>> Could not write private key file
我认为普通用户可能没有执行该操作的权限,因此我切换到 root 用户。
然后,当我尝试生成 OTR 密钥时,一切都正常。
现在的问题是,每次我sudo pidgin
在控制台中运行时,我都看不到该程序的任何窗口。并且我在控制台中收到以下错误:
(Pidgin:12241): IBUS-WARNING **: The owner of /home/georgegks/.config/ibus/bus is not root!
总而言之,我有两个问题:
- 为什么我无法在普通用户账户上生成 OTR 密钥?
- 为什么当我以 root 身份运行 pidgin 时没有窗口弹出?
答案1
好的,我找到了。
安装gksu
sudo apt-get install gksu
gksu
然后使用而不是sudo
命令运行程序
gksu pidgin
解释:
基于Ubuntu 文档页面:
您永远不应该使用普通的 sudo 以 root 身份启动图形应用程序。您应该使用 gksudo(Kubuntu 上的 kdesudo)来运行此类程序。gksudo 设置 HOME=~root,并将 .Xauthority 复制到 tmp 目录。这可以防止您的主目录中的文件被 root 拥有。(据我所知,这就是使用 gksudo 与 sudo 启动进程的环境的所有特殊之处)。
因此,它gksu
基本上是 sudo 的图形前端,允许运行图形命令,而无需运行 X 终端仿真器并直接使用 su
参考:这个问题