Scientific Linux6.2 に Skype4Py で SkypeBot を構築したメモ(その1)

概要

社内で Skype つかっているので以前から作りたいなぁとは思っていたのですが、
最近 HDD が吹っ飛んで過去ログが見られなくなったのが相当な痛手だったので、ログをとるために導入を決意。

ついでに、BeProud さんのようなこと (hbqpbp study Skype-Bot Centric Development) もできたらいいなぁと思ってみたり。

まずは、cli 環境で skype を動かすまで。

導入手順

Skype の導入
# yum install glibc.i686 alsa-lib.i686 libXv.i686 libXScrnSaver.i686 dbus-qt.i686 qt.i686 qt-x11.i686
# yum install ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts

まずは、依存パッケージの導入。結果的にこの辺を入れることになった。
これらに依存したパッケージを含めると、50以上導入される。

環境は x86_64 だったのだけど、動かすには i686 パッケージが必要になることに注意。
x86_64 入れても、 RPM のインストールは出来るものの、起動できないのです。

IPA Font については、日本語環境なら入れておいた方がよさげ。
なくても動くし、 LANG=en_US.UTF-8 とかで Skype を動かすのであれば必要ない。

# wget http://www.skype.com/go/getskype-linux-beta-fc10
# rpm -ivh skype-2.2.0.35-fedora.i586.rpm

Skype のサイト(Download Skype | Free calls | Chat app)に行くと、 Fedora13 以上用のRPM パッケージがあるので、こいつを利用。

仮想的なX環境とVNCを準備
# yum install Xvfb
# yum install yum-conf-epel
# yum install x11vnc

Skype を実行するための X 環境(Xvfb)と、操作用のVNC サーバ(x11vnc)を導入。
GUI 環境ならば必要ないのだけど、わざわざ Skype の為だけに GUI 入れるのもねぇ、ということで。

x11vnc は epel にあるので、リポジトリ設定を追加の上、導入。

# Xvfb :0 -screen 0 800x600x16 &
# x11vnc -display :0 &

実行はこんな感じ。ディスプレイ番号は適当に。
パスワードとか設定してないので、 Warning でるけど気にしない。安全な環境でやりましょう。

vnc のために、 tcp 5900ポートを開ける必要があることに注意。

-A INPUT -p tcp --dport 5900 -j ACCEPT

iptables サービスを落とすか、
/stc/sysconfig/iptable の適当なところに上記を設定して iptables 再起動しておく必要あり。

Skype の実行
# useradd skype
# env DISPLAY=:0 LANG=en_US.UTF-8 skype

LANG=ja_JP.UTF-8 なら日本語になるので、お好みで。
ただ、一度立ち上げてしまうと、そのときの設定が保持されてしまうので、やり直したいときは .Skype ディレクトリを消しませう。

起動スクリプト

moriyoshi さんのをベースにしつつ、sl6 用に修正。
使わない認証とかは切ってしまった。

/etc/rc.d/init.d/skype に保存して、

# chmod +x /etc/rc.d/init.d/skype
# chkconfig skype on

してあげれば、起動時に自動的に立ち上がる感じ。

次は

ここまでで、 skype を Scientific Linux6.2 の CLI環境で実行する事が出来た。
次は Skypebot 構築する話。

なのだけど、これを書いてる間に Skype for Linux がベータ版じゃなくなった><
2012/06/15 時点では RPM は Fedora16 以上用 になってるので、上記のやり方だとダメかも。。。