我在使用 sudo 时遇到了 SSH X-11 转发问题。我找到了解决方案。
$hostname
server4.a.b.edu
Run Code Online (Sandbox Code Playgroud)
首先我做:
$ echo $DISPLAY
localhost:10.0
Run Code Online (Sandbox Code Playgroud)
然后
$ xauth list
server1.a.b.edu/unix:12 MIT-MAGIC-COOKIE-1 6026864294a0e081ac452e8740bcd0fe
server4.a.b.edu/unix:10 MIT-MAGIC-COOKIE-1 f01fbfe0c0d68e30b45afe3829b27e58
Run Code Online (Sandbox Code Playgroud)
然后我需要做
$ sudo xauth add server4.a.b.edu/unix:10 MIT-MAGIC-COOKIE-1 f01fbfe0c0d68e30b45afe3829b27e58
Run Code Online (Sandbox Code Playgroud)
为了 sudo 工作,为了使用我的服务器名称和显示的 cookie。
我如何编写一个 bash 脚本来自动化这个?
你根本不需要脚本;这只是一个命令。
sudo xauth add `xauth list $DISPLAY`
Run Code Online (Sandbox Code Playgroud)
小智 5
在 RHEL6 上工作的一件事是在执行 sudo 之前导出 XAUTHORITY 变量,例如:
export XAUTHORITY=~/.Xauthority
sudo xclock
Run Code Online (Sandbox Code Playgroud)