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-256色$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

上記は問題なく動作します。

設定

.スクリーンrc

defc1 off
defutf8 on
utf8 on

.Xデフォルト

xterm*utf8: 1

.bashrc

export LANG=en_US.UTF-8

この問題の解決に関してご指導いただければ幸いです。

答え1

解決

異なる「クラス」は異なる設定ファイルをロードします/etc/X11/app-default/私の問題は、新しい xterm クラスに一致する構成ファイルがなかったことです。

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

上記は、シンボリック リンクを作成して、XTerm-color のクラス設定を xterm-ttytter にリンクします。これにより、XTerm-color に加えられた変更は xterm-ttytter にも自動的に適用されます。

クレジットは@Neiによるものですフリーノード/#xtermX11 のプログラム クラスについて説明します。

答え2

アプリケーションのデフォルトファイルは、別のルートを使用してxterm組み込むように設計されています。このリソースXTerm-color

*customization: -color

X ツールキット ライブラリに、「-color」で終わるリソース ファイルをロードするように指示します。

には複数の app-defaults ファイルがインストールされています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

XTermそしてXTerm-colorあまり説明の必要がないものがいくつかあります。デフォルトのクラスは で、カスタマイズリソースは「-color」を追加します。他のクラスは異なるクラスを使用します。クラスはこれを設定するので、クラスXTermに注目してください。UXTerm

    *VT100.utf8:    1

UTF-8 で便利なフォントも設定します。スクリプトはクラスを使用してuxterm実行され、ロケール環境変数が設定されていることを確認します。xtermUXTerm

参考文献:

答え3

出力が文字化けしていると思われますが、その場合は、resetコマンドを実行するか、 を実行してみてくださいstty sane。少なくともこれで症状は治ります。

関連情報