1. 程式人生 > >GNOME3介紹與使用技巧

GNOME3介紹與使用技巧

GNOME專案使用最新的科技,為使用者從頭打造了全新的現代桌面——GNOME 3。它有以下特性:

  • 提供了一個現代化的預設視覺主題和字型
  • 能讓您輕鬆訪問所有視窗和程式的活動檢視
  • 內建整合的桌面訊息服務
  • 整合改進的Nautilus檔案管理器
  • 綜合系統通知服務
  • 新的系統設定程式
  • 快速的活動搜尋功能
  • 還有更多特色:視窗平鋪

[參閱GNOME 3網站以獲取更多資訊]

簡介

GNOME 3提供了2種使用者介面:Gnome Shell(新的標準佈局)和備用模式(Fallback Mode)。GNOME會話會自動檢測您的計算機是否適合執行GNOME Shell,若不適合則會自動選擇備用模式。

備用模式(在您使用gnome-panel和 Metacity來取代GNOME Shell和Mutter時)非常類似GNOME 2佈局。

您仍然可以在使用備用模式時將Metacity更換為您喜歡的視窗管理器。

(轉載者注:小伽同學一直覺得GNOME3沒有開始選單,而把程式快捷方式放在活動面板的做法,很不明智,因為隨著使用者安裝程式的增加,活動面板將變得非常混亂,而沒有辦法進行資料夾方式的分類管理。於是,一直準備將介面轉為GNOME2或KDE,可是就在轉介面的前夕,偶然發現FALLBACK MODE這個設定,結果介面變得跟GNOME2差不多,於是喜出望外。)

在新系統上安裝

GNOME 3在[extra]軟體庫中。 gnome 包包括基本桌面環境和軟體,gnome-extra包包括剩下的。假如您不想安裝GNOME全部的軟體包,在安裝他的時候注意看軟體包描述(或者你可以先安裝再刪除他們)。

舉例:

# pacman -Syu gnome
# pacman -S gnome-extra

D-BUS守護程序

GNOME桌面依賴 D-Bus 守護程序以正確執行,參照dbus 來設定。

執行GNOME

為了更好地整合桌面推薦使用GDM登入管理器。其它登入管理器,如SLiM也能運作。參閱 Display_Manager_(簡體中文) 來了解桌面環境的啟動。

# pacman -S gdm

如果您更喜歡從控制檯下啟動GNOME,把下面一行新增到您的~/.xinitrc檔案中。確保它是唯一的一行(把標準~/.xinitrc中的for 段刪除,它有可能導致出錯),並且是唯一以exec開頭的一行(參閱

xinitrc_(簡體中文)):

#ONLY THIS LINE
exec ck-launch-session gnome-session

現在GNOME將在您使用以下命令時啟動:

$ startx

使用 GNOME shell

GNOME 小抄

GNOME 網站 GNOME Shell cheat sheet 講解了怎麼切換任務,使用鍵盤,視窗控制,使用面板,預覽模式等。

重啟 GNOME shell

當修改過介面之後你可能需要重啟 GNOME shell。你可以重登陸,不過有一個簡單快捷的方法。 按 Alt + F2 再輸入 r Enter

GNOME Shell 崩潰

一些特定的微調或者經常性重啟 Shell 會導致 shell 在將要重啟的時候崩潰。這個時候你必須做好心理準備,然後強制登出。有一些修改,例如在GNOME Shellfallback mode, 之間切換,不能簡單地使用r重啟;必須重登陸來應用這個效果。

醜話說在前面,在重啟shell前提前把有用的文件儲存(或者關閉)。雖然這不是必要的,因為視窗和文件在重啟了shell之後應該還在。

定製 GNOME 外觀

外觀概覽

GNOME 3 是重新設計的,但是像大多數大型軟體專案一樣,他是很多不同時間的部分組裝起來的。他沒有一個 無所不包 的配置工具。新的系統設定 比以前的控制面板有很大的改進。系統設定 組織得很好,但是你可能想要更深層次地改變外觀。

