rexec やセキュアシェルでの接続時に dtterm で日本語が表示されない
XDMCP で接続して CDE のデスクトップを表示している状態で dtterm (端末エミュレータ) を起動すると問題なく日本語が表示できるのに、 rexec やセキュアシェルで接続して dtterm を単独で起動すると、 日本語が表示できないという現象が起こります。
原因
この現象は CDE 付属のツールを、 本来の CDE 環境で使用していないというところに根本的な原因があります。 dtterm をはじめとする CDE 付属のツールは、 原則として XDMCP 接続を行い CDE 環境下でお使いください。
dtterm のような CDE 付属のツールの多くは、 CDE 環境 (CDE デスクトップの中) で使われることを前提に作られており、 CDE 環境以外では正しく動作しない場合があります。 日本語が文字化けを起こすというのも、正しく動作しない例の一つです。
XDMCP で接続して CDE のデスクトップを表示した場合には、 CDE デスクトップ用の環境設定がなされますが、 rexec やセキュアシェルで接続した場合には、 ログインスクリプトや、CDE の環境設定スクリプトは実行されませんので、 一般には CDE 用の環境設定はなされません。
CDE 用の環境設定の内容は、例えば、dtterm を開き、
というコマンドを実行するとわかります。 UNIX ホストのコンソールや、 XDMCP で接続して表示された dtterm ではリソース設定が 100項目近く表示されます。
なお、CDE 環境の設定は、
CDE のログインウィンドウを表示している dtlogin が
/usr/dt/bin/Xsession を起動することによって行われます。
実際にどのような起動プログラムが実行されているか、
または、設定ファイルの読み込みが行われているかは、
~/.dt/startlog を参照するとわかります。
rexec やセキュアシェル接続で dtterm を使うには
以下の手順で、rexec やセキュアシェル接続を行う場合にも dtterm で日本語表示を行うことができます。
- XDMCPで接続した際のリソース設定情報を用意します。
- Solaris の場合
Solaris8 の CDE 環境のリソース設定をファイル化したものが ここからからダウンロードできます。
リンクを右クリックして "対象をファイルに保存" 等を選んでダウンロードしてください。 Solaris の CDE 環境全般でお使いいただけます。 - Solaris 以外の場合
Solaris 以外のホストに接続している場合や、 独自にリソース設定情報を取得したい場合は以下のようにしてください。
- ASTEC-X コントロールパネルを開き、
接続方法を "rexec" や "セキュアシェル" から "XDMCP" に変更します。
なお、ASTEC-X のコントロールパネルの開き方は二通りあり、 それぞれが独立しているのでご注意ください。
- ○ASTEC-X の設定ファイル (axp ファイル) から ASTEC-X を起動している場合
- 設定ファイルのアイコンを右クリックして "編集" を選ぶとコントロールパネルが開きます。
- ○上記以外の場合
- Windows の [スタート] → すべてのプログラム → ASTEC-X → コントロールパネル で、 コントロールパネルを開いてください。
- ASTEC-X を起動し、UNIX ホストに XDMCP で接続してログインします。
- タスクトレイにある ASTEC-X のアイコンを右クリックしてメニューを表示し、 [状態/設定保存]→[リソースを保存する] と選びます。
- 「名前を付けて保存」ダイアログが表示されますので、 適当な名前を付けてファイルに X のリソースを保存します (例: "C:\Program Files\ASTECX\xrdb.txt")。
- ASTEC-X コントロールパネルを開き、
接続方法を "rexec" や "セキュアシェル" から "XDMCP" に変更します。
- Solaris の場合
- リソース設定のファイルが作成できたら UNIX ホストからはログアウトして、ASTEC-X を一旦終了します。
- ASTEC-X コントロールパネルを起動し、 [サーバー]→[リソース] パネルを開きます。
- 「リソースファイルを起動時に読み込む」チェックボックスを有効にし、 「リソースファイル:」エディットボックスに上記で作成したファイル名を 指定します。
- 接続方法を "XDMCP" から "rexec" や "セキュアシェル" に戻します。
- [OK] を押してコントロールパネルを終了してください。
- rexec やセキュアシェルで接続して ASTEC-X を起動します。
- dtterm を起動し、日本語が正しく表示されることを確認します。
なお、xterm など別の端末エミュレータから dtterm を起動した場合には Warning が多数表示される場合がありますが、 これは本来の CDE ではない環境で、 CDE アプリケーション (dtterm) を起動しているためです。