跳至內容

GNOME

出自 Arch Linux 中文维基

GNOME(讀音為/(ɡ)noʊm/)是一個追求簡單易用的桌面環境。它由 GNOME項目設計,並且完全由自由開源的軟體組成。GNOME默認使用 Wayland 作為顯示伺服器,並同時提供多個對話可供選擇:

  • GNOME是在Wayland上運行GNOME Shell的默認選項。傳統的X應用使用Xwayland運行。
  • GNOME Classic通過特定的擴展和數值,提供了「傳統的桌面體驗」(類似GNOME2的界面)。因此,它是GNOME Shell的定製樣式,而非真正的不同模式。

安裝

有兩個軟體組可用:

GNOME 的基礎桌面環境由 Mutter 窗口管理器的插件 GNOME Shell 組成。可以用 gnome-shell 單獨安裝它。

注意:mutter 是桌面的混成器。它利用硬體圖形加速減少屏幕的混亂。GNOME 會話管理器會自動檢測顯卡驅動是否能夠運行 GNOME Shell,如果不行則用 llvmpipe 軟體渲染。

也可以使用不穩定版本,見官方軟體倉庫#gnome-unstable

運行 GNOME

GNOME 可以使用顯示管理器以圖形方式啟動,也可以從控制台手動啟動(可能會缺少某些功能)。gnome包組的顯示管理器是GDM

注意:GDM提供了GNOME的鎖屏功能(及其它)支持。如果沒有使用GDM啟動GNOME,則需要使用其它屏幕鎖定器。見List of applications/Security#Screen lockers

圖形界面啟動

如果安裝了gnome包組並希望GNOME在下次啟動時自動啟動, 請啟用 gdm.service,隨後可以在顯示管理器的會話菜單中選擇想要使用的會話:GNOMEGNOME Classic (僅在gnome-shell-extensions 已安裝時顯示)。

如果想立即啟動 GNOME 以避免重啟,可以從一個沒有被圖形占用的 tty 上啟動 gdm.service

手動啟動

注意:仍然需要X伺服器用於運行尚未移植到Wayland的應用,詳見Wayland#XWayland。使用Qt等特定圖形庫的應用,可以通過強制設置環境變量使用Wayland。詳見Wayland#GUI libraries

會話類型

Gnome會話繼承了systemd的會話類型。當會話開始時,systemd的會話類型在會話啟動時由XDG_SESSION_TYPE環境變量決定,並在啟動後只能由該會話上的控制器決定。詳見 Github

因此僅僅在登錄後設置XDG_SESSION_TYPE 並不起作用。因此應創建一個systemd drop-in 文件給getty設置環境變量:

/etc/systemd/system/getty@tty1.service.d/wayland.conf
[Service]
Environment=XDG_SESSION_TYPE=wayland

重新加載後檢查會話類型:

$ loginctl session-status

啟動會話

在正確設置會話類型後,可以通過以下命令手動啟動會話:

$ gnome-session

由於直接運行gnome-shell --wayland缺乏會話管理,所以並不推薦。

請注意,手動調用Gnome不需要gdm(因此也不需要附帶的gdm.service),因此對於安裝了Gnome最小安裝的用戶來說,可以根據個人喜好,選擇一些包含在更廣泛的gnome組中的軟體包。

若要在 tty1 登錄時啟動,將以下內容添加到 .bash_profile 中:

gnome-session --no-reexec

Firefox和Qt應用不遵守XDG_SESSION_TYPE,所以最好給它們加上變量:

if -z $DISPLAY && $(tty) == /dev/tty1 && $XDG_SESSION_TYPE == wayland ; then
  MOZ_ENABLE_WAYLAND=1 QT_QPA_PLATFORM=wayland exec gnome-session --no-reexec
fi

Wayland中的GNOME應用

在使用 GNOME 會話時,GNOME 應用將使用 Wayland 運行。出於調試需要, https://docs.gtk.org/gtk3/running.htmlhttps://docs.gtk.org/gtk4/running.html 列出的選項和環境變量。

導航

