gnome のデスクトップテーマは、desktop-base を指していて、は、Linux 上での gnome の壁紙やログイン画面、起動画面のシステム設定をまとめて設定するもの。
実体は /usr/share/desktop-base
にあります。
GTK アプリケーションや GNOME Shell のテーマとは別で、それらは /usr/share/themes
に収められています。
また、アイコンのテーマは /usr/share/icons/
に収められています。
調べた過程で試行錯誤した記録は
「gnome のデフォルトデスクトップ壁紙を変更する」https://qiita.com/nanbuwks/items/2ee5b1dab1955d2d7535
に書いたけれどもわかりずらい記事だったので、設定方法だけ抜き出しました。
デスクトップテーマの場所
/usr/share/desktop-base にあり、
$ ls /usr/share/desktop-base/
active-theme grub_background.sh profiles
debian-homepage.desktop homeworld-theme retro-theme
debian-logos joy-inksplat-theme softwaves-theme
debian-reference.desktop joy-theme spacefun-theme
debian-security.desktop kf5-settings splash01.svg
emerald-theme lines-theme
futureprototype-theme moonlight-theme
このうちデフォルト設定は以下で指定されています。
$ ls -alh /etc/alternatives/desktop-theme
lrwxrwxrwx 1 root root 37 6月 30 14:32 /etc/alternatives/desktop-theme -> /usr/share/desktop-base/emerald-theme
デスクトップテーマを選択する
# rm /etc/alternatives/desktop-theme
# ln -s /usr/share/desktop-base/joy-theme /etc/alternatives/desktop-theme
デスクトップテーマを作る
適当なデスクトップテーマからコピーします。例として emerald-theme をコピーします。
# cd /usr/share/desktop-base
# cp -a emerald-theme test-theme
# cd test-theme
# ls -alh
合計 24K
drwxr-xr-x 6 root root 4.0K 6月 30 14:32 .
drwxr-xr-x 15 root root 4.0K 7月 7 17:49 ..
drwxr-xr-x 2 root root 4.0K 6月 30 14:48 grub
drwxr-xr-x 3 root root 4.0K 6月 30 14:48 lockscreen
drwxr-xr-x 2 root root 4.0K 6月 30 14:48 login
lrwxrwxrwx 1 root root 29 7月 12 2023 plymouth -> ../../plymouth/themes/emerald
drwxr-xr-x 3 root root 4.0K 6月 30 14:48 wallpaper
このうち、 plymouth と grub は別に指定するのが簡単なので、削除します。
# rm plymouth
# rm -rf grub
# ls -alh
total 20K
drwxr-xr-x 5 root root 4.0K Jul 10 00:04 .
drwxr-xr-x 16 root root 4.0K Jul 9 23:57 ..
drwxr-xr-x 3 root root 4.0K Jun 30 14:48 lockscreen
drwxr-xr-x 2 root root 4.0K Jun 30 14:48 login
drwxr-xr-x 3 root root 4.0K Jun 30 14:48 wallpaper
壁紙をカスタマイズする
wallpaper/gnome-background.xml
を編集します。
元々はこのようになってますが、
<background>
<static>
<duration>8640000.0</duration>
<file>
<size width="1280" height="800">/usr/share/desktop-base/emerald-theme/wallpaper/contents/images/1280x800.svg</size>
<size width="1280" height="1024">/usr/share/desktop-base/emerald-theme/wallpaper/contents/images/1280x1024.svg</size>
<size width="1600" height="1200">/usr/share/desktop-base/emerald-theme/wallpaper/contents/images/1600x1200.svg</size>
<size width="1920" height="1080">/usr/share/desktop-base/emerald-theme/wallpaper/contents/images/1920x1080.svg</size>
<size width="1920" height="1200">/usr/share/desktop-base/emerald-theme/wallpaper/contents/images/1920x1200.svg</size>
<size width="2560" height="1440">/usr/share/desktop-base/emerald-theme/wallpaper/contents/images/2560x1440.svg</size>
<size width="2560" height="1600">/usr/share/desktop-base/emerald-theme/wallpaper/contents/images/2560x1600.svg</size>
<size width="3200" height="1800">/usr/share/desktop-base/emerald-theme/wallpaper/contents/images/3200x1800.svg</size>
<size width="3200" height="2000">/usr/share/desktop-base/emerald-theme/wallpaper/contents/images/3200x2000.svg</size>
<size width="3840" height="2160">/usr/share/desktop-base/emerald-theme/wallpaper/contents/images/3840x2160.svg</size>
<size width="5120" height="2880">/usr/share/desktop-base/emerald-theme/wallpaper/contents/images/5120x2880.svg</size>
</file>
</static>
</background>
解像度をたくさん用意するのはメンドクサイので、調べたら以下の代表2つぐらいに簡略化しても大丈夫ぽいです。
<background>
<static>
<duration>8640000.0</duration>
<file>
<size width="1280" height="1024">/usr/share/desktop-base/test-theme/wallpaper/contents/images/1280x1024.svg</size>
<size width="1920" height="1080">/usr/share/desktop-base/test-theme/wallpaper/contents/images/1920x1080.svg</size>
</file>
</static>
</background>
xml にあわせて画像を作成し、 contents/images/ に保存します。
login, lockscreen
この2つのディレクトリも同様に書き換えます。
変更反映
# rm /etc/alternatives/desktop-theme
# ln -s /usr/share/desktop-base/test-theme /etc/alternatives/desktop-theme