编程技术分享平台

网站首页 > 技术教程 正文

利用X11Forwarding远程输出Linux服务器GUI程序界面到本地显示

xnh888 2025-06-15 20:07:04 技术教程 2 ℃ 0 评论

利用X11Forwarding远程输出Linux服务器GUI程序界面到本地显示。

很多情况下Linux服务器出于性能和效率等方面的考虑,没有安装图形化界面。因此,有时需要在服务器上运行有界面的程序时非常不方便,比如需要图形界面的安装程序。X11Forwarding机制能解决这个问题。(X11指的是X协议,第11个版本)

举例:例如我的客户端机器是Ubuntu,远程服务器是红帽系Linux。客户端能直接连接到服务器上的opc用户,但图形界面程序需要在oracle用户下执行,那么如何将oracle用户下执行的图形界面输出到我本地的Ubuntu机器?

首先,服务器端安装xauth,并配置sshd:

安装xauth:

# yum install xauth (如果提示其它依赖需要安装,则按提示安装即可)

# vi /etc/ssh/sshd_config (编辑sshd配置文件,确保如下选项的值类似以下):

X11Forwarding yes

X11UseLocalhost no

# systemctl restart sshd (重启sshd)

其次,客户端Ubuntu机器用ssh -X连接到服务器opc用户:

# ssh -i id_rsa -X opc@<ip address>

最后,配置XAuth Cookie,并设置好DISPLAY参数的值:

[opc@customer-poc-ebsclone ~]$ xauth list $DISPLAY
customer-poc-ebsclone.regionalpublics.hysunhevcn.oraclevcn.com:10 MIT-MAGIC-COOKIE-1 06332873951d3e793cd0d9a35c7a2daf
[opc@customer-poc-ebsclone ~]$ echo $DISPLAY
192.168.3.22:10.0

切换到oracle用户 (sudo su - oracle)

  • 增加 XAuth COOKIE (上面xauth list出来的值)
xauth add customer-poc-ebsclone.regionalpublics.hysunhevcn.oraclevcn.com:10 MIT-MAGIC-COOKIE-1 06332873951d3e793cd0d9a35c7a2daf
  • 设置DISPLAY参数(上面echo $DISPLAY 出来的值)。
export DISPLAY=192.168.3.22:10.0

配置完毕,在服务器端oracle用户下运行一个图形界面程序,界面就输出到了本地Ubuntu客户机了。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表