🎵 开源终端播放器 Waves 安装部署教程
这个播放器最适合喜欢在终端里折腾、追求极致效率的音乐爱好者。下面是详细的安装步骤。
第一步:安装前的系统准备
Waves 深度依赖 Linux 系统,在安装它之前,需要确保系统已经准备好了必要的“建筑材料”。
- 操作系统:你需要一台运行 Linux 的电脑。教程以 Ubuntu 为例。
安装 Go 语言环境:Waves 是用 Go 语言编写的,且需要 Go 1.25 或更高版本 才能从源码编译 。
打开终端,执行以下命令安装 Go:
sudo apt update sudo apt install golang-go- 安装完成后,输入
go version验证版本号是否满足要求。
安装 ALSA 开发库:这是 Waves 用来输出声音的核心库 。
在终端执行:
sudo apt install libasound2-dev
第二步:下载并编译 Waves 源码
系统准备就绪后,就可以开始获取 Waves 的源码并进行编译了。
获取源码:使用
git命令将 Waves 的代码克隆到本地 。git clone https://github.com/llehouerou/waves.git进入目录:
cd waves编译安装:使用
go install命令进行编译和安装。这个过程会把可执行文件放到你的~/go/bin目录下 。go install github.com/llehouerou/waves@latest- 小提示:如果提示找不到
go命令,请检查第一步的 Go 是否安装成功。
- 小提示:如果提示找不到
第三步:基础运行与配置
安装完成后,需要进行一些基础配置,让 Waves 知道你的音乐在哪里,并连接必要的服务。
- 首次运行:直接在终端输入
waves并回车,程序会启动并自动创建默认的配置文件目录~/.config/waves/。 编辑配置文件:Waves 的强大功能都通过编辑配置文件实现。使用你喜欢的文本编辑器(如
nano或vim)打开配置文件:nano ~/.config/waves/config.toml配置音乐库路径:找到
default_folder这一行,将它指向你存放音乐的文件夹。这是浏览本地音乐的基础 。# 例如,你的音乐在 /home/你的用户名/Music 下 default_folder = "~/Music"配置图标样式(可选但推荐):如果你安装了 Nerd Font 字体,可以将
icons设置为"nerd",这样界面会显示更漂亮的图标 。icons = "nerd"
第四步:配置 Soulseek 下载功能(进阶)
这是 Waves 最吸引人的特性之一——内置下载功能。但前提是你需要先部署一个名为 slskd 的独立服务。slskd 是一个基于 Web 的 Soulseek 客户端,Waves 通过 API 调用它来完成搜索和下载 。
- 部署 slskd:这部分内容较多,你需要在服务器或本地电脑上通过 Docker 或直接下载二进制文件来运行 slskd。
- 获取 API 密钥:成功运行 slskd 后,在它的 Web 界面设置中找到 API 密钥。
配置 Waves 连接 slskd:回到
config.toml文件,找到[slskd]部分,填入你的 slskd 地址和 API 密钥,并指定下载完成的路径 。[slskd] url = "http://localhost:5030" # slskd 的默认地址 apikey = "你的-api-密钥-here" completed_path = "~/downloads/complete" # 必须和 slskd 的下载目录一致
第五步:配置 Last.fm 功能(可选)
如果你想记录收听历史或使用“电台模式”,就需要配置 Last.fm。
- 获取 API 凭证:访问 Last.fm API 申请页面 创建一个应用,获取
api_key和api_secret。 填入配置文件:在
config.toml中找到[lastfm]部分,填入你的信息 。[lastfm] api_key = "你的-api-key" api_secret = "你的-api-secret"- 关联账户:保存配置文件后,在 Waves 运行界面,按下
f键,然后按l键,按照屏幕上的提示授权你的 Last.fm 账户 。
第六步:运行与基本操作
一切就绪,在终端输入 waves 即可开启你的极客音乐之旅。
- 核心操作:程序启动后,随时可以按
?键查看所有快捷键帮助 。 - 视图切换:
F1浏览库,F2文件浏览器,F3播放列表,F4下载管理器 。 - 播放控制:
空格键播放/暂停,方向键选择歌曲,Enter键播放选中歌曲并清空当前队列,a键将选中歌曲添加到播放队列 。
🤔 常见问题排查
- 编译时报错 “go: github.com/llehouerou/waves@latest: module ... not found”:这通常是因为网络问题导致无法下载依赖。可以尝试设置 Go 模块代理:
go env -w GOPROXY=https://goproxy.cn,direct,然后再重新运行go install。 - 运行时提示 “无法打开音频设备”:检查 ALSA 库是否安装正确(
sudo apt install libasound2-dev),并确认没有其他程序独占声卡。 - 下载功能无法使用:请先独立测试 slskd 服务是否正常运行,以及
config.toml中的url和apikey是否填写无误。
整个配置过程中,关联 Last.fm 和 slskd 下载的步骤需要用到 API 密钥,操作起来可能有点繁琐。你在设置这两个部分时,需要我针对其中某一个环节(比如如何获取 Last.fm API 密钥)
I've been looking for a terminal player with Soulseek integration for ages. This tutorial is gold! The step-by-step with config file examples saved me so much time. One question though: does Waves support FLAC playback natively? I have a bunch of lossless files and want to make sure. Great work!
作为一个命令行爱好者,这种播放器太对我胃口了!以前用cmus比较多,但Waves这个Soulseek集成真是杀手级功能。教程写得很详细,从Go环境到ALSA库都覆盖到了。唯一遇到的问题是go install的时候超时,用了你提供的代理设置就解决了。赞!
终于有个教程把Waves讲清楚了!之前折腾这个播放器卡在slskd配置上好久,一直连不上。按照你说的步骤重新走了一遍,特别是API密钥那里,原来是要在slskd的web界面里找,我之前一直以为是自己随便填的。现在下载功能完美运行,终端听歌还能直接下,简直不要太爽。