如何避免使用旧版 Solaris 的 24 位彩色远程 X11 出现颜色通道问题?

如何避免使用旧版 Solaris 的 24 位彩色远程 X11 出现颜色通道问题?

当使用具有视觉效果的 XDMCP 在较旧的 Solaris 系统 (2.5.x) 上远程使用 CDE 时TrueColor,屏幕上的像素图会丢失蓝色通道,并且会交换红色和绿色通道。

这意味着白色显示为黄色,绿色显示为红色,红色显示为绿色,蓝色显示为黑色等。

Solaris XDMCP 登录,显示像素图中交换的颜色通道 来自 Xming 的 XDMCP 的 CDE,显示像素图中交换的颜色通道

是否有一些 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 色模式。

伪彩色模式下的 CDE 桌面具有准确的颜色通道

答案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.h3xdpyinfo

或者,可以通过安装针对 Solaris 版本的相应 Motif 修补程序的修订版(例如 2.5 → 103947、2.5.1 → 104195)来解决此问题,该修补程序已修复此问题。

相关内容