Windows上でsshを使うさらに別の方法

Last Updated: 2003-10-27

能書き

Windows上でsshを利用する場合、TTSSHPuTTYを使用するのが一般的ですが、Cygwin利用者としてはできればパッケージで配布されているopensshを使用したいところです。

しかし、日本語を扱う場合、たいていのUNIXホストは文字コードがEUC-JPであるため、ssh+コマンドプロンプトの組み合わせでは実用になりません。

そこで、この問題を解消するために以下のツールを用いてCygwin向けssh環境を構築することにしました。

cocot
ptyに割り込んで文字コード変換を行うツール
日本語版rxvt
UNIXから移植されたターミナルエミュレータ (オリジナルのパッチ配布サイトはこちら: http://hp.vector.co.jp/authors/VA021953/rxvt/)

なお、rxvtの日本語版にはEUC-JPを表示する機能もありますが、rxvtをコマンドプロンプト代わりにも利用するため、文字コードはShift_JISモードに設定することにします。

使用方法

  1. 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)> 
    

  2. (コマンドプロンプトでも使用したい場合)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)> 
    

  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)>
    

  4. 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
    

  5. 環境変数 SHELL にログインシェルを登録しておきます。Windows2000の場合は、 デスクトップのマイコンピュータで右クリックメニュー→プロパティ→詳細タブを選択→環境変数、で設定できます。筆者は「/bin/bash」を設定しています。

  6. rxvt を起動します。
    iwa@alicia[~]
    (17)> rxvt &
    
    iwa@alicia[/usr/local/src/cygwin]
    (18)>
    

  7. 他のホストにログインします。(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
    


Tips

rxvtでのコピーは、マウスの左ボタンで、シングルクリック(文字単位)/ダブルクリック(ワード単位)/トリプルクリック(行単位)後にドラッグすることで行います。
ドラッグ即クリップボードへのコピーとなリますのでご注意ください。

ペーストは、シフトキーを押しながらマウスの左ボタンをクリックすることで行います。


[BACK] | [TOP]