需要 ~/.Xauthority 但缺失

需要 ~/.Xauthority 但缺失

我现在遇到了两次收到错误的情况,因为该~/.Xauthority文件是必需的,但我的用户文件夹中缺少该文件。我了解到该.Xauthority文件已被弃用,并且该功能已移至:

/var/run/gdm/auth-for-<USER>-<RANDOM_CHARACTERS>/database`

我尝试了如何创建 .Xauthority 文件?$XAUTHORITY。这表明我在启动时从到创建一个符号链接~/.Xauthority。但这种方法对我来说不起作用。我也尝试在终端中运行该命令及其变体,但没有成功。我在 vmware 工作站 8 中运行 ubuntu server 11.10 64bit 的最小安装,上面有 xfce4。

错误,“无法复制用户的 Xauthorization 文件”,我现在已经收到两次了。第一次是在尝试从 Thunar 上下文菜单打开根终端时,使用“自定义操作”功能,使用命令gksu "xfce4-terminal -default-working-directory=%f"。第二次是在尝试安装 truecrypt 时,安装过程进行了几步后,出现了错误。

还有其他方法可以解决这个问题吗?而且,更根本的是,既然这个文件已被弃用,为什么应用程序仍然依赖它?既然如此,为什么在软件跟上之前不默认提供链接?我知道事情并不总是那么整洁,而且我可能遗漏了一些重要而基本的东西,所以请原谅我的无礼。

答案1

XAUTHORITYX cookie 文件的位置由环境变量 指示。~/.Xauthority当环境中不存在变量时,是 X cookie 文件的默认位置。 如果应用程序在存在~/.Xauthority时查找XAUTHORITY,则存在错误。ln -s "$XAUTHORITY" ~/.Xauthority但是应该可以工作¹。 如果它不工作,请告诉我们发生了什么:复制粘贴错误消息;或者,如果您没有收到错误消息,请告诉我们 的输出ls -l "$XAUTHORITY" ~/.Xauthority

请注意,当您以 root 身份通过 运行命令时sudoXAUTHORITY变量将从环境中删除。您应避免以 root 身份运行命令。例如,不要gksu "xfce4-terminal"以 root 身份运行终端仿真器。如果您确实想以 root 身份运行 shell,请打开普通终端并sudo -s在其中运行。

¹除非您的主目录在多台 Linux 机器之间共享(通常通过 NFS)。

答案2

当我尝试使用 gksu 启动 GUI 应用程序时出现了同样的错误消息。

我刚刚发现你可以注销,然后在 Xorg 会话中选择 Ubuntu。这样就好了。

完成后,我可以使用 gksu 打开 GUI 程序。

我希望这能解决你的问题。

相关内容