GNOME 3 介绍 技巧

2023-05-16

https://wiki.archlinux.org/index.php/GNOME_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29


GNOME项目使用最新的科技,为用户从头打造了全新的现代桌面——GNOME 3。它有以下特性:

  • 提供了一个现代化的默认视觉主题和字体
  • 能让您轻松访问所有窗口和程序的活动视图
  • 内置整合的桌面消息服务
  • 集成改进的Nautilus文件管理器
  • 综合系统通知服务
  • 新的系统设置程序
  • 快速的活动搜索功能
  • 还有更多特色:窗口平铺

[参阅GNOME 3网站以获取更多信息]

Contents

 [hide] 
  • 1 简介
  • 2 在新系统上安装
    • 2.1 D-BUS守护进程
    • 2.2 运行GNOME
  • 3 使用 GNOME shell
    • 3.1 GNOME 小抄
    • 3.2 重启 GNOME shell
    • 3.3 GNOME Shell 崩溃
  • 4 定制 GNOME 外观
    • 4.1 外观概览
      • 4.1.1 Gsettings
      • 4.1.2 使用gnome-tweak-tool
      • 4.1.3 通过修改settings.ini改变GTK3主题
      • 4.1.4 图标主题
    • 4.2 Nautilus
      • 4.2.1 移除侧边栏计算机中的文件夹
      • 4.2.2 地址栏显示文本路径
    • 4.3 GNOME面板
      • 4.3.1 在时间栏显示日期
      • 4.3.2 隐藏辅助功能图标
      • 4.3.3 隐藏蓝牙图标
      • 4.3.4 显示电池图标
      • 4.3.5 在状态菜单禁用休眠
      • 4.3.6 去掉注销的延迟
    • 4.4 活动视图
      • 4.4.1 从应用程序视图移除应用程序项目
      • 4.4.2 怎样改变应用程序图标大小
      • 4.4.3 禁止鼠标接触 hot corner(左上角)切换活动视图
    • 4.5 标题栏
      • 4.5.1 减少标题栏高度
      • 4.5.2 标题栏按钮重新排序
      • 4.5.3 当最大化时隐藏标题栏
    • 4.6 登录管理器
      • 4.6.1 登录管理器壁纸
      • 4.6.2 登录界面大字体
      • 4.6.3 关闭声音
      • 4.6.4 按电源键启用交互界面
      • 4.6.5 改变GDM的键盘布局
    • 4.7 其他技巧
  • 5 杂项设置
    • 5.1 登录GNOME 3后自动启动程序
    • 5.2 登录GNOME 3后启用numlock
    • 5.3 移动对话窗口
    • 5.4 GNOME shell扩展
    • 5.5 通过控制台设定默认虚拟终端
    • 5.6 中键模拟
    • 5.7 Xmonad
  • 6 启用隐藏特性
    • 6.1 改变热键
    • 6.2 如何通过状态栏菜单关机
  • 7 启用集成的消息(Empathy)
  • 8 启用备用模式
  • 9 疑难解答
    • 9.1 GNOME登录需要花很长的时间
    • 9.2 安装扩展导致GNOME停止工作
    • 9.3 扩展在GNOME3升级后不工作了
    • 9.4 从休眠恢复后屏幕没有锁
    • 9.5 只有 conky 运行时键盘快捷方式不工作
    • 9.6 GTK 2+应用程序显示段错误无法启动
    • 9.7 ATI Catalyst驱动在使用GNOME Shell的时候遭遇到了毛刺和伪影
    • 9.8 多台显示器和dock扩展
    • 9.9 Empathy和其他程序没有环境音
    • 9.10 通过can-change-accels编辑快捷键失败
    • 9.11 在备用模式右键点击面板停止响应
    • 9.12 "显示桌面"快捷键无效
    • 9.13 Nautilus不启动
    • 9.14 Epiphany不能播放flash video
    • 9.15 不能保存显示器配置文件
    • 9.16 按触摸板锁定键不能重新启用触摸板
    • 9.17 在Nautilus里面CTRL+V粘贴路径而不是文件
    • 9.18 不能连接到加密Wi-Fi
    • 9.19 “Mutter 命令 33 尚未定义。”
  • 10 外部链接

简介

GNOME 3提供了2种用户界面:Gnome Shell(新的标准布局)和备用模式(Fallback Mode)。GNOME会话会自动检测您的计算机是否适合运行GNOME Shell,若不适合则会自动选择备用模式。

备用模式(在您使用gnome-panel和 Metacity来取代GNOME Shell和Mutter时)非常类似GNOME 2布局。

您仍然可以在使用备用模式时将Metacity更换为您喜欢的窗口管理器。