GNOME Shell cheat sheet 中解釋了如何高效地使用 GNOME shell,它展示了 GNOME shell 的特色和快捷鍵,包括切換任務,使用鍵盤,窗口控制,面板,概覽模式等等。以下是部分常用的快捷鍵:

  • Super+m:顯示消息列表
  • Super+a:顯示應用菜單
  • Alt+Tab:切換當前使用的應用
  • Alt+` (美式鍵盤Tab上面的按鍵):切換正在前台使用的應用的窗口
  • Alt+F2,然後輸入 rrestart:在圖形界面出問題時重啟界面(僅用於X/傳統模式,不適用於Wayland模式)。

如需改變默認配置,使其更類似Windows,見 GNOME/提示與技巧#導航

更多快捷鍵見鍵盤導航

遺留名稱

注意:一些GNOME應用在文檔和對話框中的名稱已經更改,但執行文件名稱卻沒有。下面表格列出了一些這樣的應用。
提示:在搜索欄中搜索應用的遺留名稱將成功找到對應的應用,例如搜索 nautilus 會出現 文件
當前 遺留
文件 Nautilus
Web Epiphany
視頻 Totem
主菜單 Alacarte
文檔查看器 Evince
磁碟使用情況分析器 Baobab
圖像查看器 EoG (Eye of GNOME)
密碼和密鑰 Seahorse
翻譯編輯器 Gtranslator

配置

GNOME系統設置面板(gnome-control-center)和GNOME應用使用dconf配置系統存儲設置。

您可以使用gsettings(1)命令行工具直接訪問 dconf 資料庫。這也可以讓您修改用戶界面不公開的設置。命令行工具 dconf(1) 可以直接修改底層資料庫,跳過驗證過程。

直到GNOME 3.24,設置由GNOME設置進程應用(位於/usr/lib/gnome-settings-daemon/gnome-settings-daemon),其也可以在GNOME會話之外運行。

然而GNOME 3.24用幾個相互獨立的設置插件(/usr/lib/gnome-settings-daemon/gsd-*,後來移動到/usr/lib/gsd-*)取代了 GNOME 設置進程。這些插件通過 /etc/xdg/autostart (匹配org.gnome.SettingsDaemon.*.desktop) 下的桌面文件進行控制。若要在 GNOME 會話之外運行這些插件,您需要複製或編輯相應的桌面條目~/.config/autostart

配置通常是用戶特定的,本文將不介紹如何為多個用戶創建配置模板。

GNOME 系統設置

色彩

colord 守護進程會讀取顯示器的 EDID 信息並提取出合適的色彩配置內容。大多數情況下,色彩配置都是正確的,不需要額外設置;但是對於某些偏差情況或使用較舊的顯示器時,可以把色彩配置文件放在 ~/.local/share/icc/ 下並被指向。

夜間模式

GNOME 內置了類似於 Redshift 的藍光過濾功能。夜間模式可以在設置面板中啟動及自定義啟動時間。此外,夜間模式的色溫可以使用以下dconf設置進行調整,5000是一個示例值:

$ gsettings set org.gnome.settings-daemon.plugins.color night-light-temperature 5000
提示:若要在Wayland中調整白天的色溫,請安裝Night Light Slider擴展
注意:在NVIDIA顯卡上,夜間顏色只工作在版本545.29.02及之後的驅動上

日期與時間

如果系統已有配置好的網絡時間協議 守護進程,它同樣會對 GNOME 起作用。如果需要,同步設置可以在菜單內設為手動控制。

GNOME支持自動選擇時區,可在系統設置裡的日期和時間選項中開啟。前提是已開啟定位服務 (見設置中的隱私選項)。

注意:由於Mozilla定位服務的退役,自動選擇時區可能不再工作。見[1] . 解決方案見 [2]

若要在頂欄內顯示日期,請運行:

$ gsettings set org.gnome.desktop.interface clock-show-date true

另外,若要在頂欄的日曆中顯示周數,請運行:

$ gsettings set org.gnome.shell.calendar show-weekdate true

默認應用程式

首次安裝 GNOME 時,您可能會發現某些格式由錯誤的應用處理,比如視頻被totem打開而不是以前使用的 VLC。某些格式關聯可以使用系統設置中的默認應用程式進行調整。

有關其它協議和方法,請參閱默認應用程式進行配置。

滑鼠和觸摸板

大多數觸摸板設置可以使用系統設置中的滑鼠和觸摸板進行調整。

根據您的設備,其它配置可能可用,但不會顯示在默認界面內,例如不同的觸摸板點擊方法:

$ gsettings range org.gnome.desktop.peripherals.touchpad click-method
enum
'default'
'none'
'areas'
'fingers'

手動設置:

$ gsettings set org.gnome.desktop.peripherals.touchpad click-method 'fingers'

或使用gnome-tweaks設置。

注意:GNOME 不支持 synaptics 並默認使用 libinput。參考 這個缺陷報告
使用滑鼠更改窗口大小

默認情況下,您可以使用滑鼠移動窗口,方法是按住 Super,單擊並按住滑鼠左鍵並拖動滑鼠。

此外,您可以通過按住 Super、單擊並按住滑鼠右鍵並拖動滑鼠來啟用滑鼠調整窗口大小:

$ gsettings set org.gnome.desktop.wm.preferences resize-with-right-button true

如果您不喜歡 Super 鍵,還可以將修飾鍵更改為其他鍵,例如 Alt 或 Ctrl:

$ gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "'<Alt>'"

網絡

NetworkManager 是GNOME項目中控制網絡設置的工具。如果尚未安裝,則安裝networkmanager軟體包並啟用NetworkManager.service

雖然可以使用任何其它網絡管理器,但 NetworkManager 可以使用整合到桌面環境的網絡設置和狀態指示器( network-manager-applet,不必要安裝 )。

注意:networkmanagernmtui設置隱藏的無線網絡不會自動連接。您需要在GNOME設置中創建一個新配置文件,以恢復該網絡的自動連接功能。

在線帳戶

部分在線帳戶,比如 ownCloud,需要安裝 gvfs-goagvfs-dnssd以在 GNOME 應用比如 GNOME 文件以及 GNOME 文檔中發揮全部功能[3]

詳見在線帳戶

搜索

GNOME shell在按下Super鍵並開始輸入時會啟動搜索。localsearch作為gnome包組nautilus的依賴被默認安裝。它提供一個應用和數據的索引資料庫。它可以被設置中「搜索」菜單項配置。它在用戶登錄時自動被gnome-session啟動。

localsearch 並不自動遞歸用戶的家目錄中所有的目錄,所以你可能需要在 搜索 > 搜索位置 中添加自定義的路徑。創建一個名為 .nomedia 的空文件以將某個目錄從索引中排除。

可通過 localsearch status 查看當前索引狀態。搜索內容可以在命令行中被localsearch search查看,被localsearch tag編輯,以及被重置。見 localsearch help 或在線尋求參考。

tinysparql-sql被用作索引資料庫。如果需要,資料庫可以被直接查詢。

設備安全

GNOME 43 在設置中添加了一個新的設備安全面板。該功能依賴fwupd工作。見 [4]

高級設置

如上文所述,改變GTK主題或窗口管理器主題等選項,並不會出現在GNOME設置(gnome-control-center)裡。想要修改這些設置可以使用GNOME Tweaks (gnome-tweaks),這是一個展示了許多這類設置的圖形化工具。

(存儲在 DConf 資料庫中的)GNOME設置也可以使用dconf-editor(1)(一個圖形化的DConf配置工具)或gsettings命令行工具進行配置。GNOME Tweaks 只能用於改變GUI。注意,你不一定總能看到下文描述的所有設置。

拓展

拓展的目錄位於 https://extensions.gnome.org。拓展可通過 archlinux官方倉庫 (少數), AUR或者網頁安裝。

本文或本章節的事實準確性存在爭議。

原因: 下方的「注意」推薦手動管理用戶文件,因為更「簡單」,但並沒有解釋為什麼。(在 Talk:GNOME 中討論)
注意:* 通過瀏覽器安裝拓展僅對當前用戶生效,並需要用戶手動管理升級。這是比較簡單的方法。
    • 此外,如果你想要從瀏覽器安裝拓展,你需要安裝 gnome-browser-connector。如果從官方倉庫或者AUR安裝,則不需要。
  • 從AUR(或者官方倉庫)安裝拓展是他們對整個系統生效(並且在使用 AUR 助手時自動更新)。

已安裝的拓展可以通過 gnome-extensions-app在圖形界面、在命令行使用gnome-extensions(1)或在瀏覽器中通過網頁配置、啟用或禁用。在瀏覽器中,如需安裝和激活拓展,請點擊右上角的ON,然後點擊彈出窗口的Install(如果該拓展並沒有被安裝)。已經安裝的拓展可在 https://extensions.gnome.org/local/查看並檢查更新。

gnome-shell-extensions 提供了一些GNOME官方維護的非常有用的拓展。

extension-manager 是一個用於在作業系統或用戶範圍內安裝、拆卸、啟用、禁用拓展的圖形工具。安裝前請仔細確認已知問題列表

啟用一個拓展(默認禁用):

$ gsettings set org.gnome.shell disable-user-extensions false

列出當前啟用的拓展:

$ gsettings get org.gnome.shell enabled-extensions

上述命令可能會列出已刪除的擴展。要僅列出已啟用和安裝的擴展,請改用 gnome-extensions:

$ gnome-extensions list --enabled

關於 GNOME shell拓展的更多信息,詳見 https://extensions.gnome.org/about/.

外觀

主題
注意:Gnome 42開始,許多默認的Gnome應用程式使用GTK 4和libadwaita。這些應用程式目前不支持通過gsettings或gnome-tweaks改變主題,只能通過系統設置的外觀選項來調整配置。若要設置Adwaita或Adwaita-dark以外的GTK主題,見GTK#Themes

GNOME默認使用Adwaita。若要只將Adwaita-dark應用於GTK 2應用,請使用以下符號連結:

$ ln -s /usr/share/themes/Adwaita-dark ~/.themes/Adwaita
注意:Adwaita-dark主題由gnome-themes-extra提供,因此GNOME的最小安裝可能不會包含此主題。

若要選擇新的主題,(將它們移到適當的目錄中,並)使用GNOME Tweaks或下面的GSettings命令。

對於GTK主題:

$ gsettings set org.gnome.desktop.interface gtk-theme theme-name

對於圖標主題:

$ gsettings set org.gnome.desktop.interface icon-theme theme-name
注意:窗口管理器的主題會跟隨GTK主題。使用org.gnome.desktop.wm.preferences theme的方法已被廢棄和忽略。

GTK#ThemesIcons#Manually.

標題欄按鈕排序

設置 GNOME 窗口管理器順序 (Mutter, Metacity):

$ gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close'
提示:冒號表示窗口標題欄按鈕出現的方向
GNOME Shell主題

GNOME Shell本身的主題是可配置的。首先確認您已安裝gnome-shell-extensions軟體包以應用Shell主題。然後通過GNOME Tweaks或通過GNOME Shell Extensions 網站啟用「User Themes」擴展。Shel主題可以通過使用GNOME Tweaks軟體加載並選用。

AUR裡有大量可用的GNOME Shell主題。Shell主題也可在gnome-look.org裡下載。

AppIndicators/頂部菜單欄圖標

AppIndicators 對於監控和控制後台程序很有用,其對應的軟體包是 gnome-shell-extension-appindicator or gnome-shell-extension-appindicator-gitAUR。安裝後重啟 GNOME Shell ,然後在 GNOME 擴展程序中啟用 AppIndicator 擴展,或者運行 $ gnome-extensions enable $(gnome-extensions list | grep -m 1 appindicatorsupport)來以命令行方式啟用它。

Shell動畫速度

GNOME shell 動畫可以被提速、降速或禁用。見GNOME/Tips and tricks#Change animation speed.

Shell 模糊效果

Blur my Shell 是一個給概覽模式頁面、Shell本身和其他部分應用添加模效果的拓展。安裝 gnome-shell-extension-blur-my-shellAUR ,或者gnome-shell-extension-blur-my-shell-gitAUR 。該拓展具有高度可自定義性,並且你可以自由選擇對哪些應用施加模糊效果。

更好的 Alt-Tab

GNOME中默認的 Alt-Tab功能非常簡單,並不展示selected windows的概覽。你可以在設置應用中將 Alt-Tab快捷鍵從 「切換應用」 改為 「切換窗口」以展示窗口概覽。

你也可以使用Coverflow Alt-Tab。這是一個拓展Alt-Tab行為的拓展,添加了一些特性使在應用程式之間切換更簡單、更好看。 安裝gnome-shell-extension-coverflow-alt-tab-gitAUR。你可以根據喜好配置該拓展。

注意:Super-`默認提供「切換窗口」功能。

