Ubuntu下让terminal编码自动切换起因: ubuntu下的bbs登录工具大部分字体不太好。比如qterm。直接用gnome-terminal登录bbs似乎效果更好。但是bbs的编码一般是GBK,而我的locale是UTF-8,所以需要转换。 每次都在命令行输入telnet ***@****非常麻烦,而且要手动去菜单栏改编码。所以我希望能够有一个可以在命令行下修改gnome-terminal编码的方法。然后将这个命令和telnet ssh写入.sh文件,就可以双击运行了。 解决方法: 使用luit sudo apt-get install luit 通过命令行登录bbs的命令: luit -encoding gbk ssh username@hostname 但是在ubuntu中luit执行的时候会出现如下错误: Warning: couldn’t find charset data for locale *****; using ISO 8859-1. 通过阅读man luit,发现 FILES/usr/lib/X11/fonts/encodings/encodings.dirThe system-wide encodings directory./usr/lib/X11/locale/locale.aliasThe file mapping locales to locale encodings. 而这两个文件在ubuntu下的位置为: /usr/share/X11/locale/locale.alias /usr/share/X11/fonts/encodings/encodings.dir 做个链接到上述目录即可: ln -s /usr/share/X11/locale/locale.alias /usr/lib/X11/locale/ ln -s /usr/share/X11/fonts/encodings/encoding.dir /usr/lib/X11/fonts/encoding/ 如果提示文件不存在,则要现把目标目录结构建好。 这样就可以使用 luit -encoding gbk ssh username@hostname 来登录bbs了。 将这个命令保存入.sh文件,可以双击运行。 后记:终于可以自动转换为GBK了,,针对不同的bbs做了几个.sh文件,放入面板。但是通过修改系统字体,再修改qterm的设置,发现效果还可以。所以,现在也用qterm了。不过luit可以用来登录其他的不同编码的主机。
要温暖还是怕麻烦。