开源终端播放器 Waves 安装部署教程


🎵 开源终端播放器 Waves 安装部署教程

这个播放器最适合喜欢在终端里折腾、追求极致效率的音乐爱好者。下面是详细的安装步骤。

第一步:安装前的系统准备

Waves 深度依赖 Linux 系统,在安装它之前,需要确保系统已经准备好了必要的“建筑材料”。

  1. 操作系统:你需要一台运行 Linux 的电脑。教程以 Ubuntu 为例。
  2. 安装 Go 语言环境:Waves 是用 Go 语言编写的,且需要 Go 1.25 或更高版本 才能从源码编译 。

    • 打开终端,执行以下命令安装 Go:

      sudo apt update
      sudo apt install golang-go
    • 安装完成后,输入 go version 验证版本号是否满足要求。
  3. 安装 ALSA 开发库:这是 Waves 用来输出声音的核心库 。

    • 在终端执行:

      sudo apt install libasound2-dev

第二步:下载并编译 Waves 源码

系统准备就绪后,就可以开始获取 Waves 的源码并进行编译了。

  1. 获取源码:使用 git 命令将 Waves 的代码克隆到本地 。

    git clone https://github.com/llehouerou/waves.git
  2. 进入目录

    cd waves
  3. 编译安装:使用 go install 命令进行编译和安装。这个过程会把可执行文件放到你的 ~/go/bin 目录下 。

    go install github.com/llehouerou/waves@latest
    • 小提示:如果提示找不到 go 命令,请检查第一步的 Go 是否安装成功。

第三步:基础运行与配置

安装完成后,需要进行一些基础配置,让 Waves 知道你的音乐在哪里,并连接必要的服务。

  1. 首次运行:直接在终端输入 waves 并回车,程序会启动并自动创建默认的配置文件目录 ~/.config/waves/
  2. 编辑配置文件:Waves 的强大功能都通过编辑配置文件实现。使用你喜欢的文本编辑器(如 nanovim)打开配置文件:

    nano ~/.config/waves/config.toml
  3. 配置音乐库路径:找到 default_folder 这一行,将它指向你存放音乐的文件夹。这是浏览本地音乐的基础 。

    # 例如,你的音乐在 /home/你的用户名/Music 下
    default_folder = "~/Music"
  4. 配置图标样式(可选但推荐):如果你安装了 Nerd Font 字体,可以将 icons 设置为 "nerd",这样界面会显示更漂亮的图标 。

    icons = "nerd"

第四步:配置 Soulseek 下载功能(进阶)

这是 Waves 最吸引人的特性之一——内置下载功能。但前提是你需要先部署一个名为 slskd 的独立服务。slskd 是一个基于 Web 的 Soulseek 客户端,Waves 通过 API 调用它来完成搜索和下载 。

  1. 部署 slskd:这部分内容较多,你需要在服务器或本地电脑上通过 Docker 或直接下载二进制文件来运行 slskd。
  2. 获取 API 密钥:成功运行 slskd 后,在它的 Web 界面设置中找到 API 密钥。
  3. 配置 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。

  1. 获取 API 凭证:访问 Last.fm API 申请页面 创建一个应用,获取 api_keyapi_secret
  2. 填入配置文件:在 config.toml 中找到 [lastfm] 部分,填入你的信息 。

    [lastfm]
    api_key = "你的-api-key"
    api_secret = "你的-api-secret"
  3. 关联账户:保存配置文件后,在 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 中的 urlapikey 是否填写无误。

整个配置过程中,关联 Last.fm 和 slskd 下载的步骤需要用到 API 密钥,操作起来可能有点繁琐。你在设置这两个部分时,需要我针对其中某一个环节(比如如何获取 Last.fm API 密钥)

已有 13 条评论

    1. Chris Evans Chris Evans

      I appreciate the logical flow of this tutorial: system prep, compile, basic config, advanced features, troubleshooting. It's exactly how technical documentation should be structured. The Last.fm integration works flawlessly and seeing my scrobbles update in real time from the terminal is oddly satisfying. Thanks for this!

    2. 周杰伦的耳机 周杰伦的耳机

      终于把Waves跑起来了!用nerd字体那个图标效果确实赞。不过有个问题想请教一下,配置文件里的default_folder我设的是中文路径,显示有点乱码,有没有什么解决办法?其他功能都完美,下载速度也挺快。

    3. David Miller David Miller

      The explanation of the slskd configuration is worth the price of admission alone. I've tried setting up Soulseek in the terminal before and always failed. The part about making sure completed_path matches between Waves and slskd is crucial and easy to miss. This tutorial covers all the gotchas. 10/10.

    4. 小赵 小赵

      作为一个学生党,这个播放器太实用了!不用开图形界面就能听歌,还能直接在终端里搜索下载,省流量又高效。教程写得很好,跟着做了一遍就成功了。有个小建议:能不能补充一下如何设置开机自启?我想让waves一直后台运行。

    5. Michael Brown Michael Brown

      Finally someone wrote a tutorial that doesn't assume I'm already an expert. The section on troubleshooting the go module not found error saved me. I was stuck there for hours before finding this. The proxy solution worked instantly. Now Waves is running and I'm loving the F1-F4 view switching. Great UI for a terminal app.