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

リア充爆発日記

You don't even know what ria-ju really is.

さくらのVPSで動くJenkinsからビルド結果をSkypeで通知することができなかったメモ

さくらのVPS(CentOS6.3)上で動いているJenkinsに設定する。

プラグインのインストール

  • Instant Messaging Plugin
  • Skype Plugin

の2つをインストール。

ここで躓く人は悪いこと言わないからおうちに帰りなさい。

CentOSSkypeをインストール

ここを読みながら。
http://wiki.centos.org/HowTos/Skype

Linux版のSkypeは4がstatic版の最新なので、これをインストールする。RPMみたいな軟弱なものはない。※4.1もでてるけどstatic版がないし、いろいろ大変なので現時点では4.0系がオヌヌメ
あとSkypeのバイナリは32bitなので、各種ライブラリは32bit対応のが必要になってくる。ウエー。
やっぱやめようかな・・・。

とにかく、ここに書いてあるRPMを心を空にしてインストールしていく。。すげー得体のしれないもんがたくさん入るけど気にしない。

yum groupinstall Desktop
yum update
yum install glibc.i686 nss-softokn-freebl.i686 alsa-lib.i686 libXv.i686 \
libXScrnSaver.i686 libtiff.i686 glib2.i686 libSM.i686 libXrender.i686 fontconfig.i686
yum install pulseaudio-libs.i686 alsa-plugins-pulseaudio.i686

とりあえずこれで全部らしいけど、たぶんかなりダメなんだろうな。32bitのこと何も考えてないでやってるし。

まぁいいとして、次にSkypeを/optにインストールする

cd /tmp
wget http://download.skype.com/linux/skype_static-4.0.0.8.tar.bz2
cd /opt
tar xjvf /tmp/skype_static-4.0.0.8.tar.bz2
rm /tmp/skype_static-4.0.0.8.tar.bz2
ln -s skype_staticQT-4.0.0.8 skype
ln -s /opt/skype /usr/share/skype
ln -s /usr/lib/libtiff.so.3 /usr/lib/libtiff.so.4
ln -s /opt/skype/skype /usr/bin/skype

これでSkypeのインストールは終わりだけど、CUI環境で動かすにはもう一工夫いる。
こちらを参考に。
http://d.hatena.ne.jp/moriyoshi/20100926/1285517353

Xvfbとは、その名前のvfbがvirtual framebufferから由来していることからもわかるように、フレームバッファ (画面への出力内容を蓄えておくメモリ) として、ビデオカードを使うのではなく、RAM上に確保した仮想フレームバッファを使うというXの実装です。これを使うことで、CUI環境下でXサーバを簡便に扱うことができます。

ということでXvfbをインストール。

yum install Xvfb

(EE) AIGLX error: dlopen of /usr/lib64/dri/swrast_dri.so failed

アボートしないけど、なんかエラーでてるな。。

調べてみるとmesa-dri-driversを入れればいいらしい。。

yum install mesa-dri-drivers

で起動してみる。

$ Xvfb :20 -screen 0 800x600x8
expected keysym, got XF86TouchpadOn: line 120 of inet
expected keysym, got XF86TouchpadOff: line 121 of inet

ちなみにこのXvfbの引数はXのスクリーンIDと

Skypeはかろうじて画面サイズ800x600、ピクセルの深さ8で動作させることができます。

に基づいたもの。
このXvfbコマンドはブロックしちゃうので&つけてバックグラウンドで動かすのでいいのかな。。。man見てもバックグラウンド実行のオプションとかなさそうだし。

で、このXvfbにはVNCでつなぐ。VNC知らんひとはggrk。昔エスイーやってたころはよく使ったなぁ。
x11vncというのがいいらしい。インストール。

yum install x11vnc

で、上記リンク先にすてきな起動スクリプトがあるのでそれを拝借して以下の変更を加える。

そしてスクリプトを叩くと起動した。

次にvnc用のパスワードファイルを作る

sudo -u jenkins x11vnc -storepasswd /var/lib/jenkins/conf/vncpassfile

最後にこれでvncskypeが動くXvfbにつなぐ。

sudo -u jenkins x11vnc -xauth /var/run/skype/Xauthority -rfbauth /var/lib/jenkins/conf/vncpassfile -display :20

これでクライアントからVNCでアクセスすると。。。繋がらない。ポートが開いてなかった。ポートを開ける。その辺は各自で。

で、つながった!


キモい!

で、話は急転直下して、ここからどうしてもうまくいかない。VNCが落ちると同時にSkype落ちるし、そもそも何をどうしていいのかがよくわからなくなった。

どなたかお優しい方、ご助言ください。冒頭におうちに帰れとか言ったことも反省してます。