Linux終端音樂播放器cmus攻略: 操作歌單

cmus是一款開源的終端音樂播放器。它小巧快速,而又功能強大。cmus支援Ogg/Vorbis、MP3、FLAC、Musepack、WavPack、WMA、WAV、AAC、MP4等格式,包含Gapless播放及ReplayGain支援,Vi風格的按鍵綁定,播放列表過濾,可訂製配色方案,UTF-8支援等等。

1. 安裝

apt install cmus

2. 操作說明

Howtoing運維教程

終端執行 cmus 啟動。

播放控制:

  • x 播放或重播音樂
  • c 暫停
  • b 播放下一首音樂
  • z 播放前一首音樂
  • shift + D 刪除
  • u 更新快取
  • q 退出程式

循環模式:

  • s 隨機播放
  • f 順序播放
  • r 循環播放
  • Ctrl + R 切換單曲循環

音量調節

  • - 減小
  • = 增大

播放列表管理(不推薦使用,建議直接操作playlist)

  • 導入本地音樂: :a /path/to/your/music/folder
  • 清空列表 :clear [-l] [-p] [-q]
  • 保存播放列表 :save /path/to/playlist
  • 載入播放列表 :load /path/to/playlist

方向鍵

  • H 快退(5s)
  • J 上
  • K 下
  • L 快進(5s)

2.1. *PlayList歌單

  • 新建歌單 :pl-create <name>
  • 導出歌單 :pl-export <filename>
  • 導入歌單 :pl-import [filename]

關於歌單,這裡多說幾句。其實大家聽本地歌曲,沒必要使用 :add /path/xxx 導入到播放列表。直接使用 5 介面,將想聽的歌曲從目錄中添加到playlist即可。具體操作如下:

  1. 創建或切換到目標歌單:

    • 3 進入playlist模式
    • :pl-create <name>
    • 在這個介面中,執行上下鍵選擇目標歌單
    • 空格 將其定義為當前操作對象
  2. 5 進入文件瀏覽模式

  3. 選擇目標音頻文件或整個文件夾,按 y 將其添加到目標歌單

2.2. 其他

  • , 快退60s
  • . 快進60s
  • :cd dir 切換目錄
  • :pwd 類似的shell標準命令
  • :set resume=true 在啟動時恢復播放
  • :set mouse=true 啟用滑鼠
  • :set mpris=true 啟用MPRIS(D-Bus支援)
  • :set show_hidden=true 瀏覽介面顯示隱藏文件
  • :set start_view=playlist 修改啟動默認視圖,可選項: [tree, sorted, playlist, queue, browser, filters, settings],默認為tree(視圖1)

3. 視圖切換

  1. Library view, 默認打開的介面,按照歌手或專輯名排列

  2. Sorted library view, 所有的歌曲的列表

  3. Playlist view, 類似於歌單,可以按需組織歌曲

    • y: 將當前選中歌曲添加到播放列表
    • P/p: 更改曲目順序
    • D: 移除
  4. Play Queue view, 播放隊列(播放優先順序最高

    • e: 將當前選中歌曲添加到隊列(下一首播放)

  5. Browser, 可以瀏覽文件,添加歌曲之類的

  6. Filters view, 顯示用戶定義的過濾設置

  7. Settings view, 顯示所有的快捷鍵設置

4. 使響應Media/play按鍵

github issue

看作者的說明:

Cmus is recognized a media player by linux, so u just need to call it through a media controller program to get it to do things. so for example playerctl -p cmus play-pause will toggle play/pause for cmus.

實測:

sudo apt install playerctl
playerctl -l  # 如果存在cmus,則繼續執行
playerctl -p cmus play-pause

結論:apt倉庫中的cmus,並沒有編譯MPRIS選項。

所以需要重新編譯一個cmus程式。

4.1. 編譯安裝

sudo apt install libsystemd-dev
    libroar-dev
    libasound2-dev  # for alsa
    libsamplerate0-dev
    libjack-dev
    libopusfile-dev

最全的依賴安裝

$ sudo apt-get install libncurses5-dev libncurses5w-dev libpulse-dev libmodplugs-dev libcddb2-dev libsystemd-dev libavformat-dev libflac-dev libao-dev libcdio-dev libcdio-cdda-dev libvorbis-dev libopusfile-dev libroar-dev libdiscid-dev libsamplerate0-dev libmpcdec-dev libmad0-dev libmp4v2-dev libasound2-dev libjack-dev libcue-dev

編譯安裝

./configure  CONFIG_MPRIS=y  prefix=$HOME/bin/cmus/
make
make install

此時運行 $HOME/bin/cmus/bin/cmus ,發現已經支援多媒體鍵的 播放/暫停 功能啦。

筆者在多次編譯後,偶然遇到這樣一個錯誤:

could not initialize required output plugin

原因未知。在cmus介面中執行 :set output_plugin=pulse 即恢復正常了。