自啟動

GNOME提供XDG Autostart

gnome-tweaks 程序可以用來管理自啟動項。

提示:如果Tweaks中自啟動應用選項下加號按鈕為灰色不可用,嘗試在終端下通過gnome-tweaks命令啟動Tweaks。見此貼

桌面

Dash to Dock

To move the dash out of the overview and turn it into a dock to以便於啟動和切換應用, 安裝 gnome-shell-extension-dash-to-dockAUR.

啟動到概覽模式

從GNOME 40開始,桌面會直接啟動到概覽模式,而不是桌面(如以前的版本)。若要模仿經典的行為,可以安裝No overview at start-up插件。

如果你在使用gnome-shell-extension-dash-to-dockAUR,你也可以在gsettings中禁用該行為。

$ gsettings set org.gnome.shell.extensions.dash-to-dock disable-overview-on-startup true

詳見此討論

剪貼板歷史

不像其他桌面環境,GNOME 並沒有內建的管理剪貼板歷史的工具。你可以使用拓展。安裝 gnome-shell-extension-clipboard-indicatorAUR

天氣

以展示選定地點的天氣,比如狀態、風速、氣壓等信息,請安裝 gnome-shell-extension-openweatherAUR。天氣信息實時更新。

音頻輸入輸出選擇

這一章節正在考慮移除。

