一応お仕事でLinux端末を使用しているのですが、複数のサーバにログインして作業する事が多いです。結果10~20個くらいターミナルを起動している事が過去にありました。実際2日くらい前までそうでした。
しかし最近購入した"シス管系女子"をニヤニヤしながら読んでいると、ターミナルを多重化出来るtmuxなるものが紹介されていました。便利そうだし、何よりも大量のターミナルを起動しているのは「カッコ悪い」と思いました。そんなわけでtmuxをインストールします。
tmuxのソースインストール
管理権限を持ったサーバであれば、リポジトリー変更してyumで入れてしまえば良いのですが、ローカルユーザーで導入する場合のやり方を考えます。今回はtmux2.2を導入します。
目次
#mkdir src local #cd src #wget -O tmux --no-check-certificate https://github.com/tmux/tmux/releases/download/2.2/tmux-2.2.tar.gz #tar xvfz tmux #cd cd tmux-2.2/
wgetの-Oオプションでダウンロードしたファイルの名前を指定します。
名前長過ぎるとダウンロード出来なかったので、homeディレクトリの下に作ったlocalディレクトリに作成します。
#./configure --prefix=$HOME/local ./configure: error: "libevent not found"
libeventが無いそうです。localに入れてみましょう。
#cd $HOME/src #wget --no-check-certificate https://sourceforge.net/projects/levent/files/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz/download #mv download libevent-2.0.22-stable.tar.gz #tar xvfz libevent-2.0.22-stable.tar.gz #cd libevent-2.0.22-stable #./configure --prefix=$HOME/local #make #make install #cd ../tmux-2.2
でもっかいチャレンジ。但し、ソースでlibevent入れた場合は、configure時にオプション指定が必要。
#./configure --prefix=${HOME}/local LDFLAGS="-L${HOME}/local/lib" CFLAGS="-I${HOME}/local/include" #make cc1: error: unrecognized command line option "-iquote." make: *** [alerts.o] Error 1
はっ?と思って少し調べると、iquoteは古いgccで実装されていないらしい。確かに環境のgccは3.4.6とな…gcc入れ替えるわけにもいかないので、Makefileを編集する。
#vi Makefile ... #am__append_7 = -iquote.
iquoteの該当箇所をコメントアウトし、make && make install。
#make #make install
導入完了。後は起動なんですが、libraryのpathを一々定義しなくてはいけないので、'.bashrc'にaliasを定義してしまいましょう。
#echo 'alias tmux="LD_LIBRARY_PATH=$HOME/local/lib $HOME/local/bin/tmux"' >> .bashrc
bashで入りなおして、tmuxが起動出来たらオッケーです。
screenを使わなかった理由
ちなみに、今回tmuxを入れなくても、踏み台サーバにはscreenが入っていました。別に元々使ってなかったなら、わざわざtmux入れないでscreen使えと思うかもしれませんが、tmuxを使ってしばらく経ってからscreenが似たような事を出来ると知りました。常々勉強不足です。すいません。