LoginSignup
13
16

More than 5 years have passed since last update.

PuTTY+Cygterm

Last updated at Posted at 2014-05-04

適当にファイルパスを変更すること。以下では、

  • 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の設定

cygterm.cfg
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)

起動スクリプト

cygterm_here.js
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ファイルを作った。

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

次のようなシェルスクリプトをどこかに置いておくと、ターミナルウィンドウをたくさん増やせて便利だと思う。

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+LeftCtrl が効いてない(?)

13
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
16