以前你所熟悉的配置工具現在有的好用,有的不好用了。有些設定選項隱藏著,不太容易找到。許多設定將會遷移到新的工具,或者隨著時間的遷移暴露在大家面前,擴充套件最新的GNOME桌面。

Gsettings

gsettings 是一個命令列工具,他把設定檔案儲存為二進位制格式,而不是像以前一樣使用XML。在 Customizing the GNOME Shell 有個展現gsettings威力的好教程。

使用gnome-tweak-tool

這個工具可以定製字型,主題, 標題欄和其它一些實用的設定。

# pacman -S gnome-tweak-tool

3.0.3之後的版本只有在gnome-shell安裝的時候才工作(假如你使用fallback mode,你一樣要安裝shell,這是一個bug)。Bugzilla bug report here.

通過修改settings.ini改變GTK3主題

就像用 ~/.gtkrc-2.0 配置GTK2主題一樣,我們用${XDG_CONFIG_HOME}/gtk-3.0/settings.ini 來配置GTK3主題。

$XDG_CONFIG_HOME 變數一般設定為 ~/.config

GNOME3預設主題為Adwaita,,他是 gnome-themes-standard. 的一部分。別主題可以在這裡找到Deviantart web site.舉例:

 [Settings]
 gtk-theme-name = Adwaita
 gtk-fallback-icon-theme = gnome
 # next option is applicable only if selected theme supports it
 gtk-application-prefer-dark-theme = true
 # set font name and dimension
 gtk-font-name = Sans 10

圖示主題

使用gnome-tweak-tool v. 3.0.3及之後的版本設定,把你想要設定的圖示主題放在 ~/.icons

通常,GNOME3的圖示主題和GNOME2的相容,你不必為預設圖示鎖住。把你鍾愛的圖示主題資料夾放在 ~/.icons 裡面。例如:

$ cp -R /home/user/Desktop/my_icon_theme ~/.icons

你可以在 gnome-tweak-toolinterface.' 裡面應用新的滑鼠主題my_icon_theme

或者,你可以選擇不使用gnome-tweak-tool直接修改配置檔案。新增GTK圖示主題到 ${XDG_CONFIG_HOME}/gtk-3.0/settings.ini

${XDG_CONFIG_HOME}/gtk-3.0/settings.ini
... previous lines ...

gtk-icon-theme-name = my_new_icon_theme

Nautilus

移除側邊欄計算機中的資料夾

顯示的資料夾在 ~/.config/user-dirs.dirs 裡配置,他可以被任何編輯器直接修改。執行 xdg-user-dirs-update 來應用修改。但是建議設定檔案許可權為只讀。

位址列顯示文字路徑

標準的Nautilus工具欄用按鈕來顯示路徑。你可以用快捷鍵來使他顯示文字路徑。按 Ctrl + L

假如你想讓他始終顯示為文字路徑,用gsettings如下所示。 注意:這樣修改之後,你不能回到按鈕路徑。只有在設定為 false 的情況下,可以通過快捷鍵來使兩種模式都可用。

gsettings set org.gnome.nautilus.preferences always-use-location-entry true

GNOME面板

在時間欄顯示日期

預設GNOME在頂欄只顯示星期和時間。可以通過下面的命令修改,修改立即生效。

# gsettings set org.gnome.shell.clock show-date true

隱藏輔助功能圖示

$HOME/.local/share/gnome-shell/extensions 裡面新建資料夾[email protected] ,建立兩個新檔案:

~/.local/share/gnome-shell/extensions/[email protected]/extension.js
const Panel = imports.ui.panel;

function main() {
  Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['a11y'] = '';
}
~/.local/share/gnome-shell/extensions/[email protected]/metadata.json
{
  "shell-version": ["3.0"],
  "uuid": "[email protected]",
  "name": "na11y",
  "description": "Turn off the ally icon in the panel"
}

