Fedora 桌面玩物

📢 本文由 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 (這透明效果真的超美!!!)

  1. 透過 Git 複製儲存庫
1
git clone https://github.com/vinceliuice/Fluent-gtk-theme.git
  1. 執行腳本
1
./install.sh

可以新增選項來自訂,具體效果預覽還是參考 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

然後執行腳本。

1
./install.sh

當然也可以透過選項來自訂,具體還是參考 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
1
make
1
sudo make install

解除安裝

到安裝資料夾執行指令。

1
sudo make uninstall

桌面背景

想著能不能把 Wallpaper Engine 的影片作為桌面背景,於是就去搜尋了相關資料。

影片桌面

這東西似乎不能在雙螢幕情況下自動調整螢幕,而且每次循環都會閃爍一下,所以棄用了。

安裝環境

  • mplayer

首先啟用 rpmfusion 函式庫

1
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-32.noarch.rpm

然後使用 dnf 安裝。

1
sudo dnf install mplayer
  • xwinwrap

這軟體只有 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
vi ran_wallpaper.sh

輸入以下內容,請注意修改相關路徑。

 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,最後一欄:指令名稱或路徑

關閉行程

1
sudo kill -9 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

  • 自訂 GNOME Shell

Just Perfection

  • 右上角切換代理

Proxy Switcher

  • 下拉應用程式

quake-mode

  • 顯示桌面

Show Desktop Applet

  • 切換音效卡

Sound Input & Output Device Chooser

  • 托盤圖示 (Tray Icons) 放在右上角

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 為例

This post is licensed under CC BY-NC-SA 4.0 by the author.