読者です 読者をやめる 読者になる 読者になる

Everything is a Matter of Degree

Learning logs of the transition from Web to Enterprise

Windows7で多少はましなターミナル環境を作る

仕事でリモートにつないで作業するとき、TeraTerm + LogMeTTを使っていたんですが、

  • ローカルでもシェル使えたら便利そう
  • リモートホストをLogMeTTで管理するのがめんどい。.ssh/configへ書く方が楽

といった理由で、cygwinを導入することにした。本当はローカルのVMCentOSとか使おうと思ったんだけど重いので断念。 最適解なのかはわかりませんが、以前よりは結構快適になったのでメモ。

目次

  1. cygwinをインストール
  2. apt-cygを導入
  3. zshをインストール
  4. Kaoriya版Vimをインストール
  5. screen(byobu)をインストール
  6. ドットファイルをインポート
  7. SSHの各種設定

1. cygwinをインストール

cygwinのサイトから32bit版または64bit版をダウンロードしてC:\cygwinにインストール。 私の環境はWindows7 64bitなので64bit版をインストール。

この際、

あたりは必要なので追加でインストールしておく。

フォントは特にこだわりはないのでMeiryoKeを指定しておく。

apt-cygを導入

cygwin上からパッケージの管理を行うためにapt-cygを導入する。

$ svn --force export http://apt-cyg.googlecode.com/svn/trunk/ /bin/
$ chmod 755 /bin/apt-cyg

リポジトリミラーサイトjaistに変更するが、jaistディレクトリ構成が変更になっているらしいので*1、下記の通りapt-cygを書き換える。

--- apt-cyg.orig        2013-08-06 03:24:45.062574000 +0900
+++ apt-cyg     2013-08-06 03:22:53.877214600 +0900
@@ -95,14 +95,14 @@
   then
     touch setup.ini
     mv setup.ini setup.ini-save
-    wget -N $mirror/setup.bz2
+    wget -N $mirror/x86_64/setup.bz2
     if test -e setup.bz2 && test $? -eq 0
     then
       bunzip2 setup.bz2
       mv setup setup.ini
       echo Updated setup.ini
     else
-      wget -N $mirror/setup.ini
+      wget -N $mirror/x86_64/setup.ini
       if test -e setup.ini && test $? -eq 0
       then
         echo Updated setup.ini

ミラーサイトjaistに変更する。

$ apt-cyg update -m ftp://ftp.jaist.ac.jp/pub/cygwin

zshをインストール

apt-cygでzshをインストールする。

$ apt-cyg install zsh

シェルをbashからzshに変更する。cygwinのchshがないっぽいので、C:\cygwin\cygwin.batを変更する。

@echo off

C:
chdir C:\cygwin\bin

- bash --login -i
+ zsh  --login -i

KaoriYa版Vimをインストール

cygwinvimの動きがなんか変(Backspaceが入力できないとか)で、いろいろ対策してみてもうまくいかなかったので、Windows上のKaoriYa版Vimを使うことにする。

  1. KaoriYa版VimをダウンロードしてC:\Program Files\Vimにインストールする。
  2. KaoriYa版Vim起動用シェルスクリプトを用意
$ vi /bin/gvim

下記を記述して保存。

#!/bin/bash
"C:/Program Files/Vim/gvim"  $(cygpath -aw $*) &

実行権限を付与した後、viのエイリアスを設定する。

$ chmod +x /bin/gvim
$ vi ~/.zshrc
+ alias vi='gvim'

screen(byobu)をインストール

省略。

ドットファイルをインポート

  • $HOME/.zshrc
  • $HOME/.gvimrc
  • $HOME/.tmux.conf

cygwinのカラースキーム設定

cygwin(mintty)のカラースキームを、個人的な好きなsolarizedにする。 mintty-colors-solarizedhttps://github.com/mavnn/mintty-colors-solarizedからダウンロードする。

$ mkdir ~/lib
$ cd lib
$ wget https://raw.github.com/mavnn/mintty-colors-solarized/master/sol.dark

~/.zshrcに下記行を追加する。

+ source $HOME/lib/sol.dark

SSHの各種設定

$HOME/.ssh/configをインポートする。共通設定はワイルドカードで記述すると便利。

# 全ホストへの共通設定
Host *
  Port 22
  User [username]
  IdentityFile ~/.ssh/hogehoge

# 個別設定
Host *.hoge.co.jp
  Hostname  0.0.0.0
  IdentityFile ~/.ssh/fugafuga
Host sample
  Hostname  0.0.0.0

参考