关于mobaxterm:MobaXterm-中X11forwarding问题

21次阅读

共计 2088 个字符,预计需要花费 6 分钟才能阅读完成。

MobaXterm 中 X11-forwarding 问题

  • 我的环境:

    . host: win11
    . hypervisor: virtualbox
    . vm: centos8
    . terminal: mobaXterm
    在 mobaXterm 中新建 ssh session,连贯 vm,默认用户 vagrant。
  • 问题背景:
    我须要利用 xclip 以便在 tmux 下 cope-mode 下拷贝的内容能够发送到 host 的 clipboard,从而能够在 host 中的 notepad++ 等编辑器中粘贴应用。
  • 问题景象:
    在我的 mobaXterm ssh session 中 xclip、xeyes 等不 work,报错如下。

       ┌────────────────────────────────────────────────────────────────────┐
       │                        • MobaXterm 20.6 •                          │
       │            (SSH client, X-server and networking tools)             │
       │                                                                    │
       │ ➤ SSH session to vagrant@192.168.xx.xx                              │
       │   • SSH compression : ✔                                            │
       │   • SSH-browser     : ✔                                            │
       │   • X11-forwarding  : ✘  (disabled or not supported by server)     │
       │   • DISPLAY         : 192.168.a.b:0.0                            │
       │                                                                    │
       │ ➤ For more info, ctrl+click on help or visit our website           │
       └────────────────────────────────────────────────────────────────────┘
    
    [vagrant@dw1-cn ~]$ pwd
    [vagrant@dw1-cn ~]$ su
    Password:
    [root@dw1-cn vagrant]# xclip
    Error: Can't open display: (null)
    [root@dw1-cn vagrant]# xeyes
    Error: Can't open display:
  • X11 介绍:
    X11 指的是 X 协定的第 11 个版本,这个协定是 Linux 操作系统下图形用户界面(GUI)的规范。它是由 X server 和 X client 组成的,X server 次要治理显示相干的硬件设置并负责屏幕画面的绘制与显示,以及将输出设置的动作告知 X client,而 X client 次要负责事件的解决即程序的逻辑。

    X11-forwarding 则是指通过反对 X Server 的 SSH 客户端,如 MobaXterm,连贯到近程 Linux 服务器后,能够在本地通过 MobaXterm 运行操作一个近程 Linux 服务器上有图形界面的程序。简略来说,X11-forwarding 就是将近程服务器上的图形界面操作和显示传递到本地,使得用户能够在本地看到并操作近程服务器上的图形界面。

  • 问题起因:
    而 xclip、xeyes 等是通过 X11-forwarding 来实现。而 vm 的 centos 零碎中短少了 xauth,导致 X11-forwarding 无奈开启。

排查过程

  • 查看 sshd 配置:

    vi /etc/ssh/sshd_config
    X11Forwarding yes
  • 重启 sshd:

    sudo systemctl restart sshd
  • 查看 mobaXterm 中 x11-forwarding 设置:

    须要勾选
    settings->configuration->ssh->x11-forwarding
  • 查看 xauth 是否装置:

    yum install xauth
  • xauth 装置后,.Xauthority 缺失问题:

    mobaXterm 再次登录后,依然可能 报错
    /usr/bin/xauth:  file /home/vagrant/.Xauthority does not exist

    解决办法:创立.Xauthority

    [vagrant@dw1-cn ~]$ touch /home/vagrant/.Xauthority
    [vagrant@dw1-cn ~]$ chown vagrant:vagrant /home/vagrant/.Xauthority
  • .Xauthority 配置后,nest 登录的用户 xclip 不 work 问题 :
    测试 xeyes,ssh 登录的用户、root 是 ok 的,然而其它用户不 ok

    ###### vagrant ok
    [vagrant@dw1-cn ~]$ echo $DISPLAY
    localhost:11.0
    [vagrant@dw1-cn ~]$ xeyes
    [vagrant@dw1-cn ~]$ su
    Password:
    
    ###### root ok
    [root@dw1-cn ~]$ xeyes
    [root@dw1-cn ~]# echo $DISPLAY
    localhost:11.0
    
    ###### gpadmin ng
    [root@dw1-cn ~]# su - gpadmin
    Last login: Tue Sep 26 07:45:11 UTC 2023 on pts/15
    
    [gpadmin@dw1-cn ~]$ xeyes
    Error: Can't open display:
    [gpadmin@dw1-cn ~]$ echo $DISPLAY
    
    [gpadmin@dw1-cn ~]$ logout
    
    

正文完
 0