SecureCRT 是一款非常好用的远程终端连接软件,支持 Windows、Linux、macOS 全平台。由于现在工作平台主要在 Linux 系统上,SecureCRT 也是必备软件。一开始安装的是 Ubuntu 16.04 LTS,但用了一段时间还是不喜欢 Unity 的界面,自己也是一个喜欢折腾的人,于是想换其他的桌面环境玩玩。试过经典的 GNOME2 续作 MATE 以及轻量的 Xfce4,也试过新秀 Budgie 桌面。就在安装卸载这些桌面环境的过程中,不知道什么时候,忽然发现 SecureCRT 的界面变丑了,变成了 Windows 2000 的界面风格。如下图所示:
但一开始系统的界面并不是这种丑陋的风格,而是拥有自己一套与系统主题无关的风格。虽然谈不上特别好看,但是倒也舒服,比上图中的效果强多了。
后来使用中发现,有些 Linux 版本甚至一开始就是不正常的。如在 Linux Mint 18.3 Xfce 上运行 SecureCRT,界面将直接显示为 Windows 2000 风格。
在网上进行了大量的搜索和尝试,最终找到了问题的根源。原来,SecureCRT 的界面竟然和一个环境变量有关。如果设置了环境变量 QT_STYLE_OVERRIDE,则 SecureCRT 就无法正常显示主题。估计原因是系统中没有安装对应的 Qt 主题,所以导致显示为无主题的界面。于是,我还是决定删除这个环境变量,不管系统中有无对应的 Qt 主题,让其都使用自己内置的主题风格。然而这个环境变量的配置文件在哪里呢?经过很多次搜索尝试,发现其位于 /etc/X11/Xsession.d 这个路径。在 Debian 系系统,如 Ubuntu、Linux Mint 等都是这个路径。其他的系统路径不一定相同,请自行摸索。在这个路径中有很多的配置文件,可以用 grep 搜寻这个关键字:
find /etc/X11/Xsession.d -type f -print0 | xargs -0 grep QT_STYLE_OVERRIDE
如果找到了对应的关键字所在行,例如:
export QT_STYLE_OVERRIDE=gtk
之类的关键字。执行以下命令使用 root 权限编辑该文件,在相关行前面加入 # 字符,注释掉即可:
sudo vim /etc/X11/Xsession.d/99mint
vim 是文本编辑器,选择你自己熟悉的编辑器。比如 gedit、pluma、xed、nano 等。
99mint 是你搜索到包含关键字的文件,编辑后保存,登出然后重新登录即可生效。