UTF8 畫面重新附加問題概述。

UTF8 畫面重新附加問題概述。

UTF8 畫面重新附加問題概述。

問題:

建立使用 UTF8 的螢幕可以完美運行,直到重新附加所述螢幕會話為止。

腳步:

ssh remothost
screen -U -S ttytter
[detach screen]
[exit ssh]
xterm -class 'xterm-ttytter' -geometry 175x20 \
  -title 'ttytter' -e ssh -t remotehost "screen -dU -r ttytter"

細節

我非常喜歡蒂特並且已經使用了一段時間了。我最近開始使用 xterm 與 xfce4-terminal/gnome-terminal 相比,因為我發現它更乾淨。出於個人和職業原因,我嘗試使用 UTF8,並且仍在嘗試解決一些錯誤。

初始附件(創建)為我提供了正常工作的 UTF8 輸入。 $TERM 是xterm-256colors而 $LANG 是en_US.UTF-8。重新連接螢幕後也是如此,儘管我無法使用某些字符,例如退格鍵,它顯示為^H

該問題似乎特定於我發出的重新連接螢幕的命令。當我重新連接 UTF8 螢幕時,我試圖找出可能導致此類問題的原因。我努力了-博士-dU-r,兩者都未能解決我的問題。我嘗試給 xterm 設定 -u8 標誌,但行為沒有改變。

xterm -class 'xterm-ttytter' -geometry 175x20 \
-title 'ttytter' -e ssh -t remotehost "screen -dU -r ttytter"

以上會導致問題。

ssh remotehost
screen -dU -r ttytter

上面的效果很好。

設定

.screenrc

defc1 off
defutf8 on
utf8 on

.X預設值

xterm*utf8: 1

.bashrc

export LANG=en_US.UTF-8

我將非常感謝任何有關解決此問題的指導。

答案1

解決方案

不同的“類”加載不同的配置文件/etc/X11/應用程式預設/。我的問題是我的新 xterm 類別沒有匹配的設定檔。

# cd /etc/X11/app-default
# ln -s XTerm-color xterm-ttytter

上面將透過建立符號連結來連結 xterm-ttytter 的 XTerm-color 類別設定。這樣,對 XTerm-color 所做的任何更改也將自動套用於 xterm-ttytter。

感謝 @Nei 於Freenode/#xterm用於解釋 X11 的程式類別。

答案2

應用程式預設檔案xterm設計為包括XTerm-color使用不同的路由。這個資源

*customization: -color

會告訴 X Toolkit 函式庫載入以「-color」結尾的資源檔。

已安裝多個應用程式預設檔xterm。看看我的/etc/X11/app-defaults,主要是這些:

-rw-r--r--   1 root         2400 Nov 27 2012    KOI8RXTerm
-rw-r--r--   1 root         3609 Nov 27 2012    UXTerm
-rw-r--r--   1 root        10112 Nov 27 2012    XTerm

這些是顏色定制的:

-rw-r--r--   1 root         6217 Nov 27 2012    KOI8RXTerm-color
-rw-r--r--   1 root         6209 Nov 27 2012    UXTerm-color
-rw-r--r--   1 root         6207 Nov 27 2012    XTerm-color

XTermXTerm-color那些應該不需要太多解釋:預設類別是XTerm,並且自訂資源添加“-color”。其他人使用不同的類別。你應該對這個UXTerm類別感興趣,因為它設定了這個

    *VT100.utf8:    1

以及設定對 UTF-8 有用的字體。該uxterm腳本xterm使用該類別運行UXTerm,並確保設定了語言環境環境變數。

延伸閱讀:

答案3

我假設您收到亂碼輸出,如果是這種情況,請嘗試運行該reset命令,或者也許stty sane.這至少可以治療症狀。

相關內容