为 X-11 转发编写 bash 脚本

Bru*_*uce 3 unix bash

我在使用 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 脚本来自动化这个?

evi*_*tto 5

你根本不需要脚本;这只是一个命令。

sudo xauth add `xauth list $DISPLAY`
Run Code Online (Sandbox Code Playgroud)

  • 我收到 `xauth: (argv):1: bad "add" command line` 和 `xauth list ${DISPLAY#localhost}` 没有显示任何内容,我该怎么办? (2认同)

小智 5

在 RHEL6 上工作的一件事是在执行 sudo 之前导出 XAUTHORITY 变量,例如:

export XAUTHORITY=~/.Xauthority
sudo xclock
Run Code Online (Sandbox Code Playgroud)