適当にファイルパスを変更すること。以下では、
- PuTTY は C:\Program Files\PuTTY\putty.exe にある。
- Cygwin は C:\Cygwin\ に入っている。
- Cygterm は /usr/local/cygterm/ (C:\Cygwin/usr/local/cygterm/) に入れる。ついでに起動スクリプトもここに入れる。
PuTTYの入手
本家 : http://www.chiark.greenend.org.uk/~sgtatham/putty/
ICE IV : http://ice.hotmint.com/putty/
Cygtermの入手
Cygtermをmakeしてインストール
install -d /usr/local/cygterm
make install BINDIR=/usr/local/cygterm
cygtermの設定
TERM = C:\Program Files\PuTTY\putty.exe -load "cygterm" -telnet %s -P %d
#TERM_TYPE = xterm
#TERM_TYPE = putty-256color
PORT_START = 20000
PORT_RANGE = 40
SHELL = auto
#LOGIN_SHELL = Yes
LOGIN_SHELL = No
HOME_CHDIR = No
SSH_AGENT_PROXY = No
ENV_1 = TERM=putty-256color
Cygwin64だとTERM_TYPEが効かなかった(?)のでENV_1でターミナルタイプを無理矢理設定した。
PuTTY側にcygtermという名前で設定を作る
パラメータ名 | 値 |
---|---|
Host Name | localhost |
Connection type | Raw |
Local echo | Force off |
Local line editing | Force off |
The Backspace key | Control-H |
The function keys and keypad | Linux |
Remote character set | UTF-8 (CJK) |
起動スクリプト
var wsh = new ActiveXObject("WScript.Shell");
var env = wsh.Environment("Process");
env("PATH") += ";C:\\\\Cygwin\\\\bin";
var opts = "";
if (WScript.Arguments.length > 0) {
wsh.CurrentDirectory = WScript.Arguments(0);
} else {
opts = " -cd";
}
wsh.Run("C:\\\\Cygwin\\\\usr\\\\local\\\\cygterm\\\\cygterm.exe" + opts);
好みにより、グローバルに環境変数を設定する代わりにここでCygwinのパスを設定している。
この.jsファイルをクリックするとCygtermが$HOMEから起動するはず。
エクスプローラの右クリックに登録
ついでに エクスプローラの右クリックメニューをカスタマイズする のように.regファイルを作った。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\term_here]
@="ターミナルを開く(&T)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\term_here\command]
@="wscript C:\\\\Cygwin\\\\usr\\\\local\\\\cygterm\\\\cygterm_here.js \\"%L\\""
[HKEY_CLASSES_ROOT\Directory\Background\shell\term_here]
@="ターミナルを開く(&T)"
[HKEY_CLASSES_ROOT\Directory\Background\shell\term_here\command]
@="wscript wscript C:\\\\Cygwin\\\\usr\\\\local\\\\cygterm\\\\cygterm_here.js \\"%V\\""
dup
次のようなシェルスクリプトをどこかに置いておくと、ターミナルウィンドウをたくさん増やせて便利だと思う。
#!/bin/sh
exec wscript 'C:\\Cygwin\\usr\\local\\cygterm\\cygterm_here.js' "`cygpath -w \\"\\`pwd\\`\\"`"
追記 (2016/5/17)
Cygwin 2.5.1 (x86) と Cygterm 1.07_28 でビルド時エラー。cygterm.cc
に
#define _XOPEN_SOURCE
#define _BSD_SOURCE
が要るような(?) また、GNU screen 上で Ctrl+Left
の Ctrl
が効いてない(?)