原因: 該軟體目前最高只支持到Gnome 43。 (在 Talk:GNOME 討論)

默認情況下,如果你想要選擇音頻輸入輸出設備或改變麥克風的音量,你需要打開GNOME控制中心進行配置。你可以安裝gnome-shell-extension-sound-output-device-chooserAUR 或者 gnome-shell-extension-sound-output-device-chooser-gitAUR以更方便地控制他們。你可以在安裝後進行更多的配置。

字體

提示:如果您把"Scaling factor"調至1.00以上的某值,輔助功能菜單將自動啟用

GNOME可以設置窗體標題,界面(應用),文檔及等寬字體。查看Tweaks下的字體選項卡以獲得相關選項。

對於字體渲染來說,RGBA可能適合更多的顯示器類型,如果字體看起來過分擁擠,可以將字體渲染調至「Slight」或「None」。

輸入法

GNOME集成了的通過IBus的輸入法, 只有ibus和添加想要的輸入法引擎 (例如:ibus-libpinyin for Intelligent Pinyin) 需要安裝,安裝後,輸入法引擎可以加入GNOME的區域和語言設置鍵盤布局。

非主流鍵盤布局

如果您使用的是像Neo2這樣使用多層/修飾鍵的替代鍵盤布局,您可能需要轉到 GNOME。設置 (gnome-control-center)中的 Keyboard > Type Special CharactersAlternate Characters Key右 Alt 改為其他鍵,以便它可以作為鍵盤布局的本地修飾鍵使用。將其設置為 Left Alt 會阻止 Alt+Tab 鍵盤快捷鍵,因此請小心您所更改的內容。 如果沒有進行這個更改,您的左 Mod3 鍵可能會起作用,但右側的一個 (AltGr) 鍵可能不會起作用。(截至2021-05-18)

