📢 本文由 gemini-2.5-flash 翻譯
前言
這應該是最近最後一次的玩物了,不過在啟用許多外掛後,開機需要很久才會顯示桌面,之後我會停用一些不常用的。
主題
透過
閱讀書籍
得知
GNOME 的主題網站
,然後去逛了一下,打開第一個主題就深深地吸引了我。
連結
主題:
Fluent round gtk theme
Github:
vinceliuice/Fluent-gtk-theme: Fluent design gtk theme for linux desktops
安裝
透過 GitHub 的 README 得知透明版需要外掛
Blur Me
,但我當時看的時候,該外掛不適用我的 GNOME 版本 (寫文章時查看也沒適用了)。當時我沒有安裝透明版本,但我忘了怎麼就找到了一個支援的:
Blur my Shell
(這透明效果真的超美!!!)
- 透過 Git 複製儲存庫
1
| git clone https://github.com/vinceliuice/Fluent-gtk-theme.git
|
- 執行腳本
可以新增選項來自訂,具體效果預覽還是參考 README 吧。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| -d, --dest DIR 指定目的目錄 (預設值: /usr/share/themes)
-n, --name NAME 指定主題名稱 (預設值: Fluent)
-t, --theme VARIANT 指定主題顏色變體 [default|purple|pink|red|orange|yellow|green|grey|all] (預設值: blue)
-c, --color VARIANT 指定顏色變體 [standard|light|dark] (預設值: 所有變體)
-s, --size VARIANT 指定尺寸變體 [standard|compact] (預設值: 所有變體)
-i, --icon VARIANT 為 shell 面板指定圖示變體
[default|apple|simple|gnome|ubuntu|arch|manjaro|fedora|debian|void|opensuse|popos|mxlinux|zorin]
(預設值: Windows 圖示)
--tweaks 為調整指定版本 [solid|float|round|blur|noborder|square]
solid: 無透明版本
float: 浮動面板
round: 圓角視窗
blur: 模糊效果版本,適用於 'Blur-Me'
noborder: 無邊框視窗與選單
square: 方形視窗按鈕
-h, --help 顯示說明
|
圖示
主題有一個配套的圖示,這當然要裝上。
連結
Github:
vinceliuice/Fluent-icon-theme: Fluent icon theme for linux desktops
安裝
和主題差不多,先複製儲存庫。
1
| git clone https://github.com/vinceliuice/Fluent-icon-theme.git
|
然後執行腳本。
當然也可以透過選項來自訂,具體還是參考 README 吧。
Dock 欄
使用外掛:
Dash to Dock for COSMIC
安裝主題時預覽的 Dock 欄不知道怎麼裝,但我找到了這個外掛,在設定裡調整一下也有透明效果。
音樂播放器 Rhythmbox
內建的音樂播放器用起來還行,但是沒有單曲循環功能就有一點不方便。
Github:
fossfreedom/alternative-toolbar: Modern, minimal and music-focused interface for Rhythmbox
安裝
安裝也挺簡單,以下是 Fedora 的安裝步驟。
先到
Releases
下載壓縮檔,然後設定環境。
1
| sudo dnf install intltool git gnome-pkg-tools gobject-introspection glib2-devel pkg-config python3-gobject python3
|
然後解壓縮並進入目錄,依序執行以下指令。
1
| ./configure --prefix=/usr
|
解除安裝
到安裝資料夾執行指令。
桌面背景
想著能不能把 Wallpaper Engine 的影片作為桌面背景,於是就去搜尋了相關資料。
影片桌面
這東西似乎不能在雙螢幕情況下自動調整螢幕,而且每次循環都會閃爍一下,所以棄用了。
安裝環境
首先啟用 rpmfusion 函式庫
1
| sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-32.noarch.rpm
|
然後使用 dnf 安裝。
1
| sudo dnf install mplayer
|
這軟體只有 Ubuntu 的安裝檔,不過實際上直接解壓縮也可以執行這個程式。
原始碼位置:
Github
deb 下載:
xwinwrap_0.3.2git20171223_amd64.deb
提取檔案後複製到 /usr/local/bin,然後賦予執行權限即可。
指令
如果是單螢幕
1
| xwinwrap -ni -o 1 -fdt -fs -s -st -sp -b -nf -- mplayer -framedrop -nosound -loop 0 -wid WID -quiet ~/Pictures/bg.mp4
|
如果是雙螢幕,以下指令會顯示在右邊的螢幕上。
1
| xwinwrap -g 1920x1080+1920+0 -fdt -ni -b -nf -- mplayer -framedrop -nosound -loop 0 -wid WID -quiet ~/Pictures/bg.mp4
|
具體指令選項可以 xwinwrap --help,或者參考
參考文章第二篇
的相關部分。
定時自動更換桌布
雖然可以更換了,不過不僅要格式符合,還要手動命名,新增時還得修改檔案,有點麻煩,所以棄用了。
建立桌布輪播範圍
例如建立 ~/.backgrounds/pic.xml,內容如下,請根據情況替換。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| <background>
<starttime>
<year>2022</year>
<month>9</month>
<day>17</day>
<hour>1</hour>
<minute>00</minute>
<second>00</second>
</starttime>
<static>
<duration>4000.0</duration>
<file>~/.backgrounds/pic/00001.jpg</file>
</static>
<transition type="overlay">
<duration>847.0</duration>
<from>~/.backgrounds/pic/00001.jpg</from>
<to>~/.backgrounds/pic/00050.jpg</to>
</transition>
<static>
<duration>4000.0</duration>
<file>~/.backgrounds/pic/00050.jpg</file>
</static>
</background>
|
static 指定某一張桌布顯示的時間 (秒) 和檔案位置。
transition 指定輪播範圍以及過渡時間。
建立設定檔
例如建立 ~/.backgrounds/pic-timed.xml
1
2
3
4
5
6
7
8
9
10
11
12
| <?xml version="1.0"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<!-- /usr/share/gnome-background-properties --><wallpapers>
<wallpaper deleted="false">
<name>Default Background</name>
<filename>~/.backgrounds/pic.xml</filename>
<options>zoom</options>
<shade_type>solid</shade_type>
<pcolor>#3465a4</pcolor>
<scolor>#000000</scolor>
</wallpaper>
</wallpapers>
|
然後將該檔案複製或連結到 /usr/share/gnome-background-properties/,就可以在 設定 - 背景 中看到了。
或者嘗試重新啟動 GNOME ( alt+F2 後輸入 r )。
轉換圖片格式
安裝 ImageMagick 後使用指令。
1
| convert before.jpg after.png
|
隨機更換桌布
很方便實用,除了每次都得手動執行 (不過或許可以建立成應用程式然後開機啟動吧)。
建立腳本檔案
輸入以下內容,請注意修改相關路徑。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| #!/bin/bash
wallpaper_path="~/wallpaper" # 桌布路徑
sleep_time=1 # 更換間隔 單位秒
find $wallpaper_path -name '*.*' | cat > /tmp/list # 取得圖片清單
img_range_max=`cat /tmp/list | wc -l` # 取得圖片數量,用於設定隨機範圍
while true
do
n=$((RANDOM%$img_range_max+1)) # 取得亂數
img_path=`awk NR==$n /tmp/list` # 取得該桌布的完整路徑
gsettings set org.gnome.desktop.background picture-uri file://$img_path # 更換桌布指令
sleep $sleep_time
done
|
執行
賦予執行權限
1
| chmod +x ran_wallpaper.sh
|
在背景執行
1
| setsid ./ran_wallpaper.sh
|
警告
千萬不要把這個腳本放進初始化守護行程服務!!!
關閉
尋找行程
1
| ps -ef |grep ran_wallpaper
|
第一欄:使用者名稱,第二欄:PID,第三欄:父行程 PID,最後一欄:指令名稱或路徑
關閉行程
桌面圖示
其實我個人而言不是那麼需要,用 Windows 時桌面也幾乎乾乾淨淨的。
顯示圖示
使用外掛:
Gtk4 Desktop Icons NG (DING)
儘管這個外掛不支援在多螢幕上顯示圖示,但透明的背景我真的很喜歡。
如果需要多螢幕支援,還是用這個外掛吧:
Desktop Icons NG (DING)
不使用外掛的參考:
Remove desktop support (#158) · Issues · GNOME / Files · GitLab
建立圖示
新建並寫入 .desktop 檔案,例如:
1
2
3
4
5
6
7
8
| [Desktop Entry]
Name=Grey Hack # 顯示名稱
Comment=Play this game on Steam # 滑鼠指向的提示文字 (似乎沒什麼用)
Exec=steam steam://rungameid/605230 # 可執行程式路徑 (在 Bash 下的啟動方式)
Icon=steam_icon_605230 # 圖示的路徑/定義
Terminal=false # 是否在終端機執行
Type=Application # 應用程式類型
Categories=Game; # 分類
|
其他外掛
Activities Icons
App Icons Taskbar
Application Volume Mixer
Clipman
Files Menu
Frippery Applications Menu
Just Perfection
Proxy Switcher
quake-mode
Show Desktop Applet
Sound Input & Output Device Chooser
Tray Icons: Reloaded
參考文章
Fedora 影片桌面 - 一個曾經的小碼農…
Video Livestream Wallpaper For Your GNOME, Xfce Or bspwm Desktop - Linux Uprising Blog
常用的 GNOME Shell 擴充功能 - pipci - 博客園
Linux 命令列處理圖片(圖片格式轉換、縮放、旋轉等)_打工人小飛的博客-CSDN博客
Linux 切換桌布, Linux 隨機更換桌布_毛社長的博客-CSDN博客
在 Linux 背景執行腳本指令和程式的方法大全_豆豆技術派的博客-CSDN博客
「GNOME 3」- 桌面圖示(顯示、Ubuntu 20.10、隱藏) - K4NZ BLOG
Fedora: GNOME 建立桌面圖示,以 Eclipse 和 IDEA 為例