自从 Amarok 和 Gwenview 这两款 qt3.5 时代的经典 K 软跨入了 qt4 的 2.0 时代,我就彻底放弃了 qt4 下的所有软件,连 KDE4 都给 mask 了,为了能够继续用上 Amarok 1.4,死守着 kde-sunset overlay,无奈愈发觉得 Amarok 1.4 的内存占用率还是太高了,于是全面转向了 MPD (Music Player Daemon) + ncmpcpp,还是字符界面加上强大的键盘快捷键操作最顺服,最省心。
既然 MPD 是纯粹的 C/S 理念,为 MPD 找个手机 client 端也应该不难。于是找到了 Remuco 这款软件,它能够通过蓝牙或者 Wifi 的方式遥控 Linux 下的大部分媒体播放器,包括 Amarok, Audacious, Banshee, Exaile, MPD, MPlayer, Rhythmbox, Songbird, Totem, TVtime, VLC 和 XMMS2。而且由于本身基于 java,理论上支持 java 且有蓝牙或者 Wifi 设备的手机都能安装并使用它,从它的 List of client devices successfully used with Remuco 上看,实验成功的手机还是蛮多的。我在我的诺记非阉割版的 E71 上也成功实现了,下面是我在 Gentoo Linux 和 E71 上的实现过程:
(P.S: 这绝对是我最后一台诺记,别在 BS 我们这种没文化的弱鸡鸭用户了。我们都知道,有钱有文化的才用 iPhone,Android 手机。) 首先是保证你装了 MPD,并且能够顺利运行,MPD 默认使用的端口是 6600,没有特殊需求的话,最好还是不要改。
然后是去 Remuco 的 Googlecode 上下载源码包。源码包包含两个部分,一个是主机上的 server 实现,另一个是手机用的客户端。一般来说我们都可以找到已经编译好的 Remuco 二进制包,在 Gentoo 下 Sunrise overlay 里也有 ebuild,或者直接下载 ebuild 文件放到自己的本地 overlay 里吧,最近的版本是 remuco-0.9.3-r2.ebuild。
因为我只需要开启 remuco 对 MPD 的支持,所以我只启用了 mpd 一个 USE:
# echo "net-wireless/remuco mpd" >> /etc/portage/package.use
# emerge remuco
然后运行 remuco-mpd, 如果你发现运行失败的话(请查看 ~/.cache/remuco/mpd.log),很有可能是和我一样,主机没有蓝牙设备,我们要做的是关闭 remuco-mpd 的蓝牙支持。找到 ~/.config/remuco/remuco.cfg 文件,将如下一句键值替换:
[DEFAULT]
bluetooth-enabled = 0 #把 1 改为 0
...
重新运行 remuco-mpd,如果 ~/.cache/remuco/mpd.log 里有提示: [ manager.py ... ] player adapter started 则表示成功运行。
接下来是手机客户端,解压缩的源码包有个 client/midp/app 目录下有个 remuco.jad 和 remuco.jar 安装文件,不需要 BT 的话就安装 no-bluetooth 子目录下的安装包吧。
运行手机上的 Remuco 客户端,一般来说设置 Host or IP 项就行了,我通过路由器已经绑定了主机的固定 IP 为 192.168.1.100,默认 wifi 的连接端口是 34271,启用了 iptables 的话还得对端口放行,因为我同样固定了手机的 IP 为 192.168.1.101,所以之前就通过 iptables 对来自手机的全部访问都放行了。
# iptables -A INPUT -s 192.168.1.101 -j ACCEPT
没什么问题的话,手机就能顺利控制 MPD 啦,这是主机上运行的 ncmpcpp,显示正在播放 Mono 的_Follow the Map_。

来看下手机端的显示,同样是 Mono 的_Follow the Map_。

还可以用手机查看播放列表及 MPD 上的音乐库,并通过手机进行遥控操作。


另外,录制了一小段演示视频,视频内演示了通过手机快捷键 n/p 实现歌曲的切换,以及添加歌曲到播放列表,整个操作都是手机端和主机同步的。拍的有点抖,实在不是当 AV 男的料啊 -_-|||(注:此视频基于 HTML5 的 video 技术,采用开源的 ogv 格式,只支持 h.264 的 Safari…忽略你!)