使用 sudo (root用户) 无法使用 X11 转发的问题: X11 connection rejected because of wrong authentication.

由于要远程使用Mininet,而 mininet 是超级用户 sudo 的权限,X11 权限设置里只能用普通用户,所以无法在 niminet 里使用 xterm。

简单点说,使用 X11 转发进行 ssh 连接,普通用户使用 GUI 界面,例如 xterm 时,没有问题。

但是如果加上 sudo xterm,就报权限错误了。

wu@wu-ubuntu:~$ sudo xterm
X11 connection rejected because of wrong authentication.
Warning: This program is an suid-root program or is being run by the root user.
The full text of the error or warning message cannot be safely formatted
in this environment. You may get a more descriptive message by running the
program as a non-root user or by removing the suid bit on the executable.
xterm: Xt error: Can't open display: %s

因为 X11 连接属于连接到远程 SSH 服务器时用来登录的用户,而不是 root 用户,在 Linux 中不被允许。

查了几个小时资料,终于解决了,参考这篇博客。

需要添加到 Xauthority,运行以下命令:[wu]改为自己的用户名。

sudo xauth add $(xauth -f ~[wu]/.Xauthority list|tail -1)

然后 root 用户也能进行 X11 转发了。

不过这个方法,每次重启终端都需要输入一次。

你可能感兴趣的:(踩坑,ssh,ubuntu,x11)