我正在尝试在Raspberry Pi上运行gparted。使用ssh -X pi@pi登录并尝试运行sudo gparted后,出现错误消息...

由于身份验证错误而拒绝了X11连接。显示,表示xauth文件丢失。使X11转发工作最简单的方法是什么?

编辑:我从下面尝试了建议,但是第一步已经失败了: #xauth列表$ DISPLAY
xauth:文件/root/.Xauthority不存在

如何生成此文件?

评论

实际上是否有X会话将远程会话转发到?你不是在腻子里这样做吗?!

#1 楼

一种方便的方法是改用gksudo命令。 (来自debian软件包“ gksu”)。

评论


是的,这可能是一个更好,更简单的解决方案。

–活动
2012年8月26日10:44

我尝试使用xauth和类似的东西解决方案,但这是唯一对我有效的解决方案!

– Hiura
16-10-17在9:02

#2 楼

问题是超级用户的X会话不知道cookie是什么。

登录到Pi后,执行以下操作:

$ xauth list $DISPLAY 


这样会打印出cookie,如下所示: br << /> X-forwarding现在应该可以用于root了。

评论


您可以传递给sudo一个参数吗?

–亚历山大·张伯伦
2012年8月25日在21:33

@AlexChamberlain我不知道。

–活动
2012年8月26日上午10:43

不幸的是,这不起作用。在原始文章中查看我的编辑。

– Eekhoorn
2012年8月26日16:46



@zenbomb看来您以root身份运行xauth列表,这当然会失败。您要列出用户的cookie并将其添加为root。

– XTL
2012年8月27日在6:41

xauth merge比后跟xauth add的xauth list更方便。

–琼·瓦特(Jon Watte)
17-10-27在0:45

#3 楼

所以我遇到了同样的错误:
xauth: file /root/.Xauthority does not exist

尝试使用(仅作为示例)将cookie添加到根帐户中时,
xauth add pi:10 mit-magic-cookie-1 4d22408aga55sad1ccd165723g77923ae 

我通过创建丢失的/root/.Xauthority文件解决了此问题(以root用户身份登录):
touch /root/.Xauthority

命令touch创建一个空文件。希望对您有所帮助。

#4 楼

解决方案:

1。 ssh mitter @ host'

2。 $ sudo su

3。 #xauth merge /home/mitter/.Xauthority

配置$ DISPLAY变量(如果未配置)。

评论


什么是密友?

–史蒂夫·罗比拉德(Steve Robillard)
2015年10月6日,18:53

“ mitter”是他的特定用户名。要合并的用户名取决于您正在运行的系统以及最初登录的用户。在Raspberry Pi上,默认用户名是“ pi”。在许多Ubuntu安装中,默认用户名是“ ubuntu”。

–琼·瓦特(Jon Watte)
17-10-27在0:44

#5 楼

我使用符号链接对其进行了修复:

ln -s /home/[my username]/.Xauthority /root/.Xauthority


评论


馊主意。如果您将根帐户与X一起使用,则会对[用户名]产生权限问题。

–金锁♦
2015年10月9日在17:41



#6 楼

我只是将.Xauthority从/ home / user cp到/ root

评论


这在官方上是不受欢迎的,因为它会养成不良习惯,使您在多用户计算机上遇到麻烦。在单用户计算机上的工作方式就像对待。

–躲藏
2014-12-26 12:51