快轉到主要內容

Linux桌面自訂滑鼠游標這檔事

· 民國115年丙午年
·
切換正體/简体 ·
分類 Linux系統 Linux使用技巧
標籤 X Window Wayland KDE Plasma GNOME
目錄

講解如何更換Linux的滑鼠游標 / 鼠標 / 指針 / 光標。

title.webp
zoom.webp

1. Xcursor概述
#

Linux各大桌面遵循Xcursor的標準來更換滑鼠圖示。

不過電腦要更換滑鼠游標(cursor)圖示似乎沒那麼簡單了。

我是說Linux桌面。Windows簡單多了呢,下載.cur檔案就能替換,不過聽說有小屁孩會爲了把滑鼠游標換成Minecraft圖示導致電腦中毒。

以前X11桌面的時代可以任意更換,因為Xcursor統一處理,X11會透過讀取~/.Xresources,或者由桌面環境決定游標主題。

Wayland就很複雜了。沒弄好的話會導致APP的滑鼠外觀不一致。

Wayland沿用了Xcursor的標準,但桌面環境需要負責的東西變多了,滑鼠外觀這件事上就落到了合成器頭上。GNOME和KDE都有自己的滑鼠主題(Adwaita尖尖的,Breeze則是圓角),甚至GTK和QT自己做client decoration,這就導致了過去有一段時間,在KDE開啟GTK程式(如Firefox)會變成GNOME的滑鼠。

為了解決這個問題,現在各大桌面使用了cursor-shape-v1的協定來定義滑鼠游標外觀。wlroots寫的合成器如Hyprland也支援了。

隨著時間發展,現在只有在打包不良的Flatpak程式才會偶爾出現游標不一致的情況。Arch Wiki記錄了如何用各種手段讓游標主題一致。

2. 自製游標檔案格式
#

  1. GNOME Look和KDE Store有很多游標主題能下載。

  2. 要自製游標主題不難,以Xcursor的格式建立圖片就可以了。另外有程式能將Windows的.ani與.cur檔案轉成Xcursor格式:https://github.com/quantum5/win2xcur

  3. 參照Xcursor手冊:XCURSOR(3) manual page,一個游標主題目錄應該有以下檔案,包含各種滑鼠狀態的圖示。沒有副檔名,本身是Xcursor定義的二進位格式。這些檔案可以由xcursorgen生成。

主題名稱
├── index.theme
└── cursors/
    ├── left_ptr
    ├── hand2
    ├── xterm
    ├── wait
    ├── watch
    ├── cross
    ├── default
    └── pointer
  1. 遵照XDG標準,把游標主題放到~/.local/share/icons/~/.icons就能讀取。透過系統套件管理器安裝的會放到/usr/share/icons/

  2. 不過Xcursor是一個很老的標準了,不支援向量圖,要考慮HiDPI的圖片問題,也就是在單個left_ptr裡面要塞不同DPI的圖片,否則滑鼠就只會有一種解析度(預設爲24,適合1920x1080解析度的電腦)。

  3. Hyprland作者覺得Xcursor的格式爛透了,就推行自己發明的hyprcursor格式。但採用的桌面不多。

3. 桌面更換游標圖示
#

GNOME
#

  1. GNOME Look下載,將滑鼠主題放到~/.local/share/icons/~/.icons

  2. 安裝GNOME Tweaks

sudo apt install gnome-tweaks
  1. 選取滑鼠游標圖示
    gnome.webp

KDE Plasma
#

  1. KDE Store下載,將滑鼠主題放到~/.local/share/icons/~/.icons。 不知道爲什麼,有些版本的KDE只會讀取~/.icons

  2. 在Plasma系統設定 → 顏色與主題游標 → 游標,選取滑鼠圖示

    kde.webp

相關文章


感謝您的閱讀。我寫作是為了誠實表達想法,而不是追逐社群互動與流量。我很樂意傾聽你在仔細閱讀我文章之後的心得。若有內容勘誤 or 技術問題 or 回饋想法,歡迎透過本站「關於」頁面的Email與我聯絡。