在远程主机上运行的tigervnc会话中,启动了XFCE,对于某些应用程序,我确实有一个奇怪的呈现问题。
从屏幕截图中可以看到,虽然应用程序正确地显示其内容(例如,文件浏览器、visual代码、.),但matlab窗口没有显示其内容。我相信这是一个与not相关的问题,因为如果我在同一台主机上通过"ssh -X“会话运行matlab,就会正确地显示它。
这可能是相关的,我也看到了在触发pyplot.show()时使用matplotlib进行渲染的问题,图像是透明的,我们看到要显示的图像与桌面背景图像混合在一起。

如果有必要,xstartup脚本是
#!/bin/sh
# Start Xfce4 Desktop
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session xfce4-session &并且and服务器使用vncserver -SecurityTypes None -depth 32 -geometry 1680x1050 -cleanstale运行。
非常感谢你的帮助
发布于 2021-07-18 23:17:03
VNC服务器通常只使用X11的屏幕抓取功能来获取屏幕上显示的当前图片,然后将其压缩并发送给您。
如果X11不知道屏幕内容,这是在硬件上使用OpenGL加速程序的标准,这是行不通的。你的Matlab就是这么做的。如果您通过ssh -X运行它,硬件加速将被禁用,您将获得像素(但速度要慢得多)。
我甚至不确定Matlab没有检测到这种模式,只是为了惹恼那些为整个公司购买一个matlab许可证并在VNC服务器上运行它的人。
https://unix.stackexchange.com/questions/658901
复制相似问题