关于mobaxterm:MobaXterm-中X11forwarding问题

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
    
    

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理