Jun 09, 2010

さくらのレンタルサーバでvimとbashとscreen

さくらのレンタルサーバ(スタンダードプラン)は初期状態ではこんな風になってた。

  • シェルはcsh
  • viは多分普通のvi(vimではなく)

Ubuntuのコンソールとの違いに戸惑う事が多くなりそうだったので、人に教えてもらって、以下のように設定してみる事にした。

  • ログインしたらシェルはbashになるように。
  • viと打ったらvimが起動するように。
  • gnomeターミナルみたいに複数のセッションを切り替えられるように。(GNU Screen)

シェルをbashに

トレンドはzshらしいけどよくわからんからbashで。

ここにある通りやったらできた。

  1. chsh -s /usr/local/bin/bash でパスワード入力を求められるのでパスワードを入れる。
  2. vi ~/.bash_profile でログイン後に実行される初期設定を編集する。内容はとりあえず以下。
    if [ -f ~/.bashrc ]; then
      source ~/.bashrc
    fi

これで、bash起動と同時に ~/.bashrc が読まれるようになる。~/.bashrc はこの段階ではまだ空。

vimのインストール

ここの指示通りにやったらできた。

  1. ソースをダウンロードする。
  2. 展開する。
    • tar jxvf vim-7.0.tar.bz2
    • tar zxvf vim-7.0-extra.tar.gz
    • tar zxvf vim-7.0-lang.tar.gz
  3. vim70というディレクトリの中にすべてのソースが展開されているので、その中に入って作業する。 cd vim70
  4. パッチを当てる。
    1. mkdir patches
    2. cd patches
    3. ftp://ftp.vim.org/pub/vim/patches/7.0/を見て一番新しいパッチの番号を調べる。僕がやった時は243だった。
    4. curl -O 'ftp://ftp.vim.org/pub/vim/patches/7.0/7.0.[001-さっき調べた最後のパッチの番号]' ですべてのパッチをダウンロードする。
    5. cd ..
    6. cat patches/7.0.* | patch -p0 ですべてのパッチを当てる。
  5. configureしてmakeしてinstallする。
    1. ./configure --enable-multibyte --enable-xim --enable-fontset --with-features=big --prefix=~/opt/vim インストール先としてhome以下を指定すること。僕は特に意味もなくopt以下にしてますが。
    2. make && make install
  6. 文字エンコーディングを自動認識するための設定を ~/.vimrc に書き加える。

これで、 ~/opt/vim/bin/vim でvimを起動できるようになった。

screenのインストール

UbuntuでGnome使ってるとGnomeのターミナルで新しいタブを開いて並行して作業するということができるけど、「sshで入った先」ではタブを開けない。タブを開くと、手元のマシンの方の新しいセッションになってしまう。

「sshで入った先」でもそういう事ができるようにしとくと便利だよと言われたので、GNU Screenという物を入れてみた。sshでログインする先のマシンにこれが入っていれば、ログイン先で「タブを開く」みたいな事ができるようになる。でもさくらのレンタルサーバのFreeBSDには入ってなかったので、これも自分で入れないといけない。

ここの指示通りにやったらできた(同じとこばっか参照してる)。

  1. ソースをダウンロードする。 wget ftp://ftp.uni-erlangen.de/pub/utilities/screen/screen-4.0.3.tar.gz
  2. 展開する。 tar xzf screen-4.0.3.tar.gz
  3. screen-4.0.3というディレクトリができるので、その中に入って作業する。 cd screen-4.0.3
  4. configureしてmakeしてinstallする。
    1. ./configure --prefix=~/opt/screen インストール先としてhome以下を指定すること。
    2. make && make install

これで、 ~/opt/screen/bin/screen でscreenを起動できるようになった。

設定まとめ

~/.bash_profile はこうなった。後半部分は、ログインしたら勝手にscreenを起動するようにするための物。

if [ -f ~/.bashrc ]; then
  source ~/.bashrc
fi

if [ $TERM != "screen" ]; then
 exec screen -S main -xRR
fi

~/.bashrc はこうなった。

export LANG=ja_JP.UTF-8 # 日本語で。

PATH=$PATH:~/opt/vim/bin # vimにパスを通す。
PATH=$PATH:~/opt/screen/bin # screenにパスを通す。
export PATH

alias vi='vim' # viと打ったらvimを起動する。

~/.screenrc はこうなった。教えてくれた人の言われるままにコピペしただけ。画面の一番下の行を使って、今どのプロセスを見てるのかを常時表示するようにしてある。(これがないと今自分で何をやってるのかさっぱり分からない)

defencoding utf8
hardstatus alwayslastline "[%02c] %`%-w%{=b bw}%n %t%{-}%+w"
  • Gnome端末で言う所の「新しいタブを開く」:Ctrl-A→c
  • Gnome端末で言う所の「タブを閉じる」:exit
  • Gnome端末で言う所の「右のタブへ移動」:Ctrl-A→n
  • Gnome端末で言う所の「左のタブへ移動」:Ctrl-A→p
  • screenから一時的に抜ける:Ctrl-A→d

使いこなせてるとはとても言いがたいけど、とりあえずここから始めようという感じです。

Cygwin……

CygwinのOpenSSHから接続してると、なんかscreenが変なことになった。PuTTYで接続した場合は何ともない。これ、Cygwinが悪いのか誰が悪いのか……とりあえずWindowsからやる時はPuTTYの方を使う事にしようと思います。

追記。GnomeのターミナルからやったらCygwinの時みたいに変な事にはなってない……みたい。やっぱりCygwinが悪いのかなー。

エントリを編集します。

wikieditish message: Ready to edit this entry.











拡張機能