重啟 GNOME shell, 輔助功能圖示就隱藏了。如果這個擴充套件將來沒有效果,修改metadata.json.裡面的 shell version 。

或者你想全域性禁用輔助功能圖示。開啟 /usr/share/gnome-shell/js/ui/panel.js ,找到下面一行,註釋或者刪除之,重啟shell。

'a11y': imports.ui.status.accessibility.ATIndicator,

隱藏藍芽圖示

~/.local/share/gnome-shell/extensions 裡面新建資料夾[email protected] ,建立兩個檔案:

~/.local/share/gnome-shell/extensions/[email protected]/extension.js
const Panel = imports.ui.panel;

function main() {
  Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = '';
}
~/.local/share/gnome-shell/extensions/[email protected]/metadata.json
{
  "shell-version": ["3.0"],
  "uuid": "[email protected]",
  "name": "nbluetooth",
  "description": "Turn off the bluetooth icon in the panel"
}

重啟 GNOME shell, 圖示就隱藏了。如果這個擴充套件將來沒有效果,修改metadata.json.裡面的 shell version 。

顯示電池圖示

安裝 gnome-power-manager.

# pacman -S gnome-power-manager

在狀態選單禁用休眠

一個快速的方法是修改 /usr/share/gnome-shell/js/ui/statusMenu.js 第153行來全域性禁用他。下次啟動GNOME shell生效。

// this._haveSuspend = this._upClient.get_can_suspend();  //  註釋掉這行
this._haveSuspend = false;                                //  使用這行

然而這個效果升級一次GNOME shell就失效了。一個有效的做法是安裝 gnome-shell-extension-alternative-status-menu

# pacman -S gnome-shell-extension-alternative-status-menu

去掉登出的延遲

用下面的修改來省掉登出的確認和60秒的的延遲。

這個對話方塊一般出現在你用狀態選單登出的時候。這個修改對於 關機 也生效。這個不是全域性修改,只對使用該命令的使用者生效。使用該命令立即生效。

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

活動檢視

從應用程式檢視移除應用程式專案

GNOME3用.desktop檔案來填充應用程式檢視。這些檔案在/usr/share/applications。Nautilus不把他們識別為純文字檔案,你不能直接編輯他們。使用終端顯示他們

$ ls /usr/share/applications

要想系統全域性修改,直接編輯他們。要想只對自己生效,把他們複製到home資料夾:

$ cp /usr/share/applications/* ~/.local/share/applications/

你可以按照你的想法編輯.desktop檔案。注意,刪除一個.desktop檔案並不解除安裝軟體,只是刪除他的桌面特性(如檔案關聯,快捷鍵等)。新增下列選項到.desktop檔案來使foo不再顯示在應用程式檢視:

$ echo "NoDisplay=true" >> foo.desktop

怎樣改變應用程式圖示大小

對於很多人來說,一個很怪異的事情就是GNOME3的圖示大小。當遇到一個小螢幕加很多程式的時候很痛苦。很高興這裡有一個方法能改變這中情況,修改GNOME shell主題。直接修改系統資料夾(別忘了備份)或者複製到你的使用者資料夾。

預設主題:

/usr/share/gnome-shell/theme/gnome-shell.css

自定義主題:

/usr/share/themes/<UserTheme>/gnome-shell/gnome-shell.css

修改 gnome-shell.css ,用下面的值替換:

.icon-grid {
    spacing: 18px;
    -shell-grid-item-size: 82px;
}

.icon-grid .overview-icon {
    icon-size: 48px;
}

重啟 shell (ALT+F2 按 'r'). 如果崩潰了, 重新登陸。

預設主題的小圖示版在AUR上提供。

禁止滑鼠接觸 hot corner(左上角)切換活動檢視

要禁用這一功能,編輯/usr/share/gnome-shell/js/ui/layout.js(Gnome 3.0.x中是panel.js)檔案的這一段:

layout.js
 this._corner = new Clutter.Rectangle({ name: 'hot-corner',
                                       width: 1,
                                       height: 1,
                                       opacity: 0,
                                       reactive: true });icon-size: 48px;
 }

reactive的值true修改為false,重啟Gnome Shell即可。

標題欄

減少標題欄高度

# sed -i '/title_vertical_pad/s|value="[0-9]\{1,2\}"|value="0"|g' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml

恢復預設值:

sudo pacman -S gnome-themes-standard

標題欄按鈕重新排序

目前只能通過 gconf-editor 來修改。

舉個例子,把關閉和最小化按鈕移大左邊。開啟 gconf-editor ,找到 desktop.gnome.shell.windows.button_layout 鍵,修改他的值為close,minimize: (冒號就是左邊與右邊之間的空格)。修改為你需要的按鈕,但是一個按鈕不能出現兩次。同時,一些按鈕已經被拋棄了。重啟 GNOME shell 看看效果。

當最大化時隱藏標題欄

# sed -i -r 's|(<frame_geometry name="max")|\1 has_title="false"|' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml

重啟 GNOME shell, 這樣修改之後你會發現你很難去離開最大化狀態。

用合適的按鍵組合, Alt + F5, Alt + F10 Alt + Space 解決這個問題。

為了防止 metacity-theme-3.xml 在每次 "gnome-themes-standard" 升級的時候都被覆蓋,新增檔名和NoUpgrade/etc/pacman.conf

/etc/pacman.conf
... previous lines ...

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
# IgnorePkg   =
# IgnoreGroup =

NoUpgrade = usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml    # Do not add a leading slash to the path

... more lines ...

恢復預設主題設定:

# pacman -S gnome-themes-standard

登入管理器

想要修改登入管理器(GDM)的特性,你需要執行下面幾行。第一個命令允許所有使用者,包括 "gdm",訪問X設定(臨時的)。這個方法使系統臨時脆弱,因此被推薦使用。第二個命令開啟使用者 "gdm" 的bash會話。注意: 通常 gdm 的使用者提示符是$,實際上,就像-bash-4.2$一樣。

# xhost +
# su - gdm -s /bin/bash
$ dbus-launch

第三個命令輸出 DBUS_SESSION_BUS_ADDRESS 和 DBUS_SESSION_BUS_PID。我們必須export這些變數。

$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38
$ export DBUS_SESSION_BUS_PID=4283

下面的命令組合了 dbus-launch and export 。(dbus-launch有命令列引數,避免了sed 的管道;這種方法看來只export了第一個變數。)

$ `dbus-launch | sed "s/^/export /"`

你必須用prep-gdm-vars export變數才能使用複製和貼上。第二個指令碼是設定GDM背景用的。把這些檔案放在一個合適的位置,用chmod加上執行的許可權。如下例所示:

/usr/local/bin/prep-gdm-vars
#  This script must be run using '.' or 'source'
`dbus-launch | sed "s/^/export /"`
/usr/local/bin/show-avail-gdm-bkgd
#!/bin/bash
#  Usage:  show-avail-gdm-bkgd  [folder]
#  Specify any folder within /usr/share/backgrounds.
#  If you omit the folder, you'll be shown available choices.
file_part="/usr/share/backgrounds/"
if ! [ $1 ]; then
  echo -en \\n  Please specify one of these directories:\\n\\n\\040
  ls $file_part; echo; exit 1; fi
ls ${file_part}/$1
/usr/local/bin/revise-gdm-bkgd
#!/bin/bash
#  Usage:  revise-gdm-bkgd gnome/filename.jpg
#  Specify any file path within /usr/share/backgrounds.
org_part="org.gnome.desktop.background picture-uri"
file_full="/usr/share/backgrounds/$1"
# Trap when argument is: missing, a mere directory, a bad filename.
if ( ! [ $1 ] || [ -d $file_full ] ); then
  echo -en \\n Specify a file.  Use this example:
  echo -e \ \ revise-gdm-bkgd \ gnome/TwoWings.jpg\\n; exit 1; fi
if ! [ -r $file_full ]; then
  echo -e \\n Specifed file does not exist or is not readable.\\n; exit 2; fi
GSETTINGS_BACKEND=dconf gsettings set $org_part "file://${file_full}"

確認dconf-service是否在執行,如果沒有執行,執行之

$ /usr/lib/dconf/dconf-service &

登入管理器桌布

在會話變數被如上設定之後,你就可以發出命令檢索或者設定GDM專案。下列命令檢索和設定GDM桌布。

$  GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri
 $  GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/gnome/SundownDunes.jpg'
 
 $  GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-options 'zoom'
 ## Possible values: centered, none, scaled, spanned, stretched, wallpaper, zoom

你必須指定一個 "gdm" 有讀許可權的檔案,GDM不能讀你的home資料夾。

下面是一個使用者用上面的指令碼設定GDM桌布的會話過程。以一個普通使用者的終端開始,假設他能以root身份開啟一個bash。root使用者再以 "gdm" 身份開啟一個會話來換桌布。

$ su -
Password: 

# xhost +
access control disabled, clients can connect from any host
# su - gdm -s /bin/bash

-bash-4.2$ . prep-gdm-vars   #  Must use . to execute this script!
access control disabled, clients can connect from any host

-bash-4.2$ show-avail-gdm-bkgd gnome
Aqua.jpg            FreshFlower.jpg  Spaceflare-nova.jpg       Terraform-green.jpg   YellowFlower.jpg
Blinds.jpg          Garden.jpg       Spaceflare-supernova.jpg  Terraform-orange.jpg
BlueMarbleWest.jpg  GreenMeadow.jpg  SundownDunes.jpg          TwoWings.jpg
FootFall.png        Spaceflare.jpg   Terraform-blue.jpg        Wood.jpg

-bash-4.2$ revise-gdm-bkgd gnome/GreenMeadow.jpg

-bash-4.2$ logout

# logout
$

revise-gdm-bkgd 指令碼也可以用命令的方式來修改你的普通使用者桌布。誠然,假如你如此做的話,這個命令和名稱很不相符。

登入介面大字型

這個修改用scaling factor放大你的登陸介面字型。就像在桌面上你使用輔助功能一樣。

$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.interface text-scaling-factor '1.25'

關閉聲音

這個調整讓你在登入介面通過快捷鍵禁用聲音反饋。你必須首先 export GDM會話變數

$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds 'false'

按電源鍵啟用互動介面

預設安裝設定電源鍵功能是休眠。關機顯示會話或許會更好一點。你必須首先export GDM會話變數

 $ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-power 'interactive'
 $ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-hibernate 'interactive'
 $ gsettings list-recursively org.gnome.settings-daemon.plugins.power

改變GDM的鍵盤佈局

由於GDM 3無視您的GNOME鍵盤設定,您得在Xorg配置檔案中設定您的鍵盤佈局。參閱此處: Beginner's Guide.

其他技巧

雜項設定

登入GNOME 3後自動啟動程式

您可以使用gnome-session-properties工具來指定登入後自動啟動的程式。它是gnome-session包的一部分。

$ gnome-session-properties

登入GNOME 3後啟用numlock

[community]軟體庫中安裝numlockx。然後新增一個自動啟動命令執行numlockx。

# pacman -S numlockx
$ gnome-session-properties

上面的命令開啟啟動應用程式首選項。點選 新增 ,輸入以下內容:

Name: Numlockx
Command: /usr/bin/numlockx on
Comment: Turns on numlock.

這個不是系統全域性的改變,為你的每個使用者重複上述步驟。

移動對話視窗

對話視窗預設配置為不可移動,某些情況下很不方便。可以使用gconf-editor更改這一配置。修改以下配置:

/desktop/gnome/shell/windows/attach_modal_dialogs

修改後重啟 GNOME Shell 即可。

GNOME shell擴充套件

GNOME Shell可以使用第三方擴充套件來定製。這些擴充套件提供了一些額外的功能,如:讓您擁有一個可以一直顯示的Dock,並讓您可以更換Shell的主題。更多有關目前可用的擴充套件功能的資訊可以在這裡 找到。最新的關於擴充套件的文章你可以通過這個連結搜尋到。

[extras]軟體庫有一些可以單獨安裝的擴充套件。(最新版本的擴充套件你可以用他的程式碼snapshot)列表在這裡

 $ pacman -Ss gnome-shell-extension

你可以在AUR裡面找到一些別的有用的擴充套件。一些值得一提的是:

通過控制檯設定預設虛擬終端

gsettings在 GNOME 3 中代替了gconftool-2。它可以被用來手動設定如預設終端。這一設定與nautilus-open-terminal相關。

使urxvt作為程序執行的命令如下:

$ gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc
$ gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"
Note: 對於 nautilus-open-terminal,你需要設定一個引數(如 -e),這樣他就能自動cd到你所在的資料夾。

中鍵模擬

GNOME3禁止中鍵模擬功能,無論你Xorg怎麼設定(Emulate3Buttons)。用下列命令開啟他:

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

Xmonad

Xmonad 是一個平鋪視窗管理器。

升級到GNOME3會讓你的xmonad設定失效。啟用備用模式,新增兩個檔案是它生效

/usr/share/gnome-session/sessions/xmonad.session
[GNOME Session]
Name=Xmonad session
RequiredComponents=gnome-panel;gnome-settings-daemon;
RequiredProviders=windowmanager;notifications;
DefaultProvider-windowmanager=xmonad
DefaultProvider-notifications=notification-daemon
/usr/share/xsessions/xmonad-gnome-session.desktop
[Desktop Entry]
Name=Xmonad GNOME
Comment=Tiling window manager
TryExec=/usr/bin/gnome-session
Exec=gnome-session --session=xmonad
Type=XSession

下次你登入,你可以選擇 Xmonad GNOME 作為你的會話。

啟用隱藏特性

GNOME 3隱藏了許多實用的選項,您可以使用dconf-editor去定製它們。您可以使用gconf-editor定製尚未遷移到dconf的選項。

改變熱鍵

dconf-editor中,啟用org.gnome.desktop.interface "can-change-accels"。

一個改變移動檔案到回收站的快捷鍵的例子:Nautilus預設設定是 Ctrl + Delete

  • 開啟Nautilus,選擇任意檔案,點選選單欄的 編輯
  • 滑鼠懸停在 移動到回收站 選單項上。
  • 懸停時,按下 Delete ,預設快捷鍵會被重置。
  • 現在按下您想設作快捷鍵的按鍵。
  • 再次按下 Delete ,快捷鍵會變為 Delete

確認您已經選中一個檔案,否則"移動到回收站"選單項會是灰色不可用的。您應當在此之後禁用 "can-change-accels" 以防止意外的快捷鍵改變。

如何通過狀態列選單關機

現在使用者點選右上角的狀態列選單時會發現,關機選項似乎被隱藏了起來。如果您想通過狀態列選單關閉您的系統,點選它,然後按下Alt。"待機"選項將立刻變為"關機...",它將使您能正確地關閉您的系統。

如果你全域性禁用了休眠在 此文件別的地方,你不需要做這個步驟。

您也可以安裝"Alternative Status Menu"擴充套件。這將在通常狀態選單中的"掛起"選項下新增一個常駐的"關機..."選項。

啟用整合的訊息(Empathy)

Empathy是整合訊息系統背後的引擎。所有基於您的訊息賬戶的系統設定將不會出現,除非 telepathy 組的軟體包或至少其中一個後端(例如:telepathy-gabbletelepathy-haze)被安裝。

這些軟體包沒有被預設的Arch GNOME安裝所包括,Empathy 也沒有給出很好的錯誤資訊提示,它沒能默默地開始運作。您可以通過以下命令安裝它們:

# pacman -S telepathy

沒有telepathy,empathy就不能開啟賬戶管理並且停留在這個狀態。就算你把empathy乾淨地退出,/usr/bin/empathy-accounts還會繼續執行,在你新建賬戶之前,你必須殺掉他。

啟用備用模式

如果gnome-shell不存在或您的顯示卡不支援混成特效的話,您的會話將自動以備用模式啟動。

如果您想在安裝了gnome-shell的情況下啟用備用模式(Fallback Mode)的話,開啟系統設定。開啟系統資訊>圖形。把強制使用備用模式調為開啟

你也可以選擇用gsettings命令來選擇會話型別。

$ gsettings set org.gnome.desktop.session session-name 'gnome-fallback'

重新登入應用設定。禁用備用模式,用'gnome' 代替 'gnome-fallback'。

疑難解答

GNOME登入需要花很長的時間

paprefs察看你是否啟用PulseAudio Network 。只要有任何音訊設定啟用了,在啟動後gnome掛起大約一分鐘。

一個方案是新建一個使用者,用新建的使用者登入。另一個方案是移動~/.gconf, ~/.gconfd~/.conf/dconf資料夾到別的地方。重登入看問題是否還在。

如果不再延遲,一個個嘗試你的設定,看看是哪個導致的錯誤。

安裝擴充套件導致GNOME停止工作

如果安裝這些擴充套件導致GNOME停止工作,那您必須首先將 user-themeauto-move-windows擴充套件從它們的安裝資料夾中移除。

安裝目錄可能是~/.local/share/gnome‑shell/extensions,/usr/share/gnome‑shell/extensions,/usr/local/share/gnome‑shell/extensions中的一個。刪除這兩個擴充套件資料夾可能解決問題。如果不能,逐個擴充套件嘗試。

移除或新增擴充套件到這些資料夾會將它們從系統移除或安裝。更多有關GNOME Shell擴充套件的資訊可以在這裡 找到。

擴充套件在GNOME3升級後不工作了

找到擴充套件的安裝目錄,可能是~/.local/share/gnome-shell/extensions/usr/share/gnome-shell/extensions.

編輯擴充套件子資料夾中的每一個 metadata.json

Insert: "shell-version": ["3.0"]
Instead of (for example): "shell-version": ["3.0.1"]
You might instead use: "shell-version": ["3.0.0", "3.0.1", "3.0.2"]


"3.0" 是最好的選擇,這個表示擴充套件能在所有 3.0.x GNOME Shell版本下工作。

從休眠恢復後螢幕沒有鎖

只有從GNOME狀態選單睡眠,選單才會鎖定。如果你用電源鍵睡眠或者休眠,在恢復後螢幕不會鎖定。這是一個dconf的配置檔案錯誤。

開啟dconf-editor ,找到 org.gnome.power-manager.,去掉 lock-use-screensaver 的對勾。

# gsettings set org.gnome.power-manager lock-use-screensaver 'false'

只有 conky 執行時鍵盤快捷方式不工作

gnome-shell 鍵盤快捷方式(如 Alt+F2,Alt+F1 和多媒體鍵快捷方式)當只有 conky 執行時不會工作。然而如果另一個程式(例如 gedit)在執行,鍵盤快捷方式就可以工作了。

解決方式:編輯 .conkyrc

own_window yes
own_window_transparent yes
own_window_argb_visual yes
own_window_type dock
own_window_class Conky
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

GTK 2+應用程式顯示段錯誤無法啟動

此錯誤往往在安裝了oxygen-gtk的情況下發生。這個主題與GNOME 3或GTK 3的某一設定衝突,當它被設定成GTK 2主題時,GTK 2程式會出現類似下面的段錯誤:

(firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed

(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed

(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed

(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed

(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed

(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed
Segmentation fault

目前的"解決方法"是把oxygen-gtk從系統中完全移除併為您的應用程式設定另一個主題。

ATI Catalyst驅動在使用GNOME Shell的時候遭遇到了毛刺和偽影

目前不推薦使用Catalyst執行GNOME Shell。開源的ATI驅動(xf86-video-ati)似乎是能正確地執行 GNOME 3 混合桌面。

多臺顯示器和dock擴充套件

如果你有多臺顯示器,並且用Nvidia Twinview配置,你的dock擴充套件可能會夾在顯示器的中間。編輯擴充套件的原始檔來重定位dock。

編輯 /usr/share/gnome-shell/extensions/[email protected]/extension.js ,在程式碼中找到這行:

this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);

第一個引數是dock的X方向位置,從2改成15,dock在我的主顯示器上到了正確的位置。你可以嘗試幾個X,Y的值來讓他到合理位置。

this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);

Empathy和其他程式沒有環境音

如果你正在使用 OSS, 你需要安裝AUR上的libcanberra-oss

必須安裝sound-theme-freedesktop包以獲取預設環境聲:

 # pacman -S sound-theme-freedesktop

通過can-change-accels編輯快捷鍵失敗

也可以通過accel map手動設定快捷鍵。在哪裡找到這些檔案取決於應用軟體,例如,Thuner在~/.config/Thunar/accels.scm,Nautilus在~/.gnome2/accels/nautilus。檔案含有一系列快捷鍵,還未更改的快捷鍵用 ";" 註釋,去掉註釋以啟用。

在備用模式右鍵點選面板停止響應

開啟gconf-editor找到/apps/metacity/general/mouse_button_modifier,面板和applets也在使用快捷鍵 (<Alt>, <Super> 等)。

"顯示桌面"快捷鍵無效

系統設定 --> 鍵盤 --> 快捷鍵 --> 導航 --> 隱藏所有正常視窗

Nautilus不啟動

開啟 gnome-tweak-tool -> File Manager -> Have file manager handle the desktop -> Off

Epiphany不能播放flash video

Epiphany現在使用gtk3, 但是Adobe's Flash Player仍然依賴於gtk2。察看Epiphany#Flash裡面用nspluginwrapper解決的方法。

不能儲存顯示器配置檔案

如果你遇到這樣的問題,嘗試禁用 xrandr gnome-settings-daemon 外掛:

dconf write /org/gnome/settings-daemon/plugins/xrandr/active false 

按觸控板鎖定鍵不能重新啟用觸控板

有一些筆記本有觸控板鎖定鍵,這樣你可以在打字的時候禁用他,不用擔心碰到觸控板。但是GNOME可以正確地鎖定他,卻不能啟用。如果觸控板已經被禁用,按下面操作解鎖:

  1. 按ALT+F2 , 輸入gnome-terminal,回車
  2. 輸入以下命令
xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1

在Nautilus裡面CTRL+V貼上路徑而不是檔案

如果你被這個問題困擾,編輯 ~/.gnome2/accels/nautilus你可以發現兩個 CTRL+V :

(gtk_accel_path "<Actions>/DirViewActions/Paste" "<Control>v")
...
(gtk_accel_path "<Actions>/ClipboardActions/Paste" "<Control>v")

問題在於第二項,刪除他可以好過一陣子,我可能還要再去修改他。另一個方法是修改快捷鍵。

不能連線到加密Wi-Fi

如果你可以看到wifi連線,但是點選加密網路卻不能開啟輸入密碼對話,你可能需要安裝network-manager-applet。察看Gnome NetworkManager setup.

“Mutter 命令 33 尚未定義。”

當你使用print screen截圖的時候,出現“Mutter 命令 33 尚未定義。”。mutter還用著metacity的配置檔案。

$ sudo pacman -S metacity