如何使GNU screen识别UTF-8字符

11

我希望通过在bash中使用不同的提示符,可以快速识别出我当前正在使用哪台机器,特别是当我使用ssh时。我发现OSX Yosemite中默认的bash终端接受多种Unicode字符,所以我设置了以下PS1

Mac PS1

PS1=$'\n\n\xf0\x9f\x98\x88'"  \t – \[\033[01m\]\u@\h\[\033[00m\]:\W > "

树莓派PS1

PS1=$'\n\n\xf0\x9f\x98\xBA'"  \t – \[\033[01m\]\u@\h\[\033[00m\]:\W > "

很遗憾,GNU screen 不支持 UTF-8 字符:

即使使用 screen -U 在 UTF-8 模式下运行也不行。

有什么办法解决这个问题吗?

1个回答

8

1)在GNU screen中,按下CTRL+A,然后键入以下屏幕指令:

:utf8 on

(不确定为什么-U不会自动执行此操作。)

2)还要通过在shell中键入“locale -a”来检查您的语言环境。

这应该在输出的顶部附近有UTF-8。


谢谢你的回答,Svetlana。utf-8 命令不是 Bash 命令,我也尝试在 gnu-screen 中输入 CTRL-A :utf-8 on <return>,但它不起作用,那么我应该在哪里使用这个命令?在我的 Raspberry Pi 上,locale -a 命令返回 CC.UTF-8en_GB.utf8POSIX。如何将 UTF-8 设置为首选? - nico
1
@nico Ctrl+a :utf8 on<return> 来源 - Binh Nguyen
需要使用 screen 命令并输入 :utf8 on on 才能改变显示器的编码。 - Antonio Bardazzi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接