在新系统上安装

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_(简体中文) 来了解桌面环境的启动。

登陆管理器为系统提供一个有限的控制,全局系统控制请参考 PolicyKit wiki article 。


# 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 shell 来应用设置。更多的GTK选项可以在这里找到GNOME developer documentation.

图标主题

使用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 里面新建文件夹 noa11y.icon@panel.ui ,建立两个新文件:


~/.local/share/gnome-shell/extensions/noa11y.icon@panel.ui/extension.js  

const Panel = imports.ui.panel;

function main() {
  Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['a11y'] = '';
}  

~/.local/share/gnome-shell/extensions/noa11y.icon@panel.ui/metadata.json  

{
  "shell-version": ["3.0"],
  "uuid": "noa11y.icon@panel.ui",
  "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,
  

隐藏蓝牙图标

假如你想完全关闭蓝牙服务,参照登录GNOME 3后自动启动程序

~/.local/share/gnome-shell/extensions 里面新建文件夹nobluetooth.icon@panel.ui ,建立两个文件:


~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/extension.js  

const Panel = imports.ui.panel;

function main() {
  Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = '';
}  

~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/metadata.json  

{
  "shell-version": ["3.0"],
  "uuid": "nobluetooth.icon@panel.ui",
  "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
  

重启 GNOME shell, 垂直间距从14到0,给你更时尚的外观。

恢复默认值:


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放大你的登陆界面字体。就像在桌面上你使用辅助功能一样。

在做这个修改之前,你必须 export GDM会话变量。


$ 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 Tips (简体中文)。

杂项设置

登录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里面找到一些别的有用的扩展。一些值得一提的是:

  • Presentation Mode 为电源菜单添加屏幕保护选项的扩展。
  • Weather 一个可以显示天气通知的扩展。
  • Alternative Status Menu 让你的用户菜单里显示休眠和关机的扩展。

在安装完一个扩展之后重启 GNOME shell, 。故障排除信息参照安装扩展导致GNOME停止工作。

通过控制台设定默认虚拟终端

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还会继续运行,在你新建账户之前,你必须杀掉他。

在Freedesktop.org Telepathy Wiki查阅telepathy组件。

启用备用模式

如果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'
  

现在你用状态菜单,电源键或者快捷键休眠,睡眠,恢复的时候你的屏幕应该被锁定了。Bug report: Screen gets no more locked after suspend #Comment 8

只有 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 混合桌面。

注意: 有望在 Catalyst 11.9 中修复。参见 http://ati.cchtml.com/show_bug.cgi?id=99

多台显示器和dock扩展

如果你有多台显示器,并且用Nvidia Twinview配置,你的dock扩展可能会夹在显示器的中间。编辑扩展的源文件来重定位dock。

编辑 /usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/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> 等)。

"显示桌面"快捷键无效

GNOME开发者认为他是一个bug(察看 https://bugzilla.gnome.org/show_bug.cgi?id=643609 ),因为最小化被抛弃了。定义ALT+STRG+D为下列设置:


系统设置 --> 键盘 --> 快捷键 --> 导航 --> 隐藏所有正常窗口
  

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
  



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GNOME 3 介绍 技巧 的相关文章

随机推荐

  • 海康威视网络摄像头配置本地存储服务器(远程连接查看回放)

    目录 环境 xff1a Win电脑A远程连接B查看录像 win电脑B存储录像 配置 方法 xff1a 海康小工具 海康威视网络摄像头答疑 环境 xff1a Win电脑A远程连接B查看录像 win电脑B存储录像 A B两台电脑 A电脑远程连接
  • Ubuntu18-22.04安装和干净卸载nvidia显卡驱动——超详细、最简单

    目录 方法一 xff1a 使用官方的NVIDIA驱动进行手动安装 xff08 稳定 靠谱 xff09 方法二 xff1a 使用系统自带的 软件和更新 程序 附加驱动更新 xff08 需要联网 xff0c 稳定性无法验证 xff09 浓缩极简
  • windows Server 2016 开启远程登录和多用户同时远程登录

    转载连接 xff1a 开启远程登录 xff1a windows Server 2016 开启远程登录 idomyway的博客 CSDN博客 前言 windows Server 2016 开启远程登录解决方法 我的电脑 右键属性 远程设置 远
  • 电脑开机显示器不显示BIOS界面,直接进入系统解决办法

    背景 xff1a 电脑开机没有电脑品牌的BIOS显示界面 xff0c 而是由黑屏直接进入系统 xff0c 导致无法正常进入BIOS 解决思路 xff1a 开机不显示BIOS界面 xff0c 直接到欢迎界面的可能性有 xff1a 1 开机过程
  • ubuntu-更新源提示-没有release文件-解决办法!

    背景 xff1a 以ubuntu21 04举例 安装完ubuntu系统 xff0c 执行 sudo apt update 更新源 xff0c 出现如下图错误 xff1a 说明你下载的ubuntu系统属于生命终结版本 xff0c 官方不再支持
  • ubuntu增加、删除、查看、赋予权限用户命令大全

    先说下增加用户的两种命令adduser和useradd的区别 xff1a 一 adduser username xff08 1 xff09 会在 etc passwd下面添加注册的账户 xff1a xff08 2 xff09 会在 etc
  • 组装机经验、软硬件故障排除、网络问题

    目录 主板 CPU 内存 显卡 判断显卡好坏的步骤 新买的显卡安装后显示器不亮 电源 其他 网络问题 主板 1 不同主板对于不同数量的内存条安装的位置有要求 xff0c 要按照主板规定的位置安装不同数量的内存条 xff0c 特别是服务器主板
  • Ubuntu系统安装和卸载xfce桌面环境

    Xfce是Linux操作系统的一种开源的免费桌面环境 xff0c 与其他Linux桌面 如GNOME和KDE 相比 xff0c 它消耗的内存和CPU最少 xff0c 这使得它更加轻便和快速 安装和卸载命令见下面链接 xff1a 如何在Ubu
  • 各版本ubuntu缺省内核

    ubuntu20 04 LTS 初始内核 xff1a 5 4 0 26 generic ubuntu21 04 LTS 初始内核 xff1a 5 11 0 16 generic ubuntu22 04 LTS 初始内核 xff1a 5 15
  • VSCode 提取扩展时出错。XHR failed 错误问题

    之前装过一些外网的软件 它的局域网端口是11223 之后不再用了的时候卸载了它 但发现VSCode在扩展商店搜索时会出现 提取扩展时出错 XHR failed 的错误 还有微信小程序开发时也会无法访问接口 提示 11223 什么的 具体的忘
  • Ubuntu 16.04分辨率只有800*600和1360*768分辨率选择,肿么办?

    xff08 1 xff09 首先使用 xrandr 命令列出当前所能检测到的分辨率 xff0c 如一台显示器19寸 xff0c 最佳分辨率为 1440x900 xff0c 由于 未能正确检测 xff0c 使用 xrandr 命令结果如下 x
  • 求字符串中的最长回文子串

    方法一 xff08 暴力法 xff09 xff1a include lt stdio h gt include lt string h gt bool Palindrome const char str int start int end
  • 堆和栈访问效率哪个更高

    1 栈分配的软件优势 xff1a 栈分配算法简单 xff0c 所以高效 xff1b 堆分配算法相对比较复杂 栈分配的硬件优势 xff1a 主要两点 xff0c cache和内存映射 如果在 栈上分配小块内存 xff0c 因为cache和内存
  • C++ Primer学习-第15章 面向对象编程

    15 1 面向对象编程 xff1a 概述 在C 43 43 中 xff0c 基类必须指出希望派生类重新定义那些函数 xff0c 定义为virtual的函数是基类期待派生类重新定义的 xff0c 基类希望派生类继承的函数不能定义为学虚函数 1
  • C++ map表的应用

    map表可以存储数据对应关系 include lt map gt include lt string gt include lt iostream gt using namespace std int main map lt int str
  • C++判断是否是IP地址

    判断是否是IP地址 bool isIPAddress const char s const char pChar bool rv 61 true int tmp1 tmp2 tmp3 tmp4 i while 1 i 61 sscanf s
  • C++判断是否是纯数字

    C 43 43 判断是否是纯数字 bool isDigitStr const char cstr if NULL 61 61 cstr cstr 0 61 61 0 return false int len 61 strlen cstr i
  • 命里有时终须有,命里无时莫强求

    命里有时终须有 xff0c 命里无时莫强求 今天是2012年2月24号 xff0c 和我谈了3个多月的女生突然之间说我们之间不合适 xff0c 让我以后不要再去骚扰她 真心第一次体会到失恋的感觉 xff0c 同时打电话给我姐姐诉说了下 xf
  • 共享内存--函数

    共享内存允许两个不相关的进程访问同一个逻辑内存 共享内存是在两个正在运行的进程之间传递数据的一种非常有效的方式 大多数的共享内存的具体实现 xff0c 都把由不同进程之间共享的内存安排为同一段物理内存 共享内存是由IPC为进程创建的一个特殊
  • GNOME 3 介绍 技巧

    https wiki archlinux org index php GNOME 28 E7 AE 80 E4 BD 93 E4 B8 AD E6 96 87 29 GNOME项目使用最新的科技 xff0c 为用户从头打造了全新的现代桌面