多媒体工具 × 6 款:Spotify、本地音乐、可视化、终端看图,全在终端里搞定

ncspot 和 spotify-player 两种 Spotify TUI 选择、kew 本地音乐播放器、rmpc 现代 MPD 客户端、cava 音频可视化、timg 终端图片查看器——6 款多媒体工具,5 款来自官方 Extra 仓库,pacman 直装。

音乐和图片这件事,不一定非得开一个 GUI 程序。本期收录 6 款多媒体相关工具——两个 Spotify 客户端、两个本地音乐播放器、一个音频可视化器、一个终端图片/视频查看器——5 款来自官方 Extra 仓库,1 款在 AUR,全部 2023 年后在社区跑热。
工具类别仓库安装
ncspotSpotify TUIExtrapacman -S ncspot
spotify-playerSpotify TUI(功能更全)Extrapacman -S spotify-player
kew本地音乐播放器AURyay -S kew
rmpcMPD TUI 客户端Extrapacman -S rmpc
cava音频可视化Extrapacman -S cava
timg终端图片/视频查看器AURyay -S timg

ncspot — 最轻量的 Spotify 终端客户端

ncspot 用 Rust 写成,界面风格来自 ncmpc,本质是一个 ncurses Spotify 播放器。占用极低是它最突出的一点——官方文档里直接提供了与 Electron 客户端的内存对比数据,差距相当大。1
基本功能覆盖曲目、专辑、播放列表、流派搜索,键位默认类 Vim,支持 IPC socket 做远程控制,可以通过脚本播放下一首或暂停。主要限制是功能相对克制——没有专辑封面渲染,也不支持歌词显示。需要 Spotify Premium。2
# 安装
pacman -S ncspot
# 启动
ncspot

spotify-player — 功能对齐官方客户端的 Spotify TUI

同样是 Spotify TUI,但 spotify-player 的目标是「功能完备度与官方客户端一致」。这个取向带来了不少 ncspot 没有的能力:支持 Spotify Connect 远程控制、在终端内渲染专辑封面图(Kitty/Sixel/iterm2/块字符均可)、同步歌词显示、桌面通知、守护进程模式,还支持 fzf 模糊搜索。3
リンクプレビューを読み込んでいます…
封面渲染有四种方式可选,在普通终端里退回到块字符,在 Kitty/foot/WezTerm 里可以显示完整分辨率图片。同样需要 Spotify Premium。4
pacman -S spotify-player
# 首次运行会要求登录授权
spotify_player
ncspot 和 spotify-player 二选一:只需要播放控制,用 ncspot;想要封面、歌词、Connect 控制,用 spotify-player。

kew — 本地音乐播放器,支持封面、主题和歌词

kew 专注本地音乐库,不联网。项目从 GitHub 迁移到 Codeberg,目前活跃维护,最近一次提交是 2026 年 5 月。5
リンクプレビューを読み込んでいます…
支持 MP3、FLAC、OPUS、OGG、WAV、AIFF、M4A 等格式;在 sixel 兼容终端里可以显示全彩封面图;内置可视化(通过外部程序 Chroma 提供帧);支持 .lrc 文件、SYLT 内嵌标签(MP3)和 Vorbis 注释(FLAC/OGG)三种歌词格式;支持 Discord Rich Presence(默认开启,可关闭)。
用法的设计挺直接——kew cure great 会在音乐库里搜索名字匹配「cure greatest hits」的目录,自动构建播放列表。搜索支持部分匹配,不需要记完整路径。
# 安装(AUR)
yay -S kew

# 播放指定艺术家
kew beethoven

# 随机播放整个音乐库
kew all

# 播放指定路径
kew play "/home/user/Music/Pink Floyd - Dark Side"
主题可以通过 kew theme <名称> 切换,也可以按 t 键在内置主题间循环。配置文件在 ~/.config/kew/kewrc

rmpc — 现代化 MPD TUI 客户端,内置 Cava 可视化

MPD 用户大概都用过 ncmpcpp,rmpc 是一个 Rust 编写的替代,设计上借鉴了 ncmpcpp 的操作逻辑和 ranger/lf 的文件浏览范式。6
リンクプレビューを読み込んでいます…
与 ncmpcpp 相比,rmpc 的差异点在于:内置 cava 集成(可视化直接渲染在界面里)、支持从 YouTube 播放音乐、支持同步歌词(LRC 格式)、界面列和颜色完全可自定义、支持脚本 hooks。
封面图支持 Kitty、Sixel、iterm2 三种协议,也可以通过 ueberzugpp 在更多终端里显示。键位全部可改,默认是 Vim 风格。7
# 需要先安装并运行 MPD
pacman -S mpd rmpc
systemctl --user enable --now mpd
rmpc

cava — 音频可视化,和任何播放器搭

cava 是一个独立的终端音频可视化器,显示频谱柱状图,可以跑在任何播放器旁边——不绑定特定软件,通过 PipeWire/PulseAudio/ALSA 捕获系统音频输出。8
支持 SDL 桌面窗口模式(不只是终端)。配置文件在 ~/.config/cava/config,支持自定义颜色、条数、平滑度、均衡器。可以通过 SIGUSR1/SIGUSR2 信号热重载配置。
有一个非常规用法:cava 支持 Raw Output 模式,把频谱数据以二进制格式写入 stdout,可以 pipe 给其他程序做二次处理,比如控制 RGB 灯带或 LED 阵列。
PipeWire 默认配置下 cava 会自动识别当前输出设备,通常开箱即用。
pacman -S cava
cava
# 按 q 退出,上下键调整灵敏度,左右键调整柱宽

timg — 在终端里查看图片和视频

timg 是一个终端图片+视频查看器,支持 Kitty、Sixel、iterm2 三种高分辨率图形协议,在不支持这些协议的终端里退回到半块/四分块字符渲染。9
能查看的内容比较广:静态图片、GIF 动图、视频文件(依赖 ffmpeg),还能直接打开 URL 和 PDF(第一页)。支持 --grid=NxM 以网格方式浏览多张图片,可以显示文件名标题。
一个常见用法是在 fzf 预览窗口里调用 timg 预览图片:
# 安装(AUR)
yay -S timg

# 基本查看
timg some-image.jpg

# 网格浏览,2 列,显示文件名
timg --grid=2x1 --title *.jpg

# 在 fzf 预览窗口中显示图片
ls *.jpg | fzf --preview='timg -E --frames=1 -g $(( $COLUMNS/2-4 ))x$(( $FZF_PREVIEW_LINES*2 )) {}'

# 在 vifm 里打开图片(写入 vifmrc)
# filextype *.jpg,*.png {View in timg} timg --center --clear %f
timg 本体在 AUR,不在官方 Extra 仓库(截至 2026 年 5 月)。

小结

6 款工具的覆盖范围:Spotify 流媒体(ncspot / spotify-player)、本地音乐库(kew / rmpc+MPD)、音频可视化(cava)、终端看图(timg)。5 款来自官方 Extra,直接 pacman 安装;kew 和 timg 在 AUR,用 yay。
Spotify 用户如果还在开着官方 Electron 客户端,ncspot 或 spotify-player 是两个值得试一下的替代路径,内存占用差距很明显。

このコンテンツについて、さらに観点や背景を補足しましょう。

  • ログインするとコメントできます。