宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
日経Linuxの連載(シス管系女子)でtmuxを紹介しようかなあと思ったんだけど、自分で使ってないと紹介のしようもないと思ったので、さくらのレンタルサーバ(共用サーバなのでsudoとかは使えない)にtmuxを入れてみる事にした。
以前にGNU screenを入れた時は、ソースからビルドした物を ~/opt/screen 以下に入れたので、それと同じように ~/opt/tmux 以下に入れようと思ったんだけど、ちょっと検索してみた限りだと前回みたいにそのものずばりの手順の情報がなかったので、前回の手順を見返しながら見よう見まねでやってみる事にした。
まずtmuxをビルドしてみようとしたんだけど、
checking for library containing event_init... no configure: error: "libevent not found"
とか言われて ./configure が止まってしまった。メッセージを見ると、ライブラリ(libevent)が無いって言われてるので、まずはそっちの方からインストールした。
$ mkdir ~/tmp $ cd ~/tmp $ wget http://downloads.sourceforge.net/project/levent/libevent/libevent-2.0/libevent-2.0.16-stable.tar.gz
$ tar zxvf libevent-2.0.16-stable.tar.gz $ cd libevent-2.0.16-stable
$ ./configure --prefix=$HOME/opt/libevent $ make && make installインストール先としてhome以下を指定すること。
次に本番のtmux。
$ cd ~/tmp $ wget http://downloads.sourceforge.net/project/tmux/tmux/tmux-1.5/tmux-1.5.tar.gz
$ tar zxvf tmux-1.5.tar.gz $ cd tmux-1.5
$ DIR="$HOME/opt/libevent/" $ ./configure CFLAGS="-I$DIR/include" LDFLAGS="-L$DIR/lib" --prefix=$HOME/opt/tmuxインストール先としてhome以下を指定するのに加えて、さっきインストールしたlibeventを使うための指定が必要。ソースからtmuxをビルドしたいんだけど?という質問に対する回答の中にそういう例があったので、そのまま引き写した。
$ make $ make install
ちゃんとインストールできたか、試しに動かしてみる。ライブラリのパスを明示的に指定しないといけない事に注意が必要。
$ env LD_LIBRARY_PATH=~/opt/libevent/lib ~/opt/tmux/bin/tmux
動いていれば成功してる。
ただ、このままだと毎回tmuxを起動する度にlibeventのパスを指定しないといけないので、僕は.bashrcに以下の内容を書き加えて、「tmux」とだけ入力すればtmuxを起動できるようにした。
alias tmux='env LD_LIBRARY_PATH=~/opt/libevent/lib ~/opt/tmux/bin/tmux'
見よう見まねで上記の通りやってみたところ、どうやら動いてくれた。
GNU screenの時は使ってるとBackspaceが変になったりしていまいち動作が怪しかったんだけど、tmuxだとどうだろう。今のところまだその現象は起こってないようなんだけど。
/etc/ld.so.conf に $HOME/opt/libevent/lib を追記して sudo /sbin/ldconfig すると毎回 LD_LIBRARY_PATH を定義せずに済むと思います。
http://linuxjm.sourceforge.jp/html/ld.so/man8/ldconfig.8.html
http://ambiesoft.ddo.jp/blog/archives/90
そこが共用サーバ(VPSみたいに1つのマシンを管理者として占有できるサービスではなくて、1つのマシンを複数人の契約者がユーザとして使うというサービス)の悲しい所で、sudoとか使えないのです……
VPSならports使うなりDebian等に入れ換えるなりなんでもやり放題なんですけどねぇ。
tmuxのconfigure時に指定しているLDFLAGSを"-L$DIR/lib -R$DIR/lib"にしてみては?
もしくは"-L$DIR/lib -Wl,-rpath=$DIR/lib"
の末尾に2020年11月30日時点の日本の首相のファミリーネーム(ローマ字で回答)を繋げて下さい。例えば「noda」なら、「2011-11-22_sakura_tmux.trackbacknoda」です。これは機械的なトラックバックスパムを防止するための措置です。
writeback message: Ready to post a comment.