Gnome 终端配置文件可以默认使用 UTF-8 吗?

Gnome 终端配置文件可以默认使用 UTF-8 吗?

我使用的是 Ubuntu(我认为)系统。我有root权限,所以我无法更改区域设置。我想让我的默认终端配置文件默认使用 UTF-8。应该有一种方法可以做到这一点,无论是在.gconf/apps/gnome-terminal/某个目录中,还是在环境变量中,或者其他什么地方。不过,我似乎找不到它。

编辑更多详细信息:

在终端中,我有:

grid-unv55$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
grid-unv55$ gnome-terminal

当尝试在新终端中添加 UTF 文档时,我得到:

\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd
\noise:bgspeech \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd

它在我的屏幕上显示为点。 (uffds 是剪切和粘贴的。我在那里留下了“\noise:bgspeech”,这样你就可以看到 ascii 正确剪切和粘贴)

答案1

我相信 gnome-terminal 将在 shell 中启用“Just Work with UTF-8”,因此您需要做的就是启用。放

export LANG=en_US.UTF-8

进去~/.bashrc就可以了。


编辑:

好吧,那么,答案是目前你无法设置这个。 Gnome 终端遵循当前环境的 LANG 设置并使用该编码作为默认值。所以你需要让 LANG 包含 UTF-8gnome 终端已启动。设置此项~/.bashrc就可以了——您只需要注销并再次登录即可。

(请注意,实际上最好将其放入,~/.bash_profile以便您可以为子 shell 覆盖它,但我不确定 bash 是否一定作为设置 Gnome 环境的一部分作为登录 shell 运行。这值得测试......)

答案2

gnome-terminal您可以使用以下命令设置区域设置,其中Default是配置文件的名称。

gconftool --set --type=string /apps/gnome-terminal/profiles/Default/encoding en_US.UTF-8

答案3

我遇到了类似的问题,当设置LANG没有.bash_profile成功时,我发现在 Gnome 中,可以在会话开始时从 GDM 登录屏幕设置默认区域设置。这可以在没有 root 访问权限的情况下完成。

答案4

我刚刚修复了一个问题,该问题可能与使用较新版本的 GNOME(和 gnome-terminal)的新手相关:

对于您想要使用的任何文本编码,shell(例如bash)和终端仿真器(例如gnome-terminal)必须使用相同的编码。因此,例如,如果 shell 使用en_US.utf8并且终端仿真器使用en_US.ISO-8859-1(又名latin1),那么您将在终端中看到任何具有 UTF-8 输出的程序的奇怪文本。

现在,我无法在登录时设置编码,正如我所看到的那样,这是可能的。这可能是因为我们使用的是旧版本的 GDM。这就是为什么我需要不同的解决方案。

不管怎样,GNOME 3 似乎不会自动获取资源,.bashrc也不会.profile在登录时自动获取。但它确实有 source .gnomerc,您可以在其中放置将导出到 GNOME 程序的环境变量(据我所知)。

export LANG="en_US.utf8"因此,当启动.gnomerc新实例时,默认使用 UTF-8 编码启动 gnome-terminal 。(根据您的需要更改您的区域设置。)

希望这对某人有用!

相关内容