![在 GNU Screen 的硬状态下写入特殊字符](https://linux22.com/image/1291939/%E5%9C%A8%20GNU%20Screen%20%E7%9A%84%E7%A1%AC%E7%8A%B6%E6%80%81%E4%B8%8B%E5%86%99%E5%85%A5%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6.png)
我想将下一个特殊字符写入 GNU Screen 的硬状态:“↑”(向上箭头)和“↓”(向下箭头),但它显示的是奇怪的字符。我该怎么做?
更多信息:
这个以前对我有用,但我必须重新安装我的 SO(Ubuntu 11.04),现在它不起作用了。
我的.screenrc:
startup_message off
vbell off
deflogin off
shell bash
bindkey -k k1 detach
termcapinfo xterm* ti@:te@
backtick 25 1 1 $HOME/bin/scripts_screen/velocidad_eth1
backtick 26 300 300 $HOME/bin/scripts_screen/espacio_libre_servidor
backtick 27 300 300 $HOME/bin/scripts_screen/espacio_libre_menor_que
hardstatus alwayslastline " %{= Wb}%LD %d %LM, %c %{=b Wk}| %?%{=b rg}%27`%:%{= Wm}%?Espacio libre: %26` %{=b Wk}| %{= Wk}%25`"
我认为这个问题与编码有关,但我的语言环境是正确的:
LANG=es_ES.UTF-8
LANGUAGE=es_ES:en
LC_CTYPE="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_COLLATE=C
LC_MONETARY="es_ES.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"
LC_ALL=
这是屏幕会话的捕获:
您可以看到终端中的unicode字符是正确的,但硬状态/标题屏幕的unicode字符不正确。
答案1
如果你的 screen 版本低于 4.1.x,那么这是一个已知 bug。参见:http://git.savannah.gnu.org/cgit/screen.git/commit/?id=28c161010579e59ae5d310db277f8978911ac794