GNOME/提示與技巧 - Arch Linux 中文维基

跳至內容

# GNOME/提示與技巧

出自 Arch Linux 中文维基
< GNOME
翻譯狀態：

- 本文（或部分內容）譯自 GNOME/Tips and tricks，最近一次同步於 2024-11-16，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

## 鍵盤

### 登錄時啟用NumLock

請參閱啟動時打開數字鎖定鍵#GNOME

### 熱鍵替代

許多熱鍵可以通過 GNOME 設置進行更改。例如，要重新啟用顯示桌面快捷鍵：

設置 > 鍵盤 > 自定義快捷鍵 > 導航 > 隱藏所有正常窗口

然而，某些熱鍵無法通過設置直接更改。為了更改這些熱鍵，請使用 dconf-editor 或 gsettings。一個特別值得注意的例子是快捷鍵 `Alt+``（在美國鍵盤布局中是Tab鍵上方的鍵）。在 GNOME Shell 中，它預配置為在應用程式的窗口之間循環切換，但它也是 Emacs 編輯器中常用的快捷鍵。可以通過使用上述工具修改 `org.gnome.desktop.wm.keybindings` 中的 switch-group 鍵來進行更改。

### XkbOptions 鍵盤選項

使用 dconf-editor, 導航至 `xkb-options` 鍵，位於 `org.gnome.desktop.input-sources` 模式下，並將所需的 XkbOptions（例如 caps:swapescape）添加到列表中。

有關所有 XkbOptions，請參閱 `/usr/share/X11/xkb/rules/xorg`，以及 `/usr/share/X11/xkb/symbols/*` 的相關描述。

### 取消綁定 Super 鍵

默認情況下，`Super` 鍵將打開 GNOME Shell 概覽模式。你可以通過運行以下命令來取消綁定此鍵：

    $ gsettings set org.gnome.mutter overlay-key ''

### 修改 Nautilus 熱鍵

自 3.15 版本起，不再使用 accel 文件，但可以通過使用 python-nautilus包 來重新綁定熱鍵。安裝該軟體包並添加以下文件：

    ~/.local/share/nautilus-python/extensions/modify_keybindings.py

    import os, gi
    gi.require_version('Nautilus', '3.0')
    from gi.repository import GObject, Nautilus, Gtk, Gio, GLib

    def rebind():
        app = Gtk.Application.get_default()
        # 在以下链接中查找 open_accels 和 nautilus_application_set_accelerators：
        #   https://github.com/GNOME/nautilus/blob/master/src/nautilus-files-view.c
        app.set_accels_for_action( "win.back", ["<alt>Left", "BackSpace"] )

        # 如果你想弄清楚哪个热键属于哪个操作，可以试试这个：
        # print(f'Alt+Left is: {app.get_actions_for_accel("<alt>Left")}')

    class BackspaceBack(GObject.GObject, Nautilus.LocationWidgetProvider):
        def __init__(self):
            pass

        def get_widget(self, uri, window):
            rebind()
            return None

重啟 Nautilus：

    $ nautilus -q; nautilus

## 磁碟

GNOME 提供了一款磁碟工具，用於操作存儲驅動器的設置。以下是一些功能：

- 啟用寫入緩存是大多數硬碟提供的功能。數據會在選定的時間進行緩存和分配，以提高系統性能。你很可能已經默認啟用了此功能（不是通過磁碟工具）。可以使用 `hdparm -W /dev/sdX` 檢查。

  設置 > 驅動器設置 > 寫入緩存 > 啟用
  警告：此性能提升可能會導致在突然斷電的情況下丟失數據，請在啟用寫入緩存之前考慮這一點。

- 用戶會話默認設置啟用時，可以使用 `/etc/fstab` 中的自定義選項，禁用時則會自動添加 GPT 驅動器和分區的默認和推薦掛載選項。

  分區設置 > 編輯掛載選項 > 自動掛載選項 > 啟用
  警告：此設置會刪除相關的 fstab 條目。

## 隱藏菜單中的應用程式

提示：

- 桌面條目可以通過編輯 .desktop 文件本身來隱藏。請參閱桌面項#隱藏桌面項。
- MenulibreAUR 提供了一個無需 GNOME 依賴的菜單編輯器。

使用主菜單應用程式（由 alacarte包 軟體包提供）隱藏你不想在菜單中顯示的任何應用程式。

## 屏幕錄像

GNOME 提供內建的屏幕錄像功能，使用 `Ctrl+Shift+Alt+r` 快捷鍵組合。在頂部欄右側的系統狀態區旁會顯示一個紅色圓圈，表示正在錄製。錄製完成後，名為 `Screencast from %d%u-%c.webm` 的文件會保存在 `視頻` 目錄中。

注意：錄製的文件名可能會根據你的系統語言進行翻譯。

為了使用屏幕錄像功能，需安裝一些 gst-plugin 軟體包。例如，screencast pipeline（屏幕錄像管道）依賴於 vp8enc 和 webmmux 元素，來自 gst-plugins-good包。如果嘗試錄製時出現「pipewiresrc」模塊缺失的錯誤，安裝 gst-plugin-pipewire包。

提示：使用 EasyScreenCast 來便捷地「配置桌面錄製的各種設置」（包括自定義上述的 GStreamer 管道）。EasyScreenCast 也可以作為 gnome-shell-extension-easyscreencastAUR 安裝。

默認情況下，屏幕錄像的最大時長為 30 秒。可以通過以下命令更改：

    $ gsettings set org.gnome.settings-daemon.plugins.media-keys max-screencast-length length_in_seconds

將 `length_in_seconds` 設置為 `0` 以取消時長限制（根據 `max-screencast-length` 的描述）。

## 截屏

默認情況下，gnome-screenshot包 將圖像保存到上次保存的目錄，你可以查詢該目錄：

    $ gsettings get org.gnome.gnome-screenshot last-save-directory

你可以設置一個自動保存目錄，例如，自動將截圖保存到 `user` 的桌面目錄：

    $ gsettings set org.gnome.gnome-screenshot auto-save-directory file:///home/user/Desktop

查看 gnome-screenshot(1) 手冊頁面了解更多選項。

## 註銷延遲

要消除註銷時的默認 60 秒延遲：

    $ gsettings set org.gnome.SessionManager logout-prompt false

## 更改動畫速度

GNOME shell 的動畫速度可以通過「減速因子」來配置。大於 1.0 會減慢動畫速度，介於 0.0 和 1.0 之間則加速動畫。

### 設置減速因子

要暫時設置，打開 Looking Glass，按 Alt-F2 輸入 `lg`，然後運行，例如，若要加速動畫：

    St.Settings.get().slow_down_factor = 0.4

或者使用 gnome-shell-extension-impatience-gitAUR

可以通過環境變量 `GNOME_SHELL_SLOWDOWN_FACTOR` 永久設置減速因子，例如：

    /etc/environment

    GNOME_SHELL_SLOWDOWN_FACTOR=0.4

### 禁用動畫

可以通過圖形界面禁用動畫，在設置 > 輔助功能 > 視覺 > 減少動畫選項中切換。

## Retina (HiDPI) 顯示支持

GNOME 在 3.10 版本中引入了 HiDPI 支持。如果顯示器未通過 EDID 提供正確的屏幕尺寸，可能導致 UI 元素顯示比例不正確。作為解決方法，你可以打開 dconf-editor，找到 `scaling-factor` 鍵，位於 `org.gnome.desktop.interface` 下。將其設置為 `1` 以獲得標準比例。

更多信息請參閱 HiDPI。

## 密碼和密鑰（PGP 密鑰）

你可以使用密碼和密鑰程序 seahorse包 創建 PGP 密鑰，它是 GnuPG 的前端，並將其作為依賴項安裝。未來可能會用到這個密鑰（例如用於加密文件）。按照以下步驟創建密鑰（此過程可能需要約 10 分鐘）：

文件 > 新建 > PGP 密鑰 > 姓名 > 郵箱 > 默認設置 > 密碼短語。

## 終端

### 更改默認終端大小

可以在你的配置文件的首選項中調整新終端的默認大小。選擇菜單中的首選項，然後在配置文件下選擇你的配置文件，訪問設置以更改初始終端大小。

### 新終端採用當前目錄

新終端默認打開在 `$HOME` 目錄。你可以通過將 `source /etc/profile.d/vte.sh` 添加到你的 shell 配置文件來配置終端以採用當前工作目錄。

### 填充終端

要為終端添加填充（在窗口邊緣和終端內容之間創建一個小的不可見邊框），創建以下文件：

    ~/.config/gtk-3.0/gtk.css

    vte-terminal,
    terminal-window {
        padding: 10px 10px 10px 10px;
        -vte-terminal-inner-border: 10px 10px 10px 10px;
    }

### 禁用閃爍光標

在 GNOME 3.8 及以上版本中禁用閃爍光標使用以下命令：

    $ gsettings set org.gnome.desktop.interface cursor-blink false

只在終端中禁用閃爍光標使用：

    $ gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:$(gsettings get org.gnome.Terminal.ProfilesList default | tr -d \')/ cursor-blink-mode off

請注意，`gnome-settings-daemon` 必須正在運行，才能使這些和其他設置更改在 GNOME 應用程式中生效——參見 GNOME#配置。

### 禁用關閉終端時的確認窗口

當嘗試關閉終端窗口並且已登錄為 root 用戶時，終端總是會顯示確認窗口。要避免這種情況，請執行以下命令：

    $ gsettings set org.gnome.Terminal.Legacy.Settings confirm-close false

### 顏色調色板

終端支持將其顏色調色板更改為你喜歡的樣式。只需進入首選項，選擇你的配置文件，然後編輯顏色調色板。

#### 終端配色方案

安裝 gogh-gitAUR 包，它提供了一套為 GNOME 終端製作的自定義配色方案。你可以在選擇一個或多個配色方案後運行 `gogh` 並輸入你選擇的配色方案的編號。

警告：安裝配色方案時，切勿一次安裝所有配色方案，因為它們會很難刪除。請選擇單個配色方案進行安裝。

安裝後，進入終端的首選項，點擊顏色標籤，選擇你安裝的配色方案名稱。你會看到名稱旁邊有一個小箭頭，點擊它並選擇設置為默認。

從這裡開始，你可以進一步配置。如果某些顏色你不喜歡，可以輕鬆更改。

要刪除一個配色方案，如果該配色方案是你的默認方案，首先將另一個方案設置為默認。然後選擇該配色方案的名稱並點擊刪除。

## 滑鼠中鍵

本文或本節內容已經過時。

原因： `org.gnome.settings-daemon.peripherals.mouse` 鍵在 GNOME 4x 中已不存在，這僅適用於 GNOME 3 (在Talk:GNOME/提示與技巧討論)

默認情況下，GNOME 3 禁用中鍵滑鼠按鈕模擬，無論 Xorg 設置（Emulate3Buttons）如何。要啟用中鍵滑鼠按鈕模擬，請使用以下命令：

    $ gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true

## 啟用按鈕和菜單圖標

從 GTK 3.10 開始，GSettings 鍵「menus-have-icons」已被棄用。可以通過設置以下覆蓋項來啟用按鈕和菜單中的圖標：

    $ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/ButtonImages': <1>, 'Gtk/MenuImages': <1>}"

## 使用自定義顏色和漸變作為桌面背景

要使用自定義顏色和漸變作為桌面背景，你首先需要設置一個透明的圖片或者一個不存在的圖片作為桌面背景。例如，以下命令將設置一個不存在的圖片作為背景：

    $ gsettings set org.gnome.desktop.background picture-uri none

此時，桌面背景應為純色——默認的顏色設置為深藍色。

若要使用其他純色，只需更改主色設置：

    $ gsettings set org.gnome.desktop.background primary-color <my color>

其中 <my color> 是一個十六進制值（例如 ffffff 表示白色）。

對於漸變色，你還需要更改次色設置 `org.gnome.desktop.background secondary-color` 並選擇一種著色類型。例如，如果你想要一個水平漸變，執行以下命令：

    $ gsettings set org.gnome.desktop.background color-shading-type horizontal

如果你使用透明的圖片作為背景，可以通過以下命令設置其不透明度：

    $ gsettings set org.gnome.desktop.background picture-opacity <value>

其中 value 是一個 1 到 100 之間的數字（100 表示最大不透明度）。

## 背景過渡

GNOME 可以在特定時間間隔內在不同的壁紙之間過渡。可以通過創建一個 XML 文件，指定要使用的圖片和時間間隔來實現。有關如何創建此類文件的更多信息，請參見以下文章。

或者，有許多工具可以自動化此過程：

- mkwlppr — 該腳本創建 XML 文件，可以作為 GNOME 的動態壁紙，引用多個壁紙。

  https://pastebin.com/019G2rCy[失效連結 2023-07-30 ⓘ] || mkwlppr[失效連結 2023-07-30 ⓘ]

## 自定義 GNOME 會話

可以創建自定義的 GNOME 會話，使用 GNOME 會話管理器但啟動不同的組件集（例如使用 Openbox 和 tint2 代替 GNOME Shell）。

自定義 GNOME 會話需要兩個文件：一個會話文件，位於 `/usr/share/gnome-session/sessions/`，定義要啟動的組件；一個桌面項，位於 `/usr/share/xsessions`，由顯示管理器讀取。以下是一個會話文件的示例：

    /usr/share/gnome-session/sessions/gnome-openbox.session

    [GNOME Session]
    Name=GNOME Openbox
    RequiredComponents=openbox;tint2;gnome-settings-daemon;

以及一個桌面文件的示例：

    /usr/share/xsessions/gnome-openbox.desktop

    [Desktop Entry]
    Name=GNOME Openbox
    Exec=gnome-session --session=gnome-openbox

注意：GNOME 會話會調用每個要啟動組件的 .desktop 文件。如果你希望啟動的組件沒有提供 .desktop 文件，你必須在 `/usr/local/share/applications` 等目錄中創建一個合適的桌面項。

## 將特定網址重定向到特定的網頁瀏覽器

這是如何使用 Chromium 來處理某些類型的網址，同時將 Firefox 保持為所有其他任務的默認瀏覽器。

確保 pcre包 已安裝，以使用 pcregrep。

設置自定義 xdg-open：

    /usr/local/bin/xdg-open

    #!/bin/bash
    DOMAIN_LIST_FILE=~/'domains.txt'
    OTHER_BROWSER='/usr/bin/chromium-browser'
    BROWSER_OPTIONS='' # Optional, for command line options passed to browser
    XDG_OPEN='/usr/bin/xdg-open'
    DEFAULT_BROWSER='/usr/bin/firefox'

    if echo "$1" | pcregrep -q '^https?://'; then
        matching=0
        while read domain; do
    	if echo "$1" | pcregrep -q "^https?://${domain}"; then
    	    matching=1
    	    break
    	fi
        done < "$DOMAIN_LIST_FILE"

        if [[ $matching -eq 1 ]]; then
    	"$OTHER_BROWSER" $BROWSER_OPTIONS ${*}
    	exit 0
        fi

        "$DEFAULT_BROWSER" ${*}
        exit 0
    else
        "$XDG_OPEN" ${*}
    fi

配置域名以重定向到 Chromium：

    $HOME/domains.txt

    stackexchange.com
    stackoverflow.com
    superuser.com
    www.youtube.com
    github.com

將 xdg-open web 設置為桌面應用程式：

    $HOME/.local/share/applications/xdg-open-web.desktop

    [Desktop Entry]
    Version=1.0
    Name=xdg-open web
    GenericName=Web Browser
    Exec=xdg-open %u
    Terminal=false
    Type=Application
    MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
    StartupNotify=true
    Categories=Network;WebBrowser;
    Keywords=web;browser;internet;
    Actions=new-window;new-private-window;

    $ update-desktop-database $HOME/.local/share/applications/

在 GNOME 設置中將 xdg-open web 設置為默認 Web 應用程式：轉到 GNOME 設置 > 默認應用程式並將 Web 設置為 xdg-open web。

## 從視頻縮略圖中移除電影孔/膠片條紋效果（Nautilus）

自 Gnome 3.12 起，Nautilus（文件管理器）在視頻縮略圖上疊加了電影孔/膠片條紋效果。要移除或覆蓋此效果，可以使用環境變量 `G_RESOURCE_OVERLAYS` 引用已編譯資源的路徑（在此實例中為 `filmholes.png`），並指定相關疊加層的路徑。此環境變量自 GLib 2.50 起可用，早於此版本將無效。

從 Nautilus 中提取 `filmholes.png`：

    $ gresource extract /usr/bin/nautilus /org/gnome/nautilus/icons/filmholes.png > filmholes.png

使用您喜歡的編輯器編輯 `filmholes.png`，移除圖像中的膠片效果，保留透明度和尺寸不變，然後覆蓋提取的圖像。

將提取的圖像複製或移動到所需位置，例如 `/usr/share/icons/`，並編輯 `~/.profile`，添加以下導出，並根據需要將 `/usr/share/icons/` 更改為您放置文件的位置：

    export G_RESOURCE_OVERLAYS=/org/gnome/nautilus/icons/filmholes.png=/usr/share/icons/filmholes.png

如果已經安裝了 ffmpegthumbnailer包 作為其他文件管理器的依賴項，該文件管理器可能會生成縮略圖，則應修改 `/usr/share/thumbnailers/ffmpegthumbnailer.thumbnailer` 中的 `Exec` 行，移除 `-f` 標誌。

為確保沒有已嵌入膠片效果的縮略圖，刪除縮略圖緩存：

    $ rm -r ~/.cache/thumbnails

註銷並重新登錄到您的會話，您應該不再在 Nautilus 中看到視頻縮略圖上的膠片孔/膠片條紋效果。

## GNOME 軟體與 pacman 集成

packagekit包 集成功能以前通過名為 gnome-software-packagekit-plugin 的軟體包提供，但已被自願禁用，並且被認為不再受支持。

## 增加音量至超過 100%

您可以通過運行以下命令來允許音量過度放大：

    $ gsettings set org.gnome.desktop.sound allow-volume-above-100-percent true

或者，安裝擴展 Volume Mixer。然後，使用滑鼠在頂部面板的音量圖標上滾動，以增加超過 100% 的音量。

或者，打開 GNOME 調整工具並切換常規 > 過度放大。

## 按更小步進調整音量

默認情況下，按鍵盤的音量鍵會將音量調整 6%。如果需要更小的步進，可以在按音量鍵時按住 `Shift`，此時音量將以 2% 的步進調整。

此外，從 GNOME 3.36 開始，現在可以通過 dconf 設置直接調整音量步進。例如，要將音量步進設置為 2%，請執行以下命令：

    $ gsettings set org.gnome.settings-daemon.plugins.media-keys volume-step 2

## 在頂部面板圖標旁顯示音量百分比

安裝擴展 Sound percentage，以在頂部面板的音量圖標旁邊顯示當前輸出音量級別。

## 啟動時使用獨立 GPU

安裝 switcheroo-control包 或 switcheroo-control-gitAUR 並啟動/啟用 `switcheroo-control.service`。

## 窗口列表

如果您喜歡在底部顯示任務列表，但不喜歡此擴展的默認黑色，可以首先複製其目錄：

    $ cp -r /usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com/ ~/.local/share/gnome-shell/extensions/

然後按您的喜好編輯 CSS。例如，要使窗口列表透明，請將 `stylesheet.css` 編輯如下：

    .bottom-panel {
      background: transparent;
    }
    ...
    .window-button > StWidget,
    .window-picker-toggle > StWidget {
      color: #bbb;
      background-color: transparent;
      ...

## 導航

要模仿 Windows 切換窗口的行為，首先禁用默認設置，該設置將窗口切換限制為當前工作區內的窗口：

    $ gsettings set org.gnome.shell.app-switcher current-workspace-only false

然後，將 `Alt+Tab` 和 `Alt+Shift+Tab` 綁定為在窗口之間切換，而不是在應用程式之間切換：

    $ gsettings set org.gnome.desktop.wm.keybindings switch-windows "['<Alt>Tab']"
    $ gsettings set org.gnome.desktop.wm.keybindings switch-windows-backward "['<Shift><Alt>Tab']"

此外，您可以重新綁定應用程式之間的切換（此示例使用 `Super` 而不是默認的 `Alt`）：

    $ gsettings set org.gnome.desktop.wm.keybindings switch-applications "['<Super>Tab']"
    $ gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward "['<Shift><Super>Tab']"

## 圖像查看器

安裝 libheif包 以添加對 HEIC 圖像文件格式的支持。圖像查看器使用的 `gdk-pixbuf2` 庫將 `libheif` 列為可選依賴項。

## 將 dconf（gsettings）資料庫存儲為文本文件

默認情況下，dconf 將其配置存儲在位於 `$XDG_CONFIG_HOME/dconf/user` 的二進制資料庫 blob 中。如果您的主目錄存儲在 NFS 中，您將 dotfiles 存儲在版本控制中，或出於其他原因，可以通過配置 dconf 配置文件來覆蓋此默認設置。有關創建和使用配置文件的詳細信息，請參見 dconf(7) § PROFILES。

在更改系統範圍的默認設置之前，先將每個用戶現有的 dconf 資料庫轉儲為名為 `user.txt` 的文本文件。似乎無法使用其他擴展名。假設 `XDG_CONFIG_HOME` 的默認值，可以使用以下命令完成此操作：

    $ dconf dump / > ~/.config/dconf/user.txt

完成後，以 root 用戶身份創建默認 dconf 配置文件。

    /etc/dconf/profile/user

    service-db:keyfile/user

註銷並重新登錄，確認更改 dconf 設置時會更改基於文本的 `user.txt` 文件，而不是刪除二進制 `user` 文件之前的舊二進制資料庫。

此設置應該只會帶來一些最小的額外資源使用。Dconf 仍然在臨時 `XDG_RUNTIME_DIR` 目錄中使用二進制資料庫，但必須在桌面啟動時重新創建它。它還必須保持 `user.txt` 文件的最新狀態，並監視文本文件的更改。

分類：​

- GNOME
- 使用「模板:過時」標記的頁面或章節
- 包含失效連結的頁面

GNOME/提示與技巧
新增話題