当使用具有视觉效果的 XDMCP 在较旧的 Solaris 系统 (2.5.x) 上远程使用 CDE 时TrueColor
,屏幕上的像素图会丢失蓝色通道,并且会交换红色和绿色通道。
这意味着白色显示为黄色,绿色显示为红色,红色显示为绿色,蓝色显示为黑色等。
是否有一些 X 服务器设置可以用来覆盖此问题或解决此问题,或者与 Solaris 应用程序正在执行的任何操作兼容的备用 X 服务器?
这不会影响所有屏幕元素;窗口边框、文本标记的小部件(如菜单和按钮)根据默认的 CDE 配色方案进行着色,并具有其正常颜色。作为 xpm 图像的图标和其他视觉元素(例如 CDE 前面板的背景图案和元素)的颜色不正确,如上所述。此外,当我在图标编辑器 ( dticon
) 中打开 xpm 时,多色预览和放大的像素区域的颜色都不正确,但 2 色预览和调色板的颜色正确。
无论 XDMCP 客户端是 Windows 中的 Cygwin/X 或 Xming 还是 Debian 中的 Xorg,我都有同样的问题。
如果我在 Debian 中使用 Xorg -depth 8
(我猜它选择的是PseudoColor
视觉效果而不是TrueColour
),则颜色通道不会交换,并且颜色会按照 256 色模式中的预期显示,但是我宁愿拥有 24 位颜色支持并避免增加不便必须通过虚拟化运行 X 或将 Windows 切换到 256 色模式。
答案1
这个特殊问题——不要与更高版本中带有.im8
图像的类似问题(例如“欢迎来到 Solaris”启动屏幕上的图形)相混淆——是 Motif 的一个已知问题:
1255448: cde on Solaris x86 has yellow tinting problem with TrueColor default visual
允许更改默认视觉对象类的 X 服务器应该能够解决此问题。
Xorg 和 Xming 记录了一个选项:
-cc int default color visual class
然而,从( )-cc
传递PseudoColor
或其常量对 报告的默认视觉效果没有影响。X.h
3
xdpyinfo
或者,可以通过安装针对 Solaris 版本的相应 Motif 修补程序的修订版(例如 2.5 → 103947、2.5.1 → 104195)来解决此问题,该修补程序已修复此问题。