Windows上でsshを利用する場合、TTSSHやPuTTYを使用するのが一般的ですが、Cygwin利用者としてはできればパッケージで配布されているopensshを使用したいところです。
しかし、日本語を扱う場合、たいていのUNIXホストは文字コードがEUC-JPであるため、ssh+コマンドプロンプトの組み合わせでは実用になりません。
そこで、この問題を解消するために以下のツールを用いてCygwin向けssh環境を構築することにしました。
なお、rxvtの日本語版にはEUC-JPを表示する機能もありますが、rxvtをコマンドプロンプト代わりにも利用するため、文字コードはShift_JISモードに設定することにします。
cocotをインストールします。
iwa@alicia [/usr/local/src/cygwin] (3)> tar xvfj cocot-20030603.tar.bz2 cocot-20030603/ cocot-20030603/ccio.c cocot-20030603/ccio.h cocot-20030603/ChangeLog.txt cocot-20030603/cocot.c cocot-20030603/cocot.exe cocot-20030603/config.h cocot-20030603/init.c cocot-20030603/init.h cocot-20030603/l10n_ja.c cocot-20030603/l10n_ja.h cocot-20030603/LICENSE.txt cocot-20030603/loop.c cocot-20030603/loop.h cocot-20030603/Makefile cocot-20030603/MANIFEST cocot-20030603/README-ja.txt cocot-20030603/sigwinch.c cocot-20030603/sigwinch.h iwa@alicia [/usr/local/src/cygwin] (4)> cd cocot-20030603 iwa@alicia [/usr/local/src/cygwin/cocot-20030603] (5)> make install if [ ! -f cocot.exe ]; then make; fi install -m 755 cocot.exe /usr/local/bin iwa@alicia [/usr/local/src/cygwin/cocot-20030603] (6)> |
(コマンドプロンプトでも使用したい場合)terminfoをターゲットホストにインストールします。
iwa@alicia [~/tmp] (8)> infocmp cygwin > cygwin.terminfo iwa@alicia [~/tmp] (9)> scp cygwin.terminfo cecilia:tmp cygwin.terminfo 100% 1575 10.4KB/s 00:00 iwa@alicia [~/tmp] (10)> ssh cecilia Linux cecilia 2.4.18-tm5x00 #1 Sun Jun 15 14:26:10 JST 2003 i586 unknown Most of the programs included with the Debian GNU/Linux system are freely redistributable; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Mon Oct 27 20:13:31 2003 from alicia.deenheart.org iwa@cecilia [~] (1)> cd tmp/ iwa@cecilia [~/tmp] (2)> tic cygwin.terminfo iwa@cecilia [~/tmp] (3)> |
rxvtをインストールします。
iwa@alicia[/usr/local/src/cygwin] (12)> tar xvfj rxvt-2.7.10-3-j05.0-patch+bin.tar.bz2 rxvt-2.7.10-3-j05.0-patch+bin/ rxvt-2.7.10-3-j05.0-patch+bin/bin/ rxvt-2.7.10-3-j05.0-patch+bin/bin/libW11.dll rxvt-2.7.10-3-j05.0-patch+bin/bin/rxvt.exe rxvt-2.7.10-3-j05.0-patch+bin/doc/ rxvt-2.7.10-3-j05.0-patch+bin/doc/rxvt-2.7.10/ rxvt-2.7.10-3-j05.0-patch+bin/doc/rxvt-2.7.10/rxvt.html rxvt-2.7.10-3-j05.0-patch+bin/Makefile rxvt-2.7.10-3-j05.0-patch+bin/man/ rxvt-2.7.10-3-j05.0-patch+bin/man/man1/ rxvt-2.7.10-3-j05.0-patch+bin/man/man1/rxvt.1 rxvt-2.7.10-3-j05.0-patch+bin/patches/ rxvt-2.7.10-3-j05.0-patch+bin/patches/new/ rxvt-2.7.10-3-j05.0-patch+bin/patches/new/rxvt-2.7.10-3.patch rxvt-2.7.10-3-j05.0-patch+bin/patches/orig/ rxvt-2.7.10-3-j05.0-patch+bin/patches/orig/README-ja.txt rxvt-2.7.10-3-j05.0-patch+bin/patches/orig/rxvt-2.7.8-rk.patch rxvt-2.7.10-3-j05.0-patch+bin/patches/orig/rxvt-2.7.9-4-j05.4a.patch rxvt-2.7.10-3-j05.0-patch+bin/patches/orig/W11ctrlcode.diff rxvt-2.7.10-3-j05.0-patch+bin/patches/rxvt-2.7.10-3-j05.0.patch rxvt-2.7.10-3-j05.0-patch+bin/README-ja.txt rxvt-2.7.10-3-j05.0-patch+bin/samples/ rxvt-2.7.10-3-j05.0-patch+bin/samples/dot.Xdefaults.mplus rxvt-2.7.10-3-j05.0-patch+bin/samples/dot.Xdefaults.msgothic rxvt-2.7.10-3-j05.0-patch+bin/samples/dot.Xdefaults.msmincho rxvt-2.7.10-3-j05.0-patch+bin/utils/ rxvt-2.7.10-3-j05.0-patch+bin/utils/mkbinpkg.sh rxvt-2.7.10-3-j05.0-patch+bin/utils/mkdiff.sh iwa@alicia[/usr/local/src/cygwin] (13)> cd rxvt-2.7.10-3-j05.0-patch+bin.tar.bz2 iwa@alicia[/usr/local/src/cygwin/rxvt-2.7.10-3-j05.0-patch+bin.tar.bz2] (14)> make install cp -Rv bin man doc /usr/local `bin/libW11.dll' -> `/usr/local/bin/libW11.dll' `bin/rxvt.exe' -> `/usr/local/bin/rxvt.exe' `man/man1/rxvt.1' -> `/usr/local/man/man1/rxvt.1' `doc/rxvt-2.7.10' -> `/usr/local/doc/rxvt-2.7.10' `doc/rxvt-2.7.10/rxvt.html' -> `/usr/local/doc/rxvt-2.7.10/rxvt.html' iwa@alicia[/usr/local/src/cygwin/rxvt-2.7.10-3-j05.0-patch+bin.tar.bz2] (15)> |
rxvtの設定を行います。以下の内容を ~/.Xdefaults に記述します。
Rxvt.geometry: 80x50+0+0 Rxvt.font: msmincho-14 Rxvt.mfont: msmincho-14-jisx0208 Rxvt.multichar_encoding: sjis Rxvt.visualBell: True Rxvt.saveLines: 3000 Rxvt.scrollBar_right: True Rxvt.background: LemonChiffon |
環境変数 SHELL にログインシェルを登録しておきます。Windows2000の場合は、 デスクトップのマイコンピュータで右クリックメニュー→プロパティ→詳細タブを選択→環境変数、で設定できます。筆者は「/bin/bash」を設定しています。
rxvt を起動します。
iwa@alicia[~] (17)> rxvt & iwa@alicia[/usr/local/src/cygwin] (18)> |
他のホストにログインします。(screenshot)
iwa@alicia[~] (1)> cocot ssh cecilia Linux cecilia 2.4.18-tm5x00 #1 Sun Jun 15 14:26:10 JST 2003 i586 unknown Most of the programs included with the Debian GNU/Linux system are freely redistributable; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Mon Oct 27 23:14:21 2003 from alicia.deenheart.org iwa@alicia[~] (1)> env LC_TIME=ja_JP.eucJP date 2003年 10月 27日 月曜日 23:16:46 JST |
rxvtでのコピーは、マウスの左ボタンで、シングルクリック(文字単位)/ダブルクリック(ワード単位)/トリプルクリック(行単位)後にドラッグすることで行います。
ドラッグ即クリップボードへのコピーとなリますのでご注意ください。
ペーストは、シフトキーを押しながらマウスの左ボタンをクリックすることで行います。