问题前置条件
- ssh远程Ubuntu22.04服务器开发环境无异常
- x11转发环境已配置,xclock可正常运行于本地环境
- 可视化程序能够正常运行于Linux服务器
问题现象
除xclock等x11验证工具外,其他诸如python之类编写的可视化程序均无法透过X11转发至本地环境
问题原因及处理方案
由于Ubuntu22.04系统默认使用WAYAND而不是x11作为显示服务 ,因此需要在**~/.bashrc**中添加如下代码
(192.168.124.5是我的客户机局域网IP,你们自行按实际环境修改即可)
bash
# add environment varible to X11
export DISPLAY="192.168.124.5:0.0"
export WAYLAND_DISPLAY=$DISPLAY
其他
- 如果没有权限修改~/.bashrc,刚好编写的又是python可视化程序,可以用如下方式实现同样效果(就是麻烦了点,但是能凑合用)
bash
$ python3 practice.py --display=$DISPLAY
全网翻了一天博客发现都是复制粘贴来的,没想到是在x乎的一个评论区翻到了真正的答案,水帖害人呐