Bash 识别X服务器计算机
假设我们在一个远程bash会话中使用工作X转发(ssh-X)someone@remote还是ssh-Ysomeone@remote). 我想知道是否有一种可编写脚本的方法,可以通过使用标准工具(应该适用于大多数默认的posix安装)来识别运行X服务器的机器 我有一个bash脚本,它需要知道它是否与X服务器运行在同一台机器上,而X服务器将通过每个X客户端使用$DISPLAY进行连接 分析$DISPLAY是不够的。做“ssh-Y”user@localhost包含“localhost:10”和“ssh-Y”user@remote.machine$DISPLAY包含“localhost:10”Bash 识别X服务器计算机,bash,shell,ssh,x11-forwarding,Bash,Shell,Ssh,X11 Forwarding,假设我们在一个远程bash会话中使用工作X转发(ssh-X)someone@remote还是ssh-Ysomeone@remote). 我想知道是否有一种可编写脚本的方法,可以通过使用标准工具(应该适用于大多数默认的posix安装)来识别运行X服务器的机器 我有一个bash脚本,它需要知道它是否与X服务器运行在同一台机器上,而X服务器将通过每个X客户端使用$DISPLAY进行连接 分析$DISPLAY是不够的。做“ssh-Y”user@localhost包含“localhost:10”和“ssh
提前感谢bash变量
$HOSTNAME
可能合适。$HOSTNAME包含属于bash脚本的主机名。。。这是最简单的部分。。。应该与调用“hostname-s”相同。但我需要X服务器的名称。。。这可能完全不同。。。。e、 g.有3台机器(A、B、C)。我坐在一台对着屏幕的机器前。我有一个终端在运行bash。现在我做“ssh-X”crazzi@B". 现在,我的$HOSTNAME和'HOSTNAME-s'告诉我我在机器B上。由于X11正向是启用的,我的$DISPLAY看起来像“localhost:10”。但是我的X服务器仍然在机器A上。我知道这一点——但我怎么能在脚本中找到它呢……?我想它一定是类似于X客户端的东西——类似于“xprop”或“xrandr”的东西,它与X服务器通信并向X服务器询问主机名。“xprop-root”提供了我从未想到的一切(桌面名称、窗口标题、颜色定义等),但没有提供运行Xserver的机器的主机名。。。。