计算化学公社

标题: 解决ssh连接服务器运行molden时X11转发失败的问题 [打印本页]

作者
Author:
Kamistry    时间: 2023-8-31 00:22
标题: 解决ssh连接服务器运行molden时X11转发失败的问题
本帖最后由 Kamistry 于 2023-8-31 00:24 编辑

在Almalinux 9服务器上用snap安装molden后,发现本地可以正常运行,但是ssh连接时提示X11转发失败。
先说结论:用snap安装的程序无法直接获取到.Xauthority设置,需要在/etc/profile或者~/.bashrc中加入
  1. export XAUTHORITY=$HOME/.Xauthority
复制代码


X11转发失败的原因还有很多,这里简单整理如下,希望对大家有所帮助:
首先安装xorg-x11-xauth,对于RHEL8之前的系统只需要把dnf替换成yum
  1. sudo dnf install xorg-x11-xauth
复制代码
再确保X11Forwarding功能打开,在/etc/ssh/sshd_config文件中找到或加入
  1. X11Forwarding yes
复制代码
重启sshd
  1. sudo systemctl restart sshd
复制代码
这时可能就已经解决问题了。如果还是不行可以在本地命令行输入
  1. ssh -v -Y username@xxx.xxx.xxx.xxx
复制代码
以显示调试信息。
若提示X11 forwarding requested but DISPLAY not set,说明可能未安装Xserver或者需要先设置DISPLAY环境变量。
若提示X11 connection rejected because of wrong authentication.则可以先尝试上面的方法。
如果问题未能解决,试着在/etc/ssh/sshd_config文件修改一行或者多行
  1. X11DisplayOffset 10
  2. X11UseLocalhost yes
复制代码
并重启sshd。

如果某些用户可以正常使用,某些不行,可以先确认.Xauthority文件存在且所属和权限正确。
  1. sudo cp /home/user1/.Xauthority ~/.Xauthority #若不存在可以先复制或者由系统自动生成
  2. chown user:usergroup ~/.Xauthority #替换为自己的用户名和用户组
  3. chmod 600 ~/.Xauthority
复制代码
还有的方法提到可以尝试用其他可以使用x11转发的用户执行xauth list ,再切换回来用xauth add命令把list的结果加入自己的xauth。

参考
display - Cannot connect to X Server when running app with sudo - Ask Ubuntu
X11 connection rejected because of wrong authentication 解决_Edison徐的博客-CSDN博客
如何在Linux服务器中使用SSH配置X11转发 - A5数据 (a5idc.com)


顺便分享一下snap安装molden的方法:
  1. sudo snap install molden
复制代码

若snap未安装则需要先安装snap:(以Almalinux 9为例,对于RHEL8之前的系统只需要把dnf替换成yum,其他系统可以参考https://snapcraft.io/molden
  1. sudo dnf install epel-release
  2. sudo dnf install snapd
  3. sudo systemctl enable --now snapd.socket
  4. sudo ln -s /var/lib/snapd/snap /snap
复制代码

不使用snap也可以直接在https://ftp.science.ru.nl/Molden/下载Molden





欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3