![为什么我的 Emacs 工具栏在 Cygwin 和 CentOS 上与带有 X 转发的 ssh 看起来不同?](https://linux22.com/image/29414/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%20Emacs%20%E5%B7%A5%E5%85%B7%E6%A0%8F%E5%9C%A8%20Cygwin%20%E5%92%8C%20CentOS%20%E4%B8%8A%E4%B8%8E%E5%B8%A6%E6%9C%89%20X%20%E8%BD%AC%E5%8F%91%E7%9A%84%20ssh%20%E7%9C%8B%E8%B5%B7%E6%9D%A5%E4%B8%8D%E5%90%8C%EF%BC%9F.png)
我正在使用安装在 CentOS 5 服务器上的 Emacs 24.2.1,我通过 X 转发(使用-Y
)通过 ssh 进入该服务器。我有一台安装了 Cygwin/X 的 Windows 笔记本电脑,以及一台运行 CentOS 6 的台式机。当我使用我的 Windows 笔记本电脑 ssh 到该服务器时,Emacs 看起来很好:
然而,当我使用 CentOS 6 桌面 ssh 进入该服务器时,工具栏按钮呈现得很奇怪(忽略窗口边框的缺失——它就在那里,只是不在屏幕截图中):
有谁知道可能导致这种差异的原因是什么?我尝试过查看包依赖项列表,但没有得到任何结果。我想知道是否是因为我缺少一些库包,它用于在我的 CentOS 6 机器上渲染工具栏,但存在于 Cygwin 中,但我认为因为这是一个远程 X 会话,所以它应该从服务器?我完全不知道我能做些什么来解决它。这不是一个妨碍我工作的问题。日复一日地看着真是烦人。
我会注意到,当我使用 NX 时,窗口会正确渲染。我只是不太使用它,因为 Linux 上的 NX 客户端在浮动窗口支持方面存在问题,而我更喜欢使用它。
任何帮助将不胜感激!
答案1
据我所知,Emacs 是用 GTK 工具包构建的。
工具栏上显示 GTK 主题的设置。我猜你的 Windows 和 CentOS 机器上定义了不同的主题。
虽然我找不到专门更改工具栏“带有文本的图标”与“仅图标”的地方,但在 CentOS 中,您仍然拥有 Gnome 2,并且查找这些设置应该比安装 Gnome 3 更容易。 (gtk-chtheme 将允许您更改主题,但没有工具栏设置)。
答案2
Emacs 根据其绘制窗口的显示器的功能以不同方式显示工具栏。例如,图标有低颜色版本,用于减少颜色和单色显示。 Emacs 也可以回退到较低质量的图标,因为它不是在支持 XPM 图像的情况下构建的,但您的图像确实有颜色,所以我不认为是这样。
所以我最好的猜测是您正在使用减少颜色显示,或者您出于某种原因在减少颜色模式下运行 X 服务器(客户端和服务器之间的低带宽链接将是这样做的一个很好的理由)。