電源

當您使用筆記本時,可能想修改以下設置,包括控制閒置、按下電源按鈕和蓋子關閉時的行為。

$ gsettings set org.gnome.settings-daemon.plugins.power button-power hibernate
$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 3600
$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type hibernate
$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 1800
$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type hibernate
$ gsettings set org.gnome.desktop.lockdown disable-lock-screen true

如需在合上蓋子後依然保持顯示器開啟:

$ gsettings set org.gnome.settings-daemon.plugins.xrandr default-monitors-setup do-nothing

GNOME 3.24中不建議使用以下設置:

org.gnome.settings-daemon.plugins.power button-hibernate
org.gnome.settings-daemon.plugins.power button-power
org.gnome.settings-daemon.plugins.power button-sleep
org.gnome.settings-daemon.plugins.power button-suspend
org.gnome.settings-daemon.plugins.power critical-battery-action
筆記本合蓋時不掛起

The settings panel of GNOME does not provide an option for the user to change the action triggered when the laptop lid is closed. To change the lid switch action system-wide, edit the systemd settings in /etc/systemd/logind.conf. To turn off suspend on lid close, set HandleLidSwitch=ignore, as described in Power management#ACPI events.

修改電池電量嚴重不足時的行為

設置面板不提供對電池電量嚴重不足行為的設置。這些設置也從dconf中移除。不過它們現在由upower管理。按需編輯/etc/UPower/Upower.conf中upower設置。

/etc/UPower/UPower.conf
PercentageLow=10
PercentageCritical=3
PercentageAction=2
CriticalPowerAction=HybridSleep
電源模式

安裝 gnome-control-center 的可選依賴 power-profiles-daemon 以支持電源配置文件。 由於 gnome-shell 和 GNOME 設置都請求在啟動時激活 power-profiles-daemon 服務,所以不需要特意將其啟動/啟用

當服務激活時,可以通過 GNOME 設置的電源選項和系統菜單管理電源配置文件。

錄屏

內建的截屏工具沒有默認錄屏選項。安裝 gnome-shell的可選依賴 gst-plugin-pipewire 以啟用錄屏功能。

使用不同的窗口管理器

GNOME Shell 不支持更改窗口管理器, 但是 GNOME Flashback 提供使用 Metacity 和 Compiz 的session。此外,可以通過自定義 GNOME sessions 來使用別的組件。

將 GNOME Shell替換為不同的 Wayland compositor 將會導致gnome-control-center (GNOME 設置)的部分設置顯示錯誤。gnome-control-center 依然可以正常工作,但因為 mutter (GNOME Shell) 無法用於提供這些設置以填充這些區域,他們將不再奇效或無法準確反映你的設置。這些設置包括藍牙,顯示以及滑鼠/觸控板等。

參見