[debian] AudioGalaxy on Wine on Debian/wheezy

AudioGalaxyで自宅サーバにはいってる音楽を外から聞けるように。Win/mac用のサーバしかないのでwine経由でうごかしてやる。

cf. http://www.avidandrew.com/guides/67-audiogalaxy-linux

Wineをいれる

コンパイル済みdebを使用

http://dev.carbon-project.org/debian/wine-unstable/

sudo apt-get ia32-libs lib32z1
sudo dpkg -i libwine-unstable_1.4~rc3-0.1_amd64.deb
sudo dpkg -i libwine-bin-unstable_1.4~rc3-0.1_amd64.deb
sudo dpkg -i wine-bin-unstable_1.4~rc3-0.1_amd64.deb

AudioGalaxyクライアントを設定する

audiogalaxyの公式からログインすると、認証設定済みのサーバexeがダウンロードできる。

とりあえず起動してみるとえらー:

$ wine Audio*.exe
wine: Call from 0x7b83ad72 to unimplemented function msvcp90.dll.??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z, aborting

なんかFAQらしい?のでworkaround

$ cd .wine/drive_c/windows/winsxs/
$ mv x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_deadbeef.manifest x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_deadbeef.manifest.bak

My Musicを対象フォルダへのsymlinkに

cd .wine/drive_c/users/$USER
rm "My Music"
ln -s /mnt/hogehoge/music "My Music"
$ wine Audio*.exe

ちゃんと起動することを確認。

Xvfb経由で起動するように

sudo apt-get install xvfb
#!/bin/bash

if pgrep Audiogalaxy; then
	echo "AudioGalaxy already running"
	exit 0
fi

cd /home/$USER/ag

nohup Xvfb :0 -screen 1 800x600x24 &
DISPLAY=localhost:0.0 nohup wine Audio*.exe &

echo "seeing if the program runs >10sec..."
sleep 10

if pgrep Audiogalaxy; then
	echo "seems ok"
	exit 0
else
	echo "fail"
	exit 1
fi