|
本帖最后由 Kamistry 于 2023-8-31 00:24 编辑
在Almalinux 9服务器上用snap安装molden后,发现本地可以正常运行,但是ssh连接时提示X11转发失败。
先说结论:用snap安装的程序无法直接获取到.Xauthority设置,需要在/etc/profile或者~/.bashrc中加入
- export XAUTHORITY=$HOME/.Xauthority
复制代码
X11转发失败的原因还有很多,这里简单整理如下,希望对大家有所帮助:
首先安装xorg-x11-xauth,对于RHEL8之前的系统只需要把dnf替换成yum
- sudo dnf install xorg-x11-xauth
复制代码 再确保X11Forwarding功能打开,在/etc/ssh/sshd_config文件中找到或加入
重启sshd
- sudo systemctl restart sshd
复制代码 这时可能就已经解决问题了。如果还是不行可以在本地命令行输入
- 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文件修改一行或者多行
- X11DisplayOffset 10
- X11UseLocalhost yes
复制代码 并重启sshd。
如果某些用户可以正常使用,某些不行,可以先确认.Xauthority文件存在且所属和权限正确。
- sudo cp /home/user1/.Xauthority ~/.Xauthority #若不存在可以先复制或者由系统自动生成
- chown user:usergroup ~/.Xauthority #替换为自己的用户名和用户组
- 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的方法:
若snap未安装则需要先安装snap:(以Almalinux 9为例,对于RHEL8之前的系统只需要把dnf替换成yum,其他系统可以参考https://snapcraft.io/molden)
- sudo dnf install epel-release
- sudo dnf install snapd
- sudo systemctl enable --now snapd.socket
- sudo ln -s /var/lib/snapd/snap /snap
复制代码
不使用snap也可以直接在https://ftp.science.ru.nl/Molden/下载Molden
|
评分 Rate
-
查看全部评分 View all ratings
|