Terminal
GNU Screen 無法正確回顯 unicode 字元
當我在終端中執行此操作時:
echo -e "\xF0\x9f\x8d\xba"
我的終端機裡有一個很酷的啤酒杯:🍺
但是,當我啟動螢幕並嘗試相同的操作時,我得到了一個�。我如何獲得漂亮的啤酒杯?
這是我的 .screenrc:
nethack on startup_message off defscrollback 3000 hardstatus on hardstatus alwayslastline hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %c" termcapinfo xterm 'bc@:bs@' ignorecase on maptimeout 0 vbell off defutf8 on defencoding utf8
使用該選項執行螢幕
-U
也無濟於事。
這顯然是一個已知的錯誤:沒有顯示超出BMP的字元,因為螢幕顯然只有一個兩字節的字元緩衝區。
(它在 tmux 中工作)。
這是舊螢幕的已知問題。自 v4.2.0 起已修復
將螢幕更新到最新版本:
sudo apt upgrade screen
其他命令:
- 查看可用的螢幕版本:
apt list -a screen
- 安裝確切版本:
sudo apt install screen=4.3.1-2build1