在FC5上使用XMMS2

作者:aaccdd
来自:LinuxSir.Org
摘要:XMMS2 ,X(cross platform) Music Multiplexing System,是新一代的音乐播放器,采用CS模式,使得多种、多个图形和命令行客户程序同时运行,提供优质的音乐播放功能。该项目正在开发中,最新发布的开发版本是0.2 Dr Doolittle。
gxmms2(http://wejp.mooo.com) 是基于一款gtk2的xmms2图形前端。

一 下载安装:
提供下载的是git开发版,目前是0.2DrEvil RC1(尚未正式发布)。
下载地址:从这里下载

解压安装:

tar xjvf xmms2-gxmms2-fc5.i386.rpm.tar.bz2
yum localinstall *.rpm

安装前先暂时禁用gpgcheck,修改/etc/yum.conf

gpgcheck=0

安装前先添加freshrpms.repo
wget http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/5/freshrpms-release/freshrpms-release-1.1-1.fc.noarch.rpm
rpm -ivh freshrpms-release-1.1-1.fc.noarch.rpm

二 配置使用

以下内容参考xmms2 wiki

守护程序——xmms2d

安装xmms2后用命令xmms2d启动,(以守护进程方式运行用命令xmms2-launcher);之后就可以使用客户端同守护程序交互操作。

xmms2d
xmms2 play

xmms2d 选项

-v, --verbose 增加音量
-q, --quiet 减小音量
-V, --version 版本信息
-n, --no-logging 不作日志
-o, --output=<x> 输出插件
-i, --ipc-socket=<url> 监听套接字url
-p, --plugindir=<foo> 插件路径
-c, --conf=<file> 指定配置文件
-s, --status-fd=fd 启动写入的文件描述符

配置守护程序

配置输出插件:

xmms2 config output.plugin oss-or-alsa-or-whatever-plugin-you-should-use

指定xmms2d监听通过TCP的请求:

xmms2 config core.ipcsocket tcp://127.0.0.1:<port>

重启xmms2d,即会监听该端口,这种方法只对本机起作用;要让从网络上的机器,如局域网的机器,连接xmms2服务器,需要指定本机网络接口地址,如ip地址为192.168.2.20,则:
xmms2 config core.ipcsocket tcp://192.168.2.20:<port>

现在从局域网内的机器就可以连接到服务器上了,还要告诉客户端(包括本机)通过这个ip地址连接; 如果使用CLI(命令行界面),要添加以下内容到~/.xmms2/clients/cli.conf:
ipcpath=tcp://192.168.2.20:<port>

通常XMMS2客户端使用环境变量XMMS_PATH来寻找守护程序,通过设置core.ipcsocket来设定多个套接字:
<path>;<path>;<path>

在使用ipv6和通配卡(地址“::”)依据系统不同,可能会遇到问题;在Linux下,监听“::”的套接字同时也会监听ipv4,除非在/proc/sys/net/ipv6/bindv6only中设置值为1。

客户端

使用xmms2自带的命令行客户端xmms2

xmms2 client 选项:

基本的CLI xmms2客户端可以使用IPC的可选择路径,只要设置XMMS_PATH环境变量为适当的路径,就可以使用。

可以选择Unix 套接字路径( Bash shell):

XMMS_PATH="unix:///tmp/my-socket" xmms2 list

等同于:
export XMMS_PATH="unix:///tmp/my-socket"
xmms2 list

t(c)sh用户:
setenv XMMS_PATH "unix:///tmp/my-socket"
xmms2 list

通过TCP同守护程序通讯(本例中,机器ip地址10.0.0.1,守护程序监听端口7777;不是说默认端口是7777):

export XMMS_PATH="tcp://10.0.0.1:7777"
xmms2 list

(t)csh 用户:

setenv XMMS_PATH "tcp://10.0.0.1:7777
xmms2 list

使用xmms2客户端基本命令:

添加目录中所有文件到medialib(递归添加所有子目录中的文件):

xmms2 mlib addpath /path/to/music

添加文件到播放列表:
xmms2 add /some/path/*.ogg

播放:
xmms2 play

查询medialib数据库(比如个人喜好的乐队):
xmms2 mlib search artist="Kultiration"

查询medialib数据库并添加结果到播放列表:
xmms2 mlib searchadd artist="Kultiration"

收听shoutcast stream (假定curl plugin安装,播放列表为空):
xmms2 mlib import_playlist bluemars http://207.200.96.225:8020/listen.pls
xmms2 mlib load_playlist bluemars
xmms2 play

或直接用地址:
xmms2 add http://207.200.96.225:8020
xmms2 play

启用特效:
xmms2 config effect.order.0 some-effect-name
xmms2 config effect.some-effect-name.enabled 1

还是有依赖问题

[root@chowroc xmms2]# yum localinstall *.rpm
Repository 'bmpx-source' is missing name in configuration, using id
Repository 'bmpx-debuginfo' is missing name in configuration, using id
Loading "installonlyn" plugin
Setting up Local Package Process
Examining gxmms2-0.6.4-1.20060902git.i386.rpm: gxmms2 - 1:0.6.4-1.20060902git.i386
Examining xmms2-0.2-1.6.20060903git.i386.rpm: xmms2 - 1:0.2-1.6.20060903git.i386
Examining xmms2-devel-0.2-1.6.20060903git.i386.rpm: xmms2-devel - 1:0.2-1.6.20060903git.i386
Examining xmms2-libs-0.2-1.6.20060903git.i386.rpm: xmms2-libs - 1:0.2-1.6.20060903git.i386
Marking gxmms2-0.6.4-1.20060902git.i386.rpm to be installed
Setting up repositories
livna [1/11]
bmpx-source [2/11]
extras [3/11]
core [4/11]
gst-0.10-apps [5/11]
bmpx [6/11]
updates [7/11]
freshrpms [8/11]
gst-0.10-deps [9/11]
bmpx-debuginfo [10/11]
gst-0.10-gst [11/11]
Reading repository metadata in from local files
Marking xmms2-0.2-1.6.20060903git.i386.rpm to be installed
Marking xmms2-devel-0.2-1.6.20060903git.i386.rpm to be installed
Marking xmms2-libs-0.2-1.6.20060903git.i386.rpm to be installed
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package xmms2.i386 1:0.2-1.6.20060903git set to be updated
---> Package gxmms2.i386 1:0.6.4-1.20060902git set to be updated
---> Package xmms2-libs.i386 1:0.2-1.6.20060903git set to be updated
---> Package xmms2-devel.i386 1:0.2-1.6.20060903git set to be updated
--> Running transaction check
--> Processing Dependency: libecore.so.1 for package: xmms2-libs
--> Processing Dependency: libfaad.so.0 for package: xmms2-libs
--> Processing Dependency: libmms.so.0 for package: xmms2-libs
--> Processing Dependency: libmodplug.so.0 for package: xmms2-libs
--> Processing Dependency: libmac.so.2 for package: xmms2-libs
--> Processing Dependency: libmad.so.0 for package: xmms2-libs
--> Processing Dependency: libvorbisfile.so.3 for package: xmms2-libs
--> Processing Dependency: libmpcdec.so.3 for package: xmms2-libs
--> Processing Dependency: libecore_dbus.so.1 for package: xmms2-libs
--> Processing Dependency: libsqlite3.so.0 for package: xmms2
--> Processing Dependency: libsmbclient.so.0 for package: xmms2-libs
--> Processing Dependency: libavformat.so.50 for package: xmms2-libs
--> Processing Dependency: libavutil.so.49 for package: xmms2-libs
--> Processing Dependency: libavcodec.so.51 for package: xmms2-libs
--> Processing Dependency: gkrellm >= 2.2 for package: gxmms2
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package samba-common.i386 0:3.0.23a-1.fc5.1 set to be updated
---> Package libvorbis.i386 1:1.1.2-1.2 set to be updated
---> Package gkrellm.x86_64 0:2.2.9-0.fc5.1 set to be updated
--> Running transaction check
--> Processing Dependency: libecore.so.1 for package: xmms2-libs
--> Processing Dependency: libmac.so.2 for package: xmms2-libs
--> Processing Dependency: libmodplug.so.0 for package: xmms2-libs
--> Processing Dependency: libmms.so.0 for package: xmms2-libs
--> Processing Dependency: libmad.so.0 for package: xmms2-libs
--> Processing Dependency: libmpcdec.so.3 for package: xmms2-libs
--> Processing Dependency: libecore_dbus.so.1 for package: xmms2-libs
--> Processing Dependency: libsqlite3.so.0 for package: xmms2
--> Processing Dependency: libfaad.so.0 for package: xmms2-libs
--> Processing Dependency: libavutil.so.49 for package: xmms2-libs
--> Processing Dependency: libavcodec.so.51 for package: xmms2-libs
--> Processing Dependency: libavformat.so.50 for package: xmms2-libs
--> Finished Dependency Resolution
Error: Missing Dependency: libecore.so.1 is needed by package xmms2-libs
Error: Missing Dependency: libfaad.so.0 is needed by package xmms2-libs
Error: Missing Dependency: libmms.so.0 is needed by package xmms2-libs
Error: Missing Dependency: libmodplug.so.0 is needed by package xmms2-libs
Error: Missing Dependency: libmac.so.2 is needed by package xmms2-libs
Error: Missing Dependency: libmad.so.0 is needed by package xmms2-libs
Error: Missing Dependency: libmpcdec.so.3 is needed by package xmms2-libs
Error: Missing Dependency: libecore_dbus.so.1 is needed by package xmms2-libs
Error: Missing Dependency: libsqlite3.so.0 is needed by package xmms2
Error: Missing Dependency: libavformat.so.50 is needed by package xmms2-libs
Error: Missing Dependency: libavutil.so.49 is needed by package xmms2-libs
Error: Missing Dependency: libavcodec.so.51 is needed by package xmms2-libs

装到哪去了呢?

照着步骤安装,好像装好了。你说用xmms2d启动,怎么启动?它在哪?
[root@localhost Desktop]# xmms2d
bash: xmms2d: command not found
[root@localhost Desktop]# xmms2play
bash: xmms2play: command not found
[root@localhost Desktop]#

还有啊

我除了系统成功安装以外,其它的什么都不知道怎么安装,要安装好了,也不知道在哪,怎么用,满屏幕的命令不知道什么意思,到底是好了还是没好。
就好像是这样:
命令(打个比方)
xxxxxx,xxxx,xxxxxxxx,xxxxxx..(x代表系统反馈的文字)
再命令
它再xxxxxxxxxxx.xxx.x.xx.x.xxx

它提示的是什么呢?成功了?失败了?出错了吗?没错?
完全不知所措啊

安装前先添加freshrpms.repo 加上这一句是什么意思

安装前先添加freshrpms.repo
wget http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/5/freshrpms-release/freshrpms-release-1.1-1.fc.noarch.rpm
rpm -ivh freshrpms-release-1.1-1.fc.noarch.rpm

装了

不知有没有图形前端呢??

找到了

原来下载的RPM包包括devel,lib,前端的,C/S模式的MP3播放器,恩恩……

安装了最新的glib,还是不行...

[root@localhost glib-2.10.3]# xmms2d
INFO: src/xmms/log.c:35: Initialized logging system :)
INFO: src/xmms/main.c:443: Using output plugin: alsa
/root/.xmms2/startup.d/xmms2-mdns-launcher.sh: line 3: exec: xmms2-mdns-avahi: not found
/root/.xmms2/startup.d/xmms2-mdns-launcher.sh: line 3: exec: xmms2-mdns-dnssd: not found
Starting XMMS2 phone home agent...

我根本不想要电话家庭代理啊...

升级到最新的glib了,还是运行不起来...

[root@localhost glib-2.10.3]# xmms2d
INFO: src/xmms/log.c:35: Initialized logging system :)
INFO: src/xmms/main.c:443: Using output plugin: alsa
/root/.xmms2/startup.d/xmms2-mdns-launcher.sh: line 3: exec: xmms2-mdns-avahi: not found
/root/.xmms2/startup.d/xmms2-mdns-launcher.sh: line 3: exec: xmms2-mdns-dnssd: not found
Starting XMMS2 phone home agent...

我根本不想要电话家庭代理阿,你运行什么呀...

bad glib.glib is too old.

我用的是fedora 5,glib-2.0是2.10的,比网络上的2.9更新,怎么会too old呢?还有,我用pkg-config --modversion察看下glib有两个,glib是1.2;glib-2.0是2.10的。如果是第一个glib too old,那么要怎么样更新呢?网络流传的更新glib都只是更新了glib-2.0的,请说明清楚,谢谢。

找到了。

我用yum把glib2.0升级了,升到最新2.10.3现在可以使用xmms2了,不过不怎么会使用,没有win下的mp3方便,不会添加歌曲进去播放,不知能否专题说明下呢?

请问如何用yum升级glib呢?

请问如何用yum升级glib呢?
yum update glib
这样好像不行...

Bad glib version: GLib

Bad glib version: GLib version too old (micro mismatch)
我已经手动安装了Glib2。8,但是还是这个问题。

xmms2 ape music play

想问一下,xmms2能放APE格式的音乐文件吗?需要哪些插件支持呢?

说明一下

我在公社上传了xmms2的rpm包后,
有兄弟反映用法不是很清楚,
虽然manpage有比较全面的说明,
为了方便起见将xmms2 wiki的“xmms2 使用说明”翻译过来,
更详细的说明还是请看man xmms2/xmms2d。

装完了不知道程序装到哪里了?

装完了不知道程序装到哪里了?