我自己的计算机基于UTF-8编码,但我必须管理(法语)服务器ISO-8859-15基于。
因此,使用 gnome-terminal 进行 ssh 时,我经常需要从一种编码切换到另一种编码。Las,终端菜单中有几十种建议的编码,上下滚动选择一种编码很无聊。我希望菜单中只看到这两种编码(UTF-8 和 ISO-8859-15)。
其他类似的问题是关于语言包之后,我在 /etc/locale.gen 中只保留了以下几行
en_US ISO-8859-1
en_US.ISO-8859-15 ISO-8859-15
en_US.UTF-8 UTF-8
fr_FR.UTF-8 UTF-8
fr_FR@euro ISO-8859-15
然后运行“本地化“。 在那之后, ”区域设置-a“输出
C
C.UTF-8
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8
fr_FR@euro
fr_FR.iso885915@euro
fr_FR.utf8
... 但 ”区域设置-m“仍然输出 236 个字符表,例如 MAC-CYRILLIC,而我确实不需要它。
事实上,这 236 个字符表列在/usr/share/i18n/charmaps目录。
所以,我的问题是:如何将“locale -m”的输出限制为我想要的 2 个字符表(我假设 gnome-terminal 依赖于它)?
答案1
我认为 gnome-terminal 依赖它
不,这是一个错误的假设。GNOME 终端使用其自己的内置编码列表。
我建议定义两个 GNOME 终端个人资料它们仅在编码上有所不同(在兼容性选项卡下),并在这些配置文件之间切换(例如,使用右键菜单)。
另一种可能性是有一个在编码之间进行转换的中间层,而 GNOME 终端仍然可以在 UTF-8 下工作。luit
就是这样的一款软件,但screen
(大概tmux
,不确定)也有在编码之间进行转换的选项。
但“locale -m”仍然输出 236 个字符表,例如 MAC-CYRILLIC,而我并不需要这些字符表
您永远无法确定您正在运行的软件实际上需要哪些字符集。虽然对于语言环境,在您的系统上只提供英语和法语是完全没问题的,但您不应该试图摆脱字符集定义。例如,每当您访问的网页以该编码发送时,浏览器都可能需要它们。