阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MOC,命令行音乐播放器

295次阅读
没有评论

共计 3572 个字符,预计需要花费 9 分钟才能阅读完成。

导读 moc(Music On Console,播放器程序是 mocp,在 Arch Linux 的 Commity 中有个 tray 版本的 moc,启动时会在面板上显示一个图标,能直接启动 mocp 服务和播放器。甚至还能让 osdlyrics 加载桌面歌词,不过这很卡.)

适用于命令行,在黑乎乎的 Linux 核心控制台 (字符界面) 上也能成功启动和播放,但 Linux 核心控制台默认是没有中文支持的,可以试试能显示中文的 fbterm(直接从核心控制台启动,不需要运行 X 服务)如果需要的话。即便如此,正常使用仍然需要一番手动配置才行,如果全是英文歌曲的话例外。

MOC,命令行音乐播放器

基本上很多的 Linux 发行的官方源中已经包含了这个软件包,直接使用软件包管理工具安装。Arch Linux 的是 pacman。

注:启动 mocp 之前, 如果需要启用更多的音频格式支持,有必要从源上安装解码器

mocp 配置

在配置 mocp 之前,可以先从 moc 的 man 手册页或者 info 页获取更多的信息(比如配置文件是什么, 应该放到什么位置,格式应该是什么样的 ……)

$ mocp --help
$ man mocp
$ info mocp

注:moc 的 aur 版本允许 mocp 加载歌词(但仅限某些 utf- 8 编码的 ascii 文本(纯英文)), 这个版本会和系统中已经安装的冲突.

虽然 osdlyrics 理论上也支持 moc,然而仅仅只是安装 moc 然后打开 mocp 再打开 osdlyrics 并不会加载音频文件的 lyrics 的(尽管这也不会导致 osdlyrics 退出)

要让 osdlyrics 真正支持 moc, 还要安装 moc-tray 这个任务栏小程序并在启动 osdlyrics 之前启动 mocp 和 moc-tray.

moc-tray 可以直接启动 mocp 并且支持停止 / 播放 / 暂停 / 退出,下一首 / 上一首等动作, 不过某些动作需要在 mocp 中配置播放列表才能得到正确响应。

aur 上的 moc 构建和安装:

下载 PKGBUILD 等 makepkg 需要的脚本.

$ git clone https://aur.archlinux.org/moc-lyrics-git.git
$ pushd mocp-lyrics-git
$ makepkg -sr

编译成功之后会产生一个.pkg.tar.xz 包,然后使用 pacman - U 安装

$ mv moc-lyrics-git-1\:0.2213.c51e02e-1-x86_64.pkg.tar.xz moc-lyrics-git-x86_64.pkg.tar.xz
# pacman -U moc-lyrics-git-x86_64.pkg.tar.xz

拷贝 mocp 示例配置文件到~/.moc(没有就创建), 参数配置可以从示例文件 config.example(可以运行 locate config.example)中找到

mocp 的示例配置文件尽管使用了英文,但解释的很详细.

$ mkdir ~/.moc
$ cp `locate config.example` ~/.moc/config

下面这是从实例配置文件拷过来的,以 #号开始的都是注释(尽管注释看起来显得晦涩难懂,但作者解释的很清楚)。

~/.moc/config

# This is a configuration file for the MOC player. It should be named
# 'config' and placed in the ~/.moc directory. As this file can specify
# commands which invoke other applications, MOC will refuse to start if it
# is not owned by either root or the current user, or if it is writable by
# anyone other than its owner. All options are given with their default
# values, and therefore commented.
# Comments begin with '#'.
# You can use quotes and escape ('\') in parameters.
#
# You can have variable values substituted by enclosing the variable name
# as "${...}". (This only applies to the portion of the option following
# the '='.) Variables are substituted first from the environment then,
# if not found, from the configuration options. (Note that the value of
# a configuration option substituted is that which it has at the time the
# substitution variable is encountered.) If there is a naming conflict
# between an environment and configuration variable, you may be able to
# resolve it by using lowercase as the environment variable matches are
# case-sensitive whereas the configuration variables are not.
#
# You can also use the form "${...:-...}" where the value in the second
# position will be substituted if the variable name given in the first
# position is unset or null.
#
# So, for example:
#
# MusicDir = /music/${USER:-public}
# Fastdir1 = ${MusicDir}/mp3/rock
# Fastdir2 = ${MusicDir}/mp3/electronic
# Fastdir3 = ${MusicDir}/mp3/rap
# Fastdir4 = ${MusicDir}/mp3/etc
#
……
……
……
mocp 键盘映射配置

mocp 键盘映射自定义, 示例键盘映射可以从 $prefix/share/moc/keymap.example 找到

$ vim ~/.moc/keymap
menu_up            = k UP
menu_down        = j DOWN
menu_page_up            = ^b PAGE_UP
menu_page_down        = ^d PAGE_DOWN
menu_first_item        = M-b HOME
menu_last_item        = M-d END
mocp 主题

mocp 主题默认安装到 $prefix/share/moc/themes 目录下, 可以自定义主题只对用户生效(放到~/.moc/themes 目录下).

mocp 启动时指定的主题或者在用户级配置文件~/.moc/config 中指定的主题可以自动从 $prefix/share/moc/themes 和~/.moc/themes 中读取.(没有就要在~/.moc/config 的 Theme 使用绝对路径来指定)

创建~/.moc/themes 目录

$ mkdir -pv ~/.moc/themes
$ cp /usr/share/moc/themes/moca_theme ~/.moc/themes/user_moca_theme 

~/.moc/themes/ user_moca_theme 

background        = white    default bold
frame            = white    default bold
window_title        = yellow    default    bold
directory        = white        default
selected_directory    = white        default bold
playlist        = white default
selected_playlist    = cyan        default    bold
file            = green default bold
#selected_file        = yellow    red    bold
selected_file        = white black bold
…….
mocp User themes

这是我的 moc 最终的样子:

MOC,命令行音乐播放器

fbterm 显示出来也是这个样子的,不过桌面歌词就没有了。

注:在 fbterm 中将 TERM 变量一直设为 fbterm 时会让一些基于 ncursers 库的命令行程序界面 (比如 mc 和 alsamixer,mocp) 变得乱七八糟。而只有在将 TERM 变量值设置为 fbterm 的时候才可以让 vim 在 fbterm 上支持更多的颜色。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计3572字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7971642
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛 NAS 玩转 Frpc 并且配置,随时随地直连你的私有云 大家好,我是星哥,最近在玩飞牛 NAS。 在数...
星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛 NAS-4:飞牛 NAS 安装 istore 旁路由,家庭网络升级的最佳实践 开始 大家好我是...
如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的 Nano Banana Pro?附赠邪修的用法 前言 大家好,我是星哥,今天来介绍谷歌的 ...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...