Difference between revisions of "GNOME"

From ArchWiki
Jump to: navigation, search
(Forcing fallback mode: flashback mode)
m (Added the bit under "Starting GNOME" saying that you should add yourself to the video group.)
(47 intermediate revisions by 18 users not shown)
Line 1: Line 1:
[[Category:GNOME| ]]
+
[[Category:GNOME]]
 
[[cs:GNOME]]
 
[[cs:GNOME]]
 
[[de:GNOME]]
 
[[de:GNOME]]
Line 12: Line 12:
 
[[sr:GNOME]]
 
[[sr:GNOME]]
 
[[th:GNOME]]
 
[[th:GNOME]]
[[tr:Gnome_Masaüstü_Ortamı]]
+
[[tr:Gnome Masaüstü Ortamı]]
 
[[uk:GNOME]]
 
[[uk:GNOME]]
 
[[zh-CN:GNOME]]
 
[[zh-CN:GNOME]]
 
[[zh-TW:GNOME]]
 
[[zh-TW:GNOME]]
{{Article summary start}}
+
{{Related articles start}}
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}
+
{{Related|Desktop Environment}}
{{Article summary heading|Overview}}
+
{{Related|Display Manager}}
{{Article summary text|{{Graphical user interface overview}}}}
+
{{Related|Window Manager}}
{{Article summary heading|Related}}
+
{{Related|GTK+}}
{{Article summary wiki|GTK+}}
+
{{Related|GDM}}
{{Article summary wiki|GDM}}
+
{{Related|Nautilus}}
{{Article summary wiki|Nautilus}}
+
{{Related|Gedit}}
{{Article summary end}}
+
{{Related|Epiphany}}
 +
{{Related|GNOME Flashback}}
 +
{{Related articles end}}
  
From [http://www.gnome.org/about/ About Us | GNOME]:
+
From [http://www.gnome.org/about/|the GNOME website]:
  
 
:''The GNOME Project was started in 1997 by two then university students, Miguel de Icaza and Federico Mena. Their aim: to produce a free (as in freedom) [[desktop environment]]. Since then, GNOME has grown into a hugely successful enterprise. Used by millions of people across the world, it is the most popular desktop environment for GNU/Linux and UNIX-type operating systems. The desktop has been utilised in successful, large-scale enterprise and public deployments, and the project’s developer technologies are utilised in a large number of popular mobile devices.''
 
:''The GNOME Project was started in 1997 by two then university students, Miguel de Icaza and Federico Mena. Their aim: to produce a free (as in freedom) [[desktop environment]]. Since then, GNOME has grown into a hugely successful enterprise. Used by millions of people across the world, it is the most popular desktop environment for GNU/Linux and UNIX-type operating systems. The desktop has been utilised in successful, large-scale enterprise and public deployments, and the project’s developer technologies are utilised in a large number of popular mobile devices.''
Line 34: Line 36:
 
GNOME 3 has ''two'' interfaces:
 
GNOME 3 has ''two'' interfaces:
  
*'''GNOME Shell''' is the new standard layout using the Mutter window manager. It acts as a composite manager for the desktop, employing hardware graphics acceleration to provide effects aimed at reducing screen clutter.
+
*'''GNOME''' is the standard, innovative layout.
  
*'''Classic mode''' is the successor of the discontinued "fallback mode" starting with GNOME 3.8. It aims at implementing a more traditional desktop interface while using standard GNOME 3 technologies (including graphic acceleration). It does so through the use of pre-activated extensions and parameters (see [http://worldofgnome.org/welcome-to-gnome-3-8-flintstones-mode/ here] for a list) and relies on llvmpipe for graphic acceleration. Hence it consists more of a customized GNOME Shell than a truly distinct mode.
+
*'''GNOME Classic''' is the traditional desktop layout, which similar to the GNOME 2 user interface while using standard GNOME 3 technologies. It does so through the use of pre-activated extensions and parameters (see [http://worldofgnome.org/welcome-to-gnome-3-8-flintstones-mode/ here] for a list). Hence it consists more of a customized GNOME Shell than a truly distinct mode.
  
GNOME-session automatically detects if your computer is incapable of running GNOME Shell and starts Classic mode with llvmpipe when appropriate.
+
Both of them using GNOME Shell and the Mutter window manager. Mutter acts as a composite manager for the desktop, employing hardware graphics acceleration to provide effects aimed at reducing screen clutter. GNOME session manager automatically detects if your video driver is incapable of running GNOME Shell and falls back to software rendering using llvmpipe when appropriate.
  
 
==Installation==
 
==Installation==
Line 47: Line 49:
 
*{{Grp|gnome-extra}} contains various optional tools such as a media player, a calculator, an editor and other non-critical applications that go well with the GNOME desktop. Installing this group is optional.
 
*{{Grp|gnome-extra}} contains various optional tools such as a media player, a calculator, an editor and other non-critical applications that go well with the GNOME desktop. Installing this group is optional.
  
Note that installing only {{Grp|gnome-extra}} will not pull the whole {{Grp|gnome}} group by dependencies: if you really want everything you must explicitly install both groups.
+
{{Note|Installing just the {{Grp|gnome-extra}} group will not pull in the whole {{Grp|gnome}} group via dependencies. If you really want everything you must explicitly install both groups.}}
  
 
=== Starting GNOME ===
 
=== Starting GNOME ===
Line 53: Line 55:
 
'''Graphical log-in'''
 
'''Graphical log-in'''
  
For the best desktop integration, login manager '''GDM''' is recommended. Other login managers can be used in place of GDM. Check out the [[Display_Manager|wiki article on display managers]] to learn how desktop environments are started.
+
For the best desktop integration, the Gnome [[Display Manager]] ([[GDM]]) is recommended. Other login managers can be used in place of GDM. Check out the [[Display Manager]] article to learn how desktop environments are started.
  
The login manager is a limited process entrusted with duties that impact the system. The [[PolicyKit|PolicyKit wiki article]] addresses the topic of system‑wide access control.
+
The login manager is a limited process entrusted with duties that impact the system. The [[PolicyKit]] article addresses the topic of system‑wide access control.
  
 
{{Tip|Refer to the [[GDM]] article for installation and configuration instructions.}}
 
{{Tip|Refer to the [[GDM]] article for installation and configuration instructions.}}
 +
 +
Should GNOME fail to start, it's worth a shot to add yourself to the {{ic|video}} group.
  
 
'''Starting GNOME manually'''
 
'''Starting GNOME manually'''
Line 66: Line 70:
 
</nowiki>}}
 
</nowiki>}}
  
After the {{ic|exec}} command is placed, GNOME can be launched by typing {{ic|startx}}.
+
Or {{ic|exec gnome-session --session&#61;gnome-classic}} for GNOME Classic. After editing your {{ic|~/.xinitrc}}, GNOME can be launched by typing {{ic|startx}}.
  
See [[xinitrc]] for details, such as preserving the logind (and/or consolekit) session.
+
See [[xinitrc]] for details, such as preserving the logind session.
  
 
== Using the shell ==
 
== Using the shell ==
Line 78: Line 82:
 
=== Restarting the shell ===
 
=== Restarting the shell ===
  
After appearance tweaks you are often asked to restart the GNOME shell. You could log out and log back in, but it is simpler and faster to issue the following keyboard command. Restart the shell by pressing {{Keypress|Alt}} + {{Keypress|F2}}  then  {{Keypress|r}}  then  {{Keypress|Enter}}
+
After appearance tweaks you are often asked to restart the GNOME shell. You could log out and log back in, but it is simpler and faster to issue the following keyboard command. Restart the shell by pressing {{ic|Alt}} + {{ic|F2}}  then  {{ic|r}}  then  {{ic|Enter}}
  
 
=== Shell crashes ===
 
=== Shell crashes ===
  
Certain tweaks and/or repeated shell restarts may cause the shell to crash when a restart is attempted. In this case, you are informed about the crash and then forced to log out. Some shell changes, such as switching between '''''GNOME Shell''''' and '''''fallback mode,''''' cannot be accomplished via a keyboard restart; you must log out and log back in to effect them.
+
Certain tweaks and/or repeated shell restarts may cause the shell to crash when a restart is attempted. In this case, you are informed about the crash and then forced to log out. Some shell changes cannot be accomplished via a keyboard restart; you must log out and log back in to effect them.
  
 
It is common sense — but worth repeating — that valuable documents should be saved (and perhaps closed) before attempting a shell restart. It is not strictly necessary; open windows and documents usually remain intact after a shell restart.
 
It is common sense — but worth repeating — that valuable documents should be saved (and perhaps closed) before attempting a shell restart. It is not strictly necessary; open windows and documents usually remain intact after a shell restart.
Line 88: Line 92:
 
=== Shell freezes ===
 
=== Shell freezes ===
  
Sometimes shell extensions freeze the GNOME Shell. In this case a possible strategy is to switch to another terminal via {{Keypress|Ctrl+Alt+F2}} through {{Keypress|Ctrl+Alt+F6}}, log in, and restart gnome-shell with:
+
Sometimes shell extensions freeze the GNOME Shell. In this case a possible strategy is to switch to another terminal via {{ic|Ctrl+Alt+F2}} through {{ic|Ctrl+Alt+F6}}, log in, and restart gnome-shell with:
  
 
  # pkill -HUP gnome-shell
 
  # pkill -HUP gnome-shell
Line 100: Line 104:
 
The GNOME Shell then restarts automatically.
 
The GNOME Shell then restarts automatically.
  
If this doesn't work, you can try to restart your login manager. For instance, if you use GDM, try:
+
If this does not work, you can try to restart your login manager. For instance, if you use GDM, try:
  
 
  # systemctl restart gdm.service
 
  # systemctl restart gdm.service
  
 
{{Tip|You can also use '''htop''' in tty; press ''t'', select the ''gnome-shell'' tree, press ''k'' and send ''SIGKILL''.}}
 
{{Tip|You can also use '''htop''' in tty; press ''t'', select the ''gnome-shell'' tree, press ''k'' and send ''SIGKILL''.}}
 +
 +
== Pacman integration: GNOME PackageKit ==
 +
 +
GNOME 3 has his own GUI integration of '''pacman''': {{Pkg|gnome-packagekit}}.
 +
 +
Using the '''alpm''' backend, it supports the following features:
 +
 +
* Install and remove packages from the repos.
 +
* Periodically refresh package databases and prompt for updates.
 +
* Install packages from tarballs.
 +
* Search for packages by name, description, category or file.
 +
* Show package dependencies, files and reverse dependencies.
 +
* Ignore IgnorePkgs and hold HoldPkgs.
 +
* Report optional dependencies, .pacnew files, etc.
 +
 +
You can change the {{ic|remove}} operation from -Rc to -Rsc by setting the DConf key {{ic|org.gnome.packagekit.enable-autoremove}}.
 +
 +
=== Packages updates notifications ===
 +
 +
If you want GNOME to check automatically for updates, you must install {{Pkg|gnome-settings-daemon-updates}} from the official repository. Its optional dependency {{Pkg|polkit-gnome}} '''is required''' if you run GNOME as non-root user.
  
 
== Customizing GNOME appearance ==
 
== Customizing GNOME appearance ==
Line 116: Line 140:
 
==== Gsettings ====
 
==== Gsettings ====
  
A new command-line tool '''gsettings''' stores data in a binary format, unlike previous tools using XML text. A tutorial [http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html Customizing the GNOME Shell] explores the power of gsettings.
+
A new command-line tool {{ic|gsettings}} stores data in a binary format, unlike previous tools using XML text. A tutorial [http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html Customizing the GNOME Shell] explores the power of gsettings.
  
 
==== GNOME tweak tool ====
 
==== GNOME tweak tool ====
  
This graphical tool customizes fonts, themes, titlebar buttons and other settings.  
+
This graphical tool customizes fonts, themes, titlebar buttons and other settings. {{Pkg|gnome-tweak-tool}} is available from the [[official repositories]].
 
+
# pacman -S gnome-tweak-tool
+
  
 
==== GTK3 theme via settings.ini ====
 
==== GTK3 theme via settings.ini ====
  
Like {{ic|~/.gtkrc-2.0}}  with GTK2+, it is possible to set a GTK3 theme via {{ic|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}.
+
It is possible to set a GTK3 theme via {{ic|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}} (usually {{ic|~/.config/gtk-3.0/settings.ini}}).
 
+
Variable {{ic|$XDG_CONFIG_HOME}} is usually set to {{ic|~/.config}}
+
  
 
''Adwaita,'' the default GNOME 3 theme, is a part of {{pkg|gnome-themes-standard}}. Additional GTK3 themes can be found at [http://browse.deviantart.com/customization/skins/linuxutil/desktopenv/gnome/gtk3/ Deviantart web site.] For example:
 
''Adwaita,'' the default GNOME 3 theme, is a part of {{pkg|gnome-themes-standard}}. Additional GTK3 themes can be found at [http://browse.deviantart.com/customization/skins/linuxutil/desktopenv/gnome/gtk3/ Deviantart web site.] For example:
Line 141: Line 161:
 
</nowiki>}}
 
</nowiki>}}
  
It is necessary to [[#Restarting_the_shell|restart the GNOME shell]] for settings to be applied. More GTK options are found at [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GNOME developer documentation.]
+
It is necessary to [[#Restarting the shell|restart the GNOME shell]] for settings to be applied. More GTK options are found at [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GNOME developer documentation.]
  
 
==== Icon theme ====
 
==== Icon theme ====
Line 158: Line 178:
  
 
gtk-icon-theme-name = my_new_icon_theme</nowiki>}}
 
gtk-icon-theme-name = my_new_icon_theme</nowiki>}}
 
=== Nautilus ===
 
 
''See [[Nautilus]].''
 
  
 
=== Totem ===
 
=== Totem ===
Line 175: Line 191:
 
By default GNOME displays only the weekday and time in the top bar. This can be changed with the following command. Changes take effect immediately.  
 
By default GNOME displays only the weekday and time in the top bar. This can be changed with the following command. Changes take effect immediately.  
  
GNOME 3.4.2:
 
# gsettings set org.gnome.shell.clock show-date true
 
 
GNOME 3.6.2:
 
 
  # gsettings set org.gnome.desktop.interface clock-show-date true
 
  # gsettings set org.gnome.desktop.interface clock-show-date true
 
==== Always show the "Log Out" entry in the user menu ====
 
 
Since GNOME 3.6, the "Log Out" entry in the user menu is only shown when multiple non-root users are present in the system.
 
 
To always enable this entry, run the following command from a terminal:
 
 
# gsettings set org.gnome.shell always-show-log-out true
 
 
You can also change this in dconf-editor: Navigate to org.gnome.shell, then check the "always-show-log-out" checkbox.
 
 
Then, restart the GNOME shell:
 
#{{Keypress|Alt+F2}}
 
#{{Keypress|r}}
 
#{{Keypress|Enter}}
 
  
 
==== Hiding icons in the top bar ====
 
==== Hiding icons in the top bar ====
Line 227: Line 224:
 
Then, save your results and restart the shell:
 
Then, save your results and restart the shell:
  
#{{Keypress|Alt+F2}}
+
#{{ic|Alt+F2}}
#{{Keypress|r}}
+
#{{ic|r}}
#{{Keypress|Enter}}
+
#{{ic|Enter}}
  
 
==== Show battery icon ====
 
==== Show battery icon ====
 
 
 
To show the battery tray icon, [[pacman|install]] {{Pkg|gnome-power-manager}} from the [[Official Repositories|official repositories]].
 
To show the battery tray icon, [[pacman|install]] {{Pkg|gnome-power-manager}} from the [[Official Repositories|official repositories]].
 
==== Disable "Suspend" in the status and gdm menu ====
 
 
A quick way to do it system-wide for GNOME 3.2 is to change line 539 of {{ic|/usr/share/gnome-shell/js/ui/userMenu.js}} and line 103 of {{ic|/usr/share/gnome-shell/js/gdm/powerMenu.js}}. (For GNOME versions prior to 3.2, look at line 153 of {{ic|/usr/share/gnome-shell/js/ui/statusMenu.js}}.) This change takes effect the next time GNOME Shell is started.
 
 
{{hc|/usr/share/gnome-shell/js/ui/userMenu.js|<nowiki>
 
// this._haveSuspend = this._upClient.get_can_suspend();  //  Comment this line out.
 
this._haveSuspend = false;                                //  Use this line instead.
 
</nowiki>}}
 
 
To accomplish this, paste the following command(s) in your terminal:
 
  GNOME_SHELL=/usr/share/gnome-shell
 
  SCRIPTS=`grep -lr get_can_suspend $GNOME_SHELL/js`
 
  for FILE in $SCRIPTS ; do
 
        sed -r -i -e 's/[^= ]+.get_can_suspend\(\)/false/' "$FILE"
 
  done
 
 
The above change does not persist after a GNOME version update, however. A more perennial solution is to add the code above in some gdm or system startup script (eg: /etc/rc.local), to keep the "suspend" option disabled after updates.
 
 
Alternatively you can install the [[#GNOME shell extensions|GNOME shell extension]] {{ic|alternative status menu}} in package {{Pkg|gnome-shell-extension-alternative-status-menu}}.
 
  
 
==== Eliminate delay when logging out ====
 
==== Eliminate delay when logging out ====
Line 305: Line 282:
 
* For '''user themes''', edit '''{{ic|/usr/share/themes/<UserTheme>/gnome-shell/gnome-shell.css}}'''
 
* For '''user themes''', edit '''{{ic|/usr/share/themes/<UserTheme>/gnome-shell/gnome-shell.css}}'''
  
Edit ''gnome-shell.css''  and replace the following values. Afterward, [[#Restarting_the_shell|restart the GNOME shell.]]
+
Edit ''gnome-shell.css''  and replace the following values. Afterward, [[#Restarting the shell|restart the GNOME shell.]]
 
{{hc|gnome-shell.css|<nowiki>
 
{{hc|gnome-shell.css|<nowiki>
 
  ...
 
  ...
Line 376: Line 353:
  
 
=== Titlebar ===
 
=== Titlebar ===
==== Remove title bar ====
 
Install [https://extensions.gnome.org/extension/354/maximus/ Maximus] GNOME shell extension.
 
 
It can also have white list / black list of application.
 
 
This extension requires xorg-xprop, install it if you don't have it already.
 
 
{{bc|pacman -S xorg-xprop}}
 
 
More about [[#GNOME shell extensions | GNOME shell extensions]].
 
  
 
==== Reduce title bar height ====
 
==== Reduce title bar height ====
Line 391: Line 358:
 
* '''user-only''' - copy {{ic|/usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml}} to {{ic|/home/$USER/.themes/Adwaita/metacity-1/metacity-theme-3.xml}}, search for {{ic|title_vertical_pad}} and reduce its value to a minimum of {{ic|0}}.
 
* '''user-only''' - copy {{ic|/usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml}} to {{ic|/home/$USER/.themes/Adwaita/metacity-1/metacity-theme-3.xml}}, search for {{ic|title_vertical_pad}} and reduce its value to a minimum of {{ic|0}}.
  
Then [[#Restarting_the_shell|Restart the GNOME shell.]]  
+
Then [[#Restarting the shell|Restart the GNOME shell.]]  
  
 
To restore the original values, [[pacman|install]] the package {{Pkg|gnome-themes-standard}} from the [[Official Repositories|official repositories]] or remove {{ic|/home/$USER/.themes/Adwaita/metacity-1/metacity-theme-3.xml}}
 
To restore the original values, [[pacman|install]] the package {{Pkg|gnome-themes-standard}} from the [[Official Repositories|official repositories]] or remove {{ic|/home/$USER/.themes/Adwaita/metacity-1/metacity-theme-3.xml}}
Line 399: Line 366:
 
At present this setting can be changed through '''dconf-editor.'''
 
At present this setting can be changed through '''dconf-editor.'''
  
For example, we move the close and minimize buttons to the left side of the titlebar. Open '''dconf-editor''' and locate the  '''''org.gnome.shell.overrides.button_layout'''''  key. Change its value to '''{{ic|close,minimize:}}'''  (Colon symbol designates the spacer between left side and right side of the titlebar.) Use whichever buttons in whatever order you prefer. You cannot use a button more than once. Also, keep in mind that certain buttons are deprecated. [[#Restarting_the_shell|Restart the shell]] to see your new button arrangement.
+
For example, we move the close and minimize buttons to the left side of the titlebar. Open '''dconf-editor''' and locate the  '''''org.gnome.shell.overrides.button_layout'''''  key. Change its value to '''{{ic|close,minimize:}}'''  (Colon symbol designates the spacer between left side and right side of the titlebar.) Use whichever buttons in whatever order you prefer. You cannot use a button more than once. Also, keep in mind that certain buttons are deprecated. [[#Restarting the shell|Restart the shell]] to see your new button arrangement.
  
 
==== Hide titlebar when maximized ====
 
==== Hide titlebar when maximized ====
Line 405: Line 372:
 
  # sed -i -r 's|(<frame_geometry name="max")|\1 has_title="false"|' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml
 
  # sed -i -r 's|(<frame_geometry name="max")|\1 has_title="false"|' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml
  
[[#Restarting_the_shell|Restart the GNOME shell.]] After this tweak, you may find it difficult to un-maximize a window when there is no titlebar to grab.
+
[[#Restarting the shell|Restart the GNOME shell.]] After this tweak, you may find it difficult to un-maximize a window when there is no titlebar to grab.
  
With suitable keybindings, you should be able to use {{Keypress|Alt+F5}}, {{Keypress|Alt+F10}} or {{Keypress|Alt+Space}} to remedy the situation.
+
With suitable keybindings, you should be able to use {{ic|Alt+F5}}, {{ic|Alt+F10}} or {{ic|Alt+Space}} to remedy the situation.
  
 
To prevent {{ic|metacity-theme-3.xml}} from being overwritten each time package {{pkg|gnome-themes-standard}} is upgraded, add its name to {{ic|/etc/pacman.conf}} with {{ic|NoUpgrade}}.
 
To prevent {{ic|metacity-theme-3.xml}} from being overwritten each time package {{pkg|gnome-themes-standard}} is upgraded, add its name to {{ic|/etc/pacman.conf}} with {{ic|NoUpgrade}}.
Line 413: Line 380:
 
{{hc|/etc/pacman.conf|<nowiki>... previous lines ...
 
{{hc|/etc/pacman.conf|<nowiki>... previous lines ...
  
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
+
# Pacman will not upgrade packages listed in IgnorePkg and members of IgnoreGroup
 
# IgnorePkg  =
 
# IgnorePkg  =
 
# IgnoreGroup =
 
# IgnoreGroup =
Line 425: Line 392:
 
=== Login screen ===
 
=== Login screen ===
 
{{Merge|GDM|Login managers have their own wiki pages and information should be maintained separately.}}
 
{{Merge|GDM|Login managers have their own wiki pages and information should be maintained separately.}}
To modify characteristics of the login screen (GDM, the GNOME display manager) the following lines can be executed. The first command allows all users, including "gdm", to access X settings (albeit temporarily). This command creates a temporary vulnerability, so be advised. The second command opens a bash session with the credentials of user "gdm". {{Note|For exposition, user gdm's terminal prompt is shown as '''$'''. In actuality, it shows something like -bash-4.2$.}}
 
 
# xhost +
 
# su - gdm -s /bin/bash
 
$ dbus-launch
 
 
The third command prints DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We must export these variables. Either manually export the below two variables shown in the output of dbus-launch like this:
 
 
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38
 
$ export DBUS_SESSION_BUS_PID=4283
 
 
Or use the follow command:
 
 
$ `dbus-launch | sed "s/^/export /"`
 
 
Check to see if dconf-service is running and if not, start it like this
 
 
$ /usr/lib/dconf/dconf-service &
 
  
 
==== Login background image ====
 
==== Login background image ====
Line 469: Line 418:
 
This tweak enlarges the login font with a scaling factor. It is the same method employed by ''Accessibility Manager'' on the desktop.
 
This tweak enlarges the login font with a scaling factor. It is the same method employed by ''Accessibility Manager'' on the desktop.
 
   
 
   
You must [[#Login_screen|export the GDM session variables]] before performing this tweak.
+
You must [[#Login screen|export the GDM session variables]] before performing this tweak.
  
 
  $ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.interface text-scaling-factor '1.25'
 
  $ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.interface text-scaling-factor '1.25'
Line 483: Line 432:
 
==== Make the power button interactive ====
 
==== Make the power button interactive ====
  
The default installation sets the power button to suspend the system. '''''Power off'''''  or  '''''Show dialog'''''  is a better choice. You must first export the GDM session variables as [[#Login_screen|outlined previously.]]
+
The default installation sets the power button to suspend the system. '''''Power off'''''  or  '''''Show dialog'''''  is a better choice. You must first export the GDM session variables as [[#Login screen|outlined previously.]]
  
 
   $ 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-power 'interactive'
Line 491: Line 440:
 
{{Warning|Please note that the [[Acpid|acpid]] daemon also handle the "power button" an "hibernate button" event. Running both systems at the same time may lead to unexpected behaviour.}}
 
{{Warning|Please note that the [[Acpid|acpid]] daemon also handle the "power button" an "hibernate button" event. Running both systems at the same time may lead to unexpected behaviour.}}
  
==== Prevent suspend when closing the lid ====
+
==== GDM keyboard layout ====
  
On some systems it happens that your laptop suspends when you are closing the lid despite having set the options ''Laptop lid close action on battery'' and ''Laptop lid close action on AC'' to ''blank''. If this is the case, append the following line to {{ic|/etc/systemd/logind.conf}}:
+
GDM does not know about your GNOME 3 desktop keyboard settings. To change keyboard settings used by GDM, set your layout using Xorg configuration. Refer to this section of the [[Beginners'_Guide#Non-US_keyboard|Beginner's Guide.]]
  
HandleLidSwitch=ignore
+
=== Power Management ===
  
==== No reaction on lid close ====
+
==== Prevent Suspend-To-RAM (S3) when closing the LID ====
  
When configuring the lid close events via [[Systemd#ACPI_power_management]], the settings may seem to have no effect.
+
Since GNOME 3.0 the necessary options are removed from the System Settings and since GNOME 3.6 (buildung up on Systemd) even the remaining configuration options are removed from dconf. The current approach is to manage this on the level of [[Power_Management#ACPI_events|Systemd]]. Change the variable '''HandleLidSwitch''' to '''ignore''' in {{ic|/etc/systemd/logind.conf}}
If you have an external monitor connected to your laptop, this is default GNOME behaviour. Disconnect the monitor and the settings should work, otherwise your {{ic|/etc/systemd/logind.conf}} may be incorrect.
+
  
==== Change Critical Battery Level Action (for Laptops) ====
+
{{hc|/etc/systemd/logind.conf|HandleLidSwitch&#61;ignore}}
  
The {{pkg|gnome-power-manager}} gui doesn't have a choice for "do nothing" on laptops at critical battery level. To manually edit this, open the {{pkg|dconf}}-editor -> org -> gnome -> settings-daemon -> plugins -> power. Edit the "critical-battery-action" value to "nothing".
+
==== No reaction on lid close ====
  
==== GDM keyboard layout ====
+
When configuring the lid close events via [[Systemd#ACPI_power_management]], the settings may seem to have no effect. If you have an external monitor connected to your laptop, this is default GNOME behaviour. Disconnect the monitor and the settings should work, otherwise your {{ic|/etc/systemd/logind.conf}} may be incorrect.
  
GDM does not know about your GNOME 3 desktop keyboard settings. To change keyboard settings used by GDM, set your layout using Xorg configuration. Refer to this section of the [[Beginners'_Guide#Non-US_keyboard|Beginner's Guide.]]
+
==== Change Critical Battery Level Action (for Laptops) ====
 +
 
 +
The {{pkg|gnome-power-manager}} gui does not have a choice for "do nothing" on laptops at critical battery level. To manually edit this, open the {{pkg|dconf}}-editor -> org -> gnome -> settings-daemon -> plugins -> power. Edit the "critical-battery-action" value to "nothing".
  
 
=== Other tips ===
 
=== Other tips ===
Line 515: Line 465:
 
== Miscellaneous settings ==
 
== Miscellaneous settings ==
  
=== Automatic program launch upon logging in ===
+
=== Switch back scrolling behavior ===
 +
If you do not like the new scrollbar behavior just put {{ic|<nowiki>gtk-primary-button-warps-slider = false</nowiki>}} under the {{ic|<nowiki>[Settings]</nowiki>}} section in {{ic|~/.config/gtk-3.0/settings.ini}}:
 +
 
 +
{{hc|~/.config/gtk-3.0/settings.ini|<nowiki>
 +
[Settings]
 +
gtk-primary-button-warps-slider = false
 +
...
 +
</nowiki>}}
 +
 
 +
=== Autostarting / Automatic program launch upon logging in ===
  
 
Specify which programs start automatically after logging in using {{ic|gnome-session-properties}}.  This tool is part of the {{Pkg|gnome-session}} package.
 
Specify which programs start automatically after logging in using {{ic|gnome-session-properties}}.  This tool is part of the {{Pkg|gnome-session}} package.
Line 539: Line 498:
 
       -VteTerminal-inner-border: 10px 10px 10px 10px;
 
       -VteTerminal-inner-border: 10px 10px 10px 10px;
 
     }
 
     }
 
=== Disable sound effects in Terminal ===
 
By default the terminal has these annoying sound effects when e.g. pushing the tab button on your keyboard. One solution is to turn off or mute all sound effects in the settings menu of Gnome. However, this will also turn off notification sounds in other application such as Skype. A better solution is to open a terminal, go to Edit -> Profile Preferences -> General and untick '''Terminal bell'''.
 
  
 
=== Disable blinking cursor in Terminal ===
 
=== Disable blinking cursor in Terminal ===
Line 548: Line 504:
 
  gsettings set org.gnome.desktop.interface cursor-blink false
 
  gsettings set org.gnome.desktop.interface cursor-blink false
  
=== Make new tabs inherit current directory inn Gnome Terminal (3.8+) ===
+
=== Make new tabs inherit current directory in Gnome Terminal (3.8+) ===
In Gnome 3.8, the behaviour of how current directories are tracked has changed. To restore this behaviour, you need to put this in your {{ic|.bashrc}}:
+
In Gnome 3.8, the behaviour of how current directories are tracked has changed. To restore this behaviour, you need to source the {{ic|/etc/profile.d/vte.sh}} file, put this in your {{ic|~/.bashrc}} or {{ic|~/.zshrc}} for zsh users:
 
+
    export PS1='\[$(__vte_ps1)\]'$PS1
+
  
or, for zsh users
+
    source /etc/profile.d/vte.sh
  
    chpwd_functions+=(__vte_ps1)
+
For more information refer to the [https://wiki.gnome.org/action/show/Apps/Terminal/FAQ?action=show&redirect=Terminal%252FFAQ#How_can_I_make_new_terminals_start_in_the_working_directory_of_the_current_terminal.3F Gnome wiki]
  
 
=== Move dialog windows ===
 
=== Move dialog windows ===
Line 573: Line 527:
 
Many extensions are collected and hosted by [https://extensions.gnome.org/ extensions.gnome.org]. They can be browsed and installed simply activating them in the browser. More information about gnome shell extensions can be found [https://extensions.gnome.org/about/ here].
 
Many extensions are collected and hosted by [https://extensions.gnome.org/ extensions.gnome.org]. They can be browsed and installed simply activating them in the browser. More information about gnome shell extensions can be found [https://extensions.gnome.org/about/ here].
  
See [[#When_an_extension_breaks_GNOME|when an extension breaks GNOME]] for troubleshooting information.
+
See [[#When an extension breaks GNOME|when an extension breaks GNOME]] for troubleshooting information.
  
 
=== Default file browser/replace Nautilus ===
 
=== Default file browser/replace Nautilus ===
Line 602: Line 556:
  
 
{{Note|The {{ic|-e}} flag is for executing a command. When ''nautilus-open-terminal'' invokes {{ic|urxvtc}}, it puts a {{ic|cd}} command at the end of the command line so that the new terminal starts in the directory you opened it from. Other terminals will require a different (perhaps empty) {{ic|exec-arg}}.}}
 
{{Note|The {{ic|-e}} flag is for executing a command. When ''nautilus-open-terminal'' invokes {{ic|urxvtc}}, it puts a {{ic|cd}} command at the end of the command line so that the new terminal starts in the directory you opened it from. Other terminals will require a different (perhaps empty) {{ic|exec-arg}}.}}
 +
 +
=== Default Applications ===
 +
 +
While one can right click any file and set the default applications in 'Preferences', the settings are actually saved in {{ic | $HOME/.local/share/applications/mimeapps.list}} and {{ic| $HOME/.local/share/applications/mimeinfo.cache}}
  
 
=== Default web browser ===
 
=== Default web browser ===
Line 613: Line 571:
  
 
  $ gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true
 
  $ gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true
 
=== Natural scrolling touchpad ===
 
 
GNOME 3 can be configured to use "natural" two finger scrolling, similar to that used in [http://www.apple.com/au/osx/what-is/gestures.html#gallery-gestures-scroll Mac OSX].
 
 
Go to '''System Settings''' ({{ic|gnome-control-center}}) -> '''Mouse & Touchpad''' and set both '''Two finger scroll''' and '''Content sticks to fingers''' to {{ic|ON}}.
 
 
You can alternatively configure the touchpad from a terminal with {{ic|gsettings}}:
 
 
$ gsettings set org.gnome.settings-daemon.peripherals.touchpad horiz-scroll-enabled true
 
$ gsettings set org.gnome.settings-daemon.peripherals.touchpad scroll-method two-finger-scrolling
 
$ gsettings set org.gnome.settings-daemon.peripherals.touchpad natural-scroll true
 
  
 
=== Display dimming ===
 
=== Display dimming ===
Line 637: Line 583:
  
 
where <int> is the value in seconds
 
where <int> is the value in seconds
 
=== Alternate window manager ===
 
 
You can use an alternate window manager with GNOME by [[#Enabling_fallback_mode|forcing fallback mode]] and creating two files:
 
 
{{Note|Xmonad is used as an example, but this works for other window managers.}}
 
 
{{hc|/usr/share/gnome-session/sessions/xmonad.session|<nowiki>[GNOME Session]
 
Name=Xmonad session
 
RequiredComponents=gnome-panel;gnome-settings-daemon;
 
RequiredProviders=windowmanager;notifications;
 
DefaultProvider-windowmanager=xmonad
 
DefaultProvider-notifications=notification-daemon</nowiki>}}
 
 
{{hc|/usr/share/xsessions/xmonad-gnome-session.desktop|<nowiki>[Desktop Entry]
 
Name=Xmonad GNOME
 
Comment=Tiling window manager
 
TryExec=/usr/bin/gnome-session
 
Exec=gnome-session --session=xmonad
 
Type=XSession</nowiki>}}
 
 
The next time you log in, you should have the ability to choose ''Xmonad GNOME'' as your session.
 
 
If there isn't a .desktop file for the window manager, you'll need to create one. Example for [[wmii]]:
 
 
{{hc|/usr/share/applications/wmii.desktop|<nowiki>
 
[Desktop Entry]
 
Version=1.0
 
Type=Application
 
Name=wmii
 
TryExec=wmii
 
Exec=wmii</nowiki>}}
 
 
For more information, see [http://makandra.com/notes/1367-running-the-awesome-window-manager-within-gnome this article on running awesome as the window manager in GNOME].
 
  
 
== Hidden features ==
 
== Hidden features ==
Line 687: Line 599:
 
  (gtk_accel_path "<Actions>/DirViewActions/Trash" "Delete")
 
  (gtk_accel_path "<Actions>/DirViewActions/Trash" "Delete")
  
The file is regenerate regularly so don't waist time on commenting the file. The uncommented line will stay but every comment you may add will be lost.
+
The file is regenerate regularly so do not waist time on commenting the file. The uncommented line will stay but every comment you may add will be lost.
  
 
==== Nautilus 3.4 and older ====
 
==== Nautilus 3.4 and older ====
Line 693: Line 605:
  
 
We will replace the hotkey — a.k.a. keyboard shortcut, keyboard accelerator — used by Nautilus to move files to the trash folder.
 
We will replace the hotkey — a.k.a. keyboard shortcut, keyboard accelerator — used by Nautilus to move files to the trash folder.
The default assignment is a somewhat-awkward {{Keypress|Ctrl+Delete}}.
+
The default assignment is a somewhat-awkward {{ic|Ctrl+Delete}}.
 
* Open Nautilus, select any file, and click '''Edit''' on the menu bar.
 
* Open Nautilus, select any file, and click '''Edit''' on the menu bar.
 
* Hover over the ''Move to Trash'' menu item.
 
* Hover over the ''Move to Trash'' menu item.
* While hovering, press {{Keypress|Delete}}. The current accelerator is now unset.
+
* While hovering, press {{ic|Delete}}. The current accelerator is now unset.
 
* Press the key that you wish to become the new keyboard accelerator.
 
* Press the key that you wish to become the new keyboard accelerator.
* Press {{Keypress|Delete}} to make the new accelerator be the Delete key.
+
* Press {{ic|Delete}} to make the new accelerator be the Delete key.
 
Unless you select a file or folder, ''Move to Trash'' will be grayed-out. Finally, disable {{ic|can-change-accels}} to prevent accidental hotkey changes.
 
Unless you select a file or folder, ''Move to Trash'' will be grayed-out. Finally, disable {{ic|can-change-accels}} to prevent accidental hotkey changes.
 
=== Shutdown via the status menu ===
 
 
Currently, the GNOME designers have hidden the ''Shutdown'' option inside the status menu. To shut down your system with the status menu, click the menu and hold down the {{Keypress|Alt}} key so that the '''''Suspend'''''  item changes to '''''Power Off'''''. The subsequent dialog allows you to shut down or restart your system.
 
 
If you disable the Suspend menu item system-wide as described [[#Disable_"Suspend"_in_the_status_menu|elsewhere in this document]] you do not have to go through these motions.
 
 
Another option is to install the ''Alternative Status Menu'' extension. See the section on shell extensions. The alternative menu extension installs a new status menu with a non-hidden '''''Power Off''''' entry.
 
  
 
=== Screencast recording ===
 
=== Screencast recording ===
Line 720: Line 624:
  
 
See /usr/share/X11/xkb/rules/xorg for all XkbOptions and then /usr/share/X11/xkb/symbols/* for the respective descriptions.
 
See /usr/share/X11/xkb/rules/xorg for all XkbOptions and then /usr/share/X11/xkb/symbols/* for the respective descriptions.
 +
 +
{{Note|To enable the {{ic|Ctrl+Alt+Backspace}} combination to terminate Xorg, use the {{Pkg|gnome-tweak-tool}} from [[official repositories]]. Within the Gnome Tweak Tool, navigate to ''Typing > Terminate'' and select the option {{ic|Ctrl+Alt+Backspace}} from the dropdown menu.}}
  
 
=== Toggle keyboard layouts ===
 
=== Toggle keyboard layouts ===
Line 735: Line 641:
  
 
View descriptions of telepathy components on the [http://telepathy.freedesktop.org/wiki/Components Freedesktop.org Telepathy Wiki.]
 
View descriptions of telepathy components on the [http://telepathy.freedesktop.org/wiki/Components Freedesktop.org Telepathy Wiki.]
 
== Forcing fallback mode ==
 
{{Note|1=caution for beginners: using recent gdm and gnome you may not be able to login if you force fallback mode, see [https://bbs.archlinux.org/viewtopic.php?pid=1301932#p1301932 post].}}
 
 
Your session automatically starts in fallback mode when '''gnome-shell''' is not present, or when your hardware cannot handle graphics acceleration — such as running within a virtual machine or running on old hardware.
 
 
If you wish to enable fallback mode while still having '''gnome-shell''' installed, make the following system change:
 
 
Go to '''System Settings''' ({{ic|gnome-control-center}}) -> '''Details''' -> '''Graphics''' and set '''Forced Fallback Mode''' to {{ic|ON}}.
 
 
You can alternatively choose the type of session from a terminal with {{ic|gsettings}}:
 
 
$ gsettings set org.gnome.desktop.session session-name gnome-fallback
 
 
You may want to log out after making the change. You will see the chosen type of session upon your next login.
 
 
To disable the forced-fallback mode change it back to {{ic|gnome}}.
 
 
=== Flashback Session ===
 
 
Since Gnome 3.8, the fallback option is not available any more. One can however force a more classic style via {{pkg|gnome-flashback-session}}. Install the package and select session GnomeFlashback at the GDM login.
 
  
 
== Troubleshooting ==
 
== Troubleshooting ==
Line 784: Line 669:
  
 
   
 
   
'''"3.x"''' indicates the extension works with every Shell version. If it breaks, you'll know to change it back.
+
'''"3.x"''' indicates the extension works with every Shell version. If it breaks, you will know to change it back.
  
 
=== The "Windows" key ===
 
=== The "Windows" key ===
Line 796: Line 681:
  
 
=== Keyboard Shortcut do not work with only conky running ===
 
=== Keyboard Shortcut do not work with only conky running ===
The gnome-shell keyboard shortcuts like {{keypress|Alt+F2}}, {{keypress|Alt+F1}}, and the media key shortcuts do not work if conky is the only program running. However if another application like gedit is running, then the keyboard shortcuts work.
+
The gnome-shell keyboard shortcuts like {{ic|Alt+F2}}, {{ic|Alt+F1}}, and the media key shortcuts do not work if conky is the only program running. However if another application like gedit is running, then the keyboard shortcuts work.
  
 
solution: edit .conkyrc  
 
solution: edit .conkyrc  
Line 806: Line 691:
 
  own_window_class Conky
 
  own_window_class Conky
 
  own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
 
  own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
 
=== xf86-video-ati driver: flickers from time to time ===
 
 
If you use that driver, your desktop might flicker a lot when you hover the bottom right corner, and also when you start up gdm.
 
Write the following in your '''{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}''' and see if it works then:
 
 
Section "Device"
 
        Identifier "Radeon"
 
        Driver "radeon"
 
        Option "EnablePageFlip" "off"
 
EndSection
 
 
https://wiki.archlinux.org/index.php/Intel_Graphics#Choose_acceleration_method
 
 
=== Intel card: Black Screen, Crashes, or Freezes===
 
If freezing, crashing, or a black screen occur while using an Intel graphics card, it may help to create {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} with the the following to enable SNA acceleration. More information can be found [https://wiki.archlinux.org/index.php/Intel_Graphics#Choose_acceleration_method here].
 
 
Section "Device"
 
    Identifier "Intel Graphics"
 
    Driver "intel"
 
    Option "AccelMethod" "sna"
 
EndSection
 
  
 
=== Window opens behind other windows when using multiple monitors ===
 
=== Window opens behind other windows when using multiple monitors ===
Line 846: Line 709:
 
  this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);
 
  this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);
  
=== No event sounds for Empathy and other programs ===
+
=== Gnome sets the keyboard layout to USA after every log in ===
 
+
If you are using [[OSS]], you may want to install {{AUR|libcanberra-oss}} from the [[AUR]].
+
 
+
=== Gnome sets the keyboard layout to USA after every log in ===  
+
  
 
See the [[https://bugzilla.redhat.com/show_bug.cgi?id=530452 this]] bug report for more information. It is related to GDM and can be fixed by choosing the correct layout at GDM login startup. However, users who do not use GDM or any login manager but a pure startx approach have to use a workaround. Create the file {{ic|~/.keyboard}} and make it executable {{ic|chmod +x}}:
 
See the [[https://bugzilla.redhat.com/show_bug.cgi?id=530452 this]] bug report for more information. It is related to GDM and can be fixed by choosing the correct layout at GDM login startup. However, users who do not use GDM or any login manager but a pure startx approach have to use a workaround. Create the file {{ic|~/.keyboard}} and make it executable {{ic|chmod +x}}:
Line 871: Line 730:
 
         ;;
 
         ;;
 
  esac
 
  esac
 
=== Panels do not respond to right-click in fallback mode ===
 
 
Check Configuration Editor: /apps/metacity/general/mouse_button_modifier. This modifier key ({{Keypress|Alt}}, {{Keypress|Super}}, etc) used for normal windows is also used by panels and their applets.
 
  
 
=== "Show Desktop" keyboard shortcut does not work ===
 
=== "Show Desktop" keyboard shortcut does not work ===
Line 884: Line 739:
 
=== Nautilus does not start ===
 
=== Nautilus does not start ===
  
# Press {{keypress|Alt+F2}}
+
# Press {{ic|Alt+F2}}
 
# Enter {{ic|gnome-tweak-tool}}
 
# Enter {{ic|gnome-tweak-tool}}
 
# Select the ''File Manager'' tab.
 
# Select the ''File Manager'' tab.
 
# Locate option ''Have file manager handle the desktop'' and assure it is toggled '''off'''.
 
# Locate option ''Have file manager handle the desktop'' and assure it is toggled '''off'''.
 
=== Epiphany does not play Flash videos ===
 
 
Adobe Flash Player is buggy and does not work directly in Epiphany. See [[Epiphany#Flash]] for a workaround involving nspluginwrapper.
 
  
 
=== Unable to apply stored configuration for monitors ===
 
=== Unable to apply stored configuration for monitors ===
Line 902: Line 753:
  
 
Some laptops have a touchpad lock button that disables the touchpad so that users can type without worrying about touching the touchpad. It appears currently that although GNOME can lock the touchpad by pressing this button, it cannot unlock it. If the touchpad gets locked you can do the following to unlock it.
 
Some laptops have a touchpad lock button that disables the touchpad so that users can type without worrying about touching the touchpad. It appears currently that although GNOME can lock the touchpad by pressing this button, it cannot unlock it. If the touchpad gets locked you can do the following to unlock it.
# Start a terminal. You can do this by pressing {{keypress|Alt+F2}}, then typing {{ic|gnome-terminal}} followed by pressing {{keypress|Enter}}.
+
# Start a terminal. You can do this by pressing {{ic|Alt+F2}}, then typing {{ic|gnome-terminal}} followed by pressing {{ic|Enter}}.
 
# Type in the following command
 
# Type in the following command
 
  $ xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1
 
  $ xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1
Line 912: Line 763:
 
=== "Any command has been defined 33" ===
 
=== "Any command has been defined 33" ===
  
When you press the {{Keypress|Print Screen}} key (sometimes labeled {{Keypress|PrntScr}} or {{Keypress|PrtSc}}) to take a screenshot, and you got "Any command has been defined 33", [[pacman|install]] {{Pkg|metacity}}.
+
When you press the {{ic|Print Screen}} key (sometimes labeled {{ic|PrntScr}} or {{ic|PrtSc}}) to take a screenshot, and you got "Any command has been defined 33", [[pacman|install]] {{Pkg|metacity}}.
  
 
=== GDM and GNOME use X11 cursors ===
 
=== GDM and GNOME use X11 cursors ===
Line 923: Line 774:
  
 
Note: Instead of "Adwaita", you can choose another cursor theme (e.g. Human).
 
Note: Instead of "Adwaita", you can choose another cursor theme (e.g. Human).
Alternatively, you can install {{AUR|gnome-cursors-fix}} from the [[AUR]].
 
  
=== Tracker & Documents don't list any local files ===
+
=== Tracker & Documents do not list any local files ===
  
In order for Tracker (and, therefore, Documents) to detect your local files, they must be stored in directories that it knows of. If your documents are contained in one of the usual XDG standard directories (i.e. "Documents" or "Music"), you should install [https://www.archlinux.org/packages/extra/x86_64/xdg-user-dirs/ xdg-user-dirs] and run:
+
In order for Tracker (and, therefore, Documents) to detect your local files, they must be stored in directories that it knows of. If your documents are contained in one of the usual XDG standard directories (i.e. "Documents" or "Music"), you should install {{Pkg|xdg-user-dirs}} and run:
  
 
   # xdg-user-dirs-update
 
   # xdg-user-dirs-update
  
This will create all of the usual XDG home directories if they don't already exist and it will create the config file definining these directories that Tracker and Documents depend upon.
+
This will create all of the usual XDG home directories if they do not already exist and it will create the config file definining these directories that Tracker and Documents depend upon.
  
 
=== Passwords are not remembered ===
 
=== Passwords are not remembered ===
Line 941: Line 791:
 
Open "Passwords and Keys" from the menu or run "seahorse". Select View > By Keyring. If there is no keyring in the left column (it will be marked with a lock icon), go to File > New > Password Keyring and give it a nice name. You will be asked to enter a password. If you do not give it a password it will be unlocked automatically even when using autologin, but passwords will not be stored securely. Finally, right-click on the keyring you just created and select "Set as default".
 
Open "Passwords and Keys" from the menu or run "seahorse". Select View > By Keyring. If there is no keyring in the left column (it will be marked with a lock icon), go to File > New > Password Keyring and give it a nice name. You will be asked to enter a password. If you do not give it a password it will be unlocked automatically even when using autologin, but passwords will not be stored securely. Finally, right-click on the keyring you just created and select "Set as default".
  
=== Windows can't be modified with Alt-Key + Mouse-Button ===
+
=== Windows cannot be modified with Alt-Key + Mouse-Button ===
  
 
Change the dconf-setting "org.gnome.desktop.wm.preferences.mouse-button-modifier" from <Super> back to <Alt>. It is not possible to change this with ''System Settings'' > "Keyboard" > "Shortcuts", you will find there only the regular keybindings. The developers of GNOME decided to change this from 3.4 to 3.6 because of this bug report https://bugzilla.gnome.org/show_bug.cgi?id=607797
 
Change the dconf-setting "org.gnome.desktop.wm.preferences.mouse-button-modifier" from <Super> back to <Alt>. It is not possible to change this with ''System Settings'' > "Keyboard" > "Shortcuts", you will find there only the regular keybindings. The developers of GNOME decided to change this from 3.4 to 3.6 because of this bug report https://bugzilla.gnome.org/show_bug.cgi?id=607797
Line 949: Line 799:
 
If you have a non-UTF8 language enabled, Gnome 3 can fail to load. Disable non-UTF-8 locales and perform a locale-gen until this is resolved.
 
If you have a non-UTF8 language enabled, Gnome 3 can fail to load. Disable non-UTF-8 locales and perform a locale-gen until this is resolved.
 
For more information see this bug report: https://bugzilla.gnome.org/show_bug.cgi?id=698952
 
For more information see this bug report: https://bugzilla.gnome.org/show_bug.cgi?id=698952
 +
 +
=== Gnome 3.10 UI elements scale incorrectly ===
 +
 +
With 3.10 Gnome introduced HDPI support. If your displays EDID info does not contain the correct screen size, but the resolution is right, this can lead to incorrectly scaled UI elements. As a workaround you can open dconf-editor and find the key {{ic|scaling-factor}} in {{ic|org.gnome.desktop.interface}}. Set it to 1 to get the standard scale.
  
 
== External links ==
 
== External links ==

Revision as of 05:52, 1 December 2013

From GNOME website:

The GNOME Project was started in 1997 by two then university students, Miguel de Icaza and Federico Mena. Their aim: to produce a free (as in freedom) desktop environment. Since then, GNOME has grown into a hugely successful enterprise. Used by millions of people across the world, it is the most popular desktop environment for GNU/Linux and UNIX-type operating systems. The desktop has been utilised in successful, large-scale enterprise and public deployments, and the project’s developer technologies are utilised in a large number of popular mobile devices.

Contents

Introduction

GNOME 3 has two interfaces:

  • GNOME is the standard, innovative layout.
  • GNOME Classic is the traditional desktop layout, which similar to the GNOME 2 user interface while using standard GNOME 3 technologies. It does so through the use of pre-activated extensions and parameters (see here for a list). Hence it consists more of a customized GNOME Shell than a truly distinct mode.

Both of them using GNOME Shell and the Mutter window manager. Mutter acts as a composite manager for the desktop, employing hardware graphics acceleration to provide effects aimed at reducing screen clutter. GNOME session manager automatically detects if your video driver is incapable of running GNOME Shell and falls back to software rendering using llvmpipe when appropriate.

Installation

GNOME 3 is available in the official repositories and can be installed with two groups of packages:

  • gnome contains the core desktop environment and applications required for the standard GNOME experience.
  • gnome-extra contains various optional tools such as a media player, a calculator, an editor and other non-critical applications that go well with the GNOME desktop. Installing this group is optional.
Note: Installing just the gnome-extra group will not pull in the whole gnome group via dependencies. If you really want everything you must explicitly install both groups.

Starting GNOME

Graphical log-in

For the best desktop integration, the Gnome Display Manager (GDM) is recommended. Other login managers can be used in place of GDM. Check out the Display Manager article to learn how desktop environments are started.

The login manager is a limited process entrusted with duties that impact the system. The PolicyKit article addresses the topic of system‑wide access control.

Tip: Refer to the GDM article for installation and configuration instructions.

Should GNOME fail to start, it's worth a shot to add yourself to the video group.

Starting GNOME manually

If you prefer to start GNOME manually from the console, add the following line to your ~/.xinitrc file:

~/.xinitrc
 exec gnome-session

Or exec gnome-session --session=gnome-classic for GNOME Classic. After editing your ~/.xinitrc, GNOME can be launched by typing startx.

See xinitrc for details, such as preserving the logind session.

Using the shell

GNOME cheat sheet

The GNOME web site has a helpful GNOME Shell cheat sheet explaining task switching, keyboard use, window control, the panel, overview mode, and more.

Restarting the shell

After appearance tweaks you are often asked to restart the GNOME shell. You could log out and log back in, but it is simpler and faster to issue the following keyboard command. Restart the shell by pressing Alt + F2 then r then Enter

Shell crashes

Certain tweaks and/or repeated shell restarts may cause the shell to crash when a restart is attempted. In this case, you are informed about the crash and then forced to log out. Some shell changes cannot be accomplished via a keyboard restart; you must log out and log back in to effect them.

It is common sense — but worth repeating — that valuable documents should be saved (and perhaps closed) before attempting a shell restart. It is not strictly necessary; open windows and documents usually remain intact after a shell restart.

Shell freezes

Sometimes shell extensions freeze the GNOME Shell. In this case a possible strategy is to switch to another terminal via Ctrl+Alt+F2 through Ctrl+Alt+F6, log in, and restart gnome-shell with:

# pkill -HUP gnome-shell

All open applications will still be available after restarting the shell.

Sometimes, however, merely restarting the shell might not be enough. Then you will have to restart X, losing all work in progress. You can restart X by:

# pkill X

The GNOME Shell then restarts automatically.

If this does not work, you can try to restart your login manager. For instance, if you use GDM, try:

# systemctl restart gdm.service
Tip: You can also use htop in tty; press t, select the gnome-shell tree, press k and send SIGKILL.

Pacman integration: GNOME PackageKit

GNOME 3 has his own GUI integration of pacman: gnome-packagekit.

Using the alpm backend, it supports the following features:

  • Install and remove packages from the repos.
  • Periodically refresh package databases and prompt for updates.
  • Install packages from tarballs.
  • Search for packages by name, description, category or file.
  • Show package dependencies, files and reverse dependencies.
  • Ignore IgnorePkgs and hold HoldPkgs.
  • Report optional dependencies, .pacnew files, etc.

You can change the remove operation from -Rc to -Rsc by setting the DConf key org.gnome.packagekit.enable-autoremove.

Packages updates notifications

If you want GNOME to check automatically for updates, you must install gnome-settings-daemon-updates from the official repository. Its optional dependency polkit-gnome is required if you run GNOME as non-root user.

Customizing GNOME appearance

Overall appearance

GNOME 3 may have "started from scratch", but like most large software projects it is assembled from parts dating to different eras. There is not one all-encompassing configuration tool. The new Systems Settings tool is a big improvement over previous control panels. System Settings is well-organized, but you may find yourself wishing for more control over system appearance.

You may be familiar with existing configuration tools: some of these still work; many will not. Some settings are not readily exposed for you to change. Indubitably, many settings will migrate to newer tools and/or become exposed as time progresses and the wider community embraces and extends the latest GNOME desktop.

Gsettings

A new command-line tool gsettings stores data in a binary format, unlike previous tools using XML text. A tutorial Customizing the GNOME Shell explores the power of gsettings.

GNOME tweak tool

This graphical tool customizes fonts, themes, titlebar buttons and other settings. gnome-tweak-tool is available from the official repositories.

GTK3 theme via settings.ini

It is possible to set a GTK3 theme via ${XDG_CONFIG_HOME}/gtk-3.0/settings.ini (usually ~/.config/gtk-3.0/settings.ini).

Adwaita, the default GNOME 3 theme, is a part of gnome-themes-standard. Additional GTK3 themes can be found at Deviantart web site. For example:

${XDG_CONFIG_HOME}/gtk-3.0/settings.ini
[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

It is necessary to restart the GNOME shell for settings to be applied. More GTK options are found at GNOME developer documentation.

Icon theme

Using gnome-tweak-tool version 3.0.3 and later, you can place any icon theme you wish to use inside ~/.icons.

Usefully, GNOME 3 is compatible with GNOME 2 icon themes, which means you are not stuck with the default icons. To install a new set of icons, copy your desired icon theme's directory to ~/.icons. As an example:

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

The new theme my_icon_theme is now selectable using gnome-tweak-tool under interface.

Alternatively, you may textually select your icon theme with no need for gnome-tweak-tool. Add the GTK icon theme name to ${XDG_CONFIG_HOME}/gtk-3.0/settings.ini. Please note, not to use "" as your settings would not be recognised then.

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

gtk-icon-theme-name = my_new_icon_theme

Totem

To play back h.264 videos, you need to install gst-libav

For more information on gstreamer hardware acceleration, see Gstreamer: Hardware Acceleration.

GNOME panel

Show date in top bar

By default GNOME displays only the weekday and time in the top bar. This can be changed with the following command. Changes take effect immediately.

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

Hiding icons in the top bar

When doing a GNOME install, some unwanted icons might appear in the panel. These icons can be removed either with GNOME shell extensions or by manually editing the GNOME panel script.

Hiding icons with shell extensions

To remove the accessibility icon, one can use the https://extensions.gnome.org/extension/112/remove-accesibility/.

The best way to use extensions is installing them from the gnome extensions web page like the one above.

Manually editing the GNOME panel script

For example, to remove the universal access icon, comment out the 'a11y' line in PANEL_ITEM_IMPLEMENTATIONS:

/usr/share/gnome-shell/js/ui/panel.js
const PANEL_ITEM_IMPLEMENTATIONS = {
    'activities': ActivitiesButton,
    'appMenu': AppMenuButton,
    'dateMenu': imports.ui.dateMenu.DateMenuButton,
//    'a11y': imports.ui.status.accessibility.ATIndicator,
    'volume': imports.ui.status.volume.Indicator,
    'battery': imports.ui.status.power.Indicator,
    'lockScreen': imports.ui.status.lockScreenMenu.Indicator,
    'keyboard': imports.ui.status.keyboard.InputSourceIndicator,
    'powerMenu': imports.gdm.powerMenu.PowerMenuButton,
    'userMenu': imports.ui.userMenu.UserMenuButton
};

Then, save your results and restart the shell:

  1. Alt+F2
  2. r
  3. Enter

Show battery icon

To show the battery tray icon, install gnome-power-manager from the official repositories.

Eliminate delay when logging out

The following tweak removes the confirmation dialog and sixty second delay for logging out.

This dialog normally appears when you log out with the status menu. This tweak affects the Power Off dialog as well. This is not a system-wide change; it affects only the user who enters this command. The change takes effect immediately after entering the command.

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

Show system monitor

Install the gnome-shell-system-monitor-applet-gitAUR extension available in the AUR.

Show weather information

Install gnome-shell-extension-weather-gitAUR from AUR.

Activity view

Remove entries from Applications view

Like other desktop environments, GNOME uses .desktop files to populate its Applications view. These text files are in /usr/share/applications. It is not possible to edit these files from a folder view ‒ Nautilus does not treat their icons as text files. Use a terminal to display or edit .desktop file entries.

# ls /usr/share/applications
# nano /usr/share/applications/foo.desktop

For system wide changes, edit files in /usr/share/applications. For local changes, make a copy of foo.desktop in your home folder.

$ cp /usr/share/applications/foo.desktop ~/.local/share/applications/

Edit .desktop files to fit your wishes.

Note: Removing a .desktop file does not uninstall an application, but instead removes its desktop integration: MIME types, shortcuts, and so forth.

The following command appends one line to a .desktop file and hides its associated icon from Applications view:

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

To Remove Wine Launchers from the Applications menu

Enter ~/.local/share/applications/wine/Programs/ and look for the wine application's name. In the directories are the ".desktop" files which configure the launchers. Remove the program directory to easily remove the launchers.

Change application icon size

One awkward selection of the GNOME designers is their choice of large icons for Applications view. This view is painful when working with a small screen containing many large application icons. There is a way to reduce the icon size. It is done by editing the GNOME-Shell theme.

Edit system files directly (make a backup first) or copy theme files to your local folder and edit these files.

  • For the default theme, edit /usr/share/gnome-shell/theme/gnome-shell.css
  • For user themes, edit /usr/share/themes/<UserTheme>/gnome-shell/gnome-shell.css

Edit gnome-shell.css and replace the following values. Afterward, restart the GNOME shell.

gnome-shell.css
 ...
 /* Application Launchers and Grid */
 
 .icon-grid {
     spacing: 18px;
     -shell-grid-horizontal-item-size: 82px;
     -shell-grid-vertical-item-size: 82px;
 }
 
 .icon-grid .overview-icon {
     icon-size: 48px;
 }
 ...

Change dash icon size

GNOME's Activities view has a dash on the left hand side, the size of the icons in this dash will scale depending on the amount of icons set to display. The scaling can be manipulated or set to a constant icon size. To do so, edit /usr/share/gnome-shell/js/ui/dash.js.

dash.js
 ...

        let iconSizes = [ 16, 22, 24, 32, 48, 64 ];

 ...

Change switcher (alt-tab) icon size

GNOME comes with a built in task switcher, the size of the icons in this task switcher will scale depending on the amount of icons set to display. The scaling can be manipulated or set to a constant icon size. To do so, edit /usr/share/gnome-shell/js/ui/altTab.js

altTab.js
 ...

        const iconSizes = [96, 64, 48, 32, 22];

 ...

Change system tray icon size

GNOME comes with a built in system tray, visible when the mouse is hovered over the bottom right corner of the screen. The size of the icons in this tray is set to a fixed value of 24. To change this value, edit /usr/share/gnome-shell/js/ui/messageTray.js

messageTray.js
 ...

    ICON_SIZE: 24,

 ...

Disable Activity hot corner hovering

To disable automatic activity view when the hot corner is hovered, edit /usr/share/gnome-shell/js/ui/layout.js (that was panel.js in GNOME 3.0.x) :

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

and set reactive to false. GNOME Shell needs to be restarted.

Disable Message Tray hovering

The message tray is shown when the mouse hovers at the bottom of the screen for one second. To disable this behavior, comment out the following line in /usr/share/gnome-shell/js/ui/messageTray.js:

messageTray.js
        //pointerWatcher.addWatch(TRAY_DWELL_CHECK_INTERVAL, Lang.bind(this, this._checkTrayDwell));

GNOME Shell needs to be restarted. The message tray is still visible in activity view.

Titlebar

Reduce title bar height

  • global - edit /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml, search for title_vertical_pad and and reduce its value to a minimum of 0.
  • user-only - copy /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml to /home/$USER/.themes/Adwaita/metacity-1/metacity-theme-3.xml, search for title_vertical_pad and reduce its value to a minimum of 0.

Then Restart the GNOME shell.

To restore the original values, install the package gnome-themes-standard from the official repositories or remove /home/$USER/.themes/Adwaita/metacity-1/metacity-theme-3.xml

Reorder titlebar buttons

At present this setting can be changed through dconf-editor.

For example, we move the close and minimize buttons to the left side of the titlebar. Open dconf-editor and locate the org.gnome.shell.overrides.button_layout key. Change its value to close,minimize: (Colon symbol designates the spacer between left side and right side of the titlebar.) Use whichever buttons in whatever order you prefer. You cannot use a button more than once. Also, keep in mind that certain buttons are deprecated. Restart the shell to see your new button arrangement.

Hide titlebar when maximized

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

Restart the GNOME shell. After this tweak, you may find it difficult to un-maximize a window when there is no titlebar to grab.

With suitable keybindings, you should be able to use Alt+F5, Alt+F10 or Alt+Space to remedy the situation.

To prevent metacity-theme-3.xml from being overwritten each time package gnome-themes-standard is upgraded, add its name to /etc/pacman.conf with NoUpgrade.

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

# Pacman will not 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 ...

To restore original Adwaita theme values, install the gnome-themes-standard package.

Login screen

Merge-arrows-2.pngThis article or section is a candidate for merging with GDM.Merge-arrows-2.png

Notes: Login managers have their own wiki pages and information should be maintained separately. (Discuss in Talk:GNOME#)

Login background image

Once session variables have been exported as explained above, you may issue commands to retrieve or set items used by GDM.

The easiest way to changes all the settings is by launching the Configuration Editor gui with the command

$ dconf-editor

The location of each setting is the same as in the command line style of configuration shown below:

The following is the command-line approach to retrieve or set the file name used for GDM's wallpaper.

 $  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
Note: You must specify a file which user "gdm" has permission to read. GDM cannot read files in your home directory.

An alternative graphical interface to changing themes (gtk3, icons and cursor), the wallpaper and minor other settings of the GDM login screen, you can install gdm3setupAUR from AUR.

Larger font for login

This tweak enlarges the login font with a scaling factor. It is the same method employed by Accessibility Manager on the desktop.

You must export the GDM session variables before performing this tweak.

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

Turning off the sound

This tweak disables the audible feedback heard when the system volume is adjusted (via keyboard) on the login screen. You must first export the GDM session variables.

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

If the above tweak does not work for you or you are unable to export the GDM session variables, there is always the easiest solution to the "ready sound" problem: mute or lower the sound while in GDM login screen using the media keys (if available) of your keyboard.

Make the power button interactive

The default installation sets the power button to suspend the system. Power off or Show dialog is a better choice. You must first export the GDM session variables as outlined previously.

 $ 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
Warning: Please note that the acpid daemon also handle the "power button" an "hibernate button" event. Running both systems at the same time may lead to unexpected behaviour.

GDM keyboard layout

GDM does not know about your GNOME 3 desktop keyboard settings. To change keyboard settings used by GDM, set your layout using Xorg configuration. Refer to this section of the Beginner's Guide.

Power Management

Prevent Suspend-To-RAM (S3) when closing the LID

Since GNOME 3.0 the necessary options are removed from the System Settings and since GNOME 3.6 (buildung up on Systemd) even the remaining configuration options are removed from dconf. The current approach is to manage this on the level of Systemd. Change the variable HandleLidSwitch to ignore in /etc/systemd/logind.conf

/etc/systemd/logind.conf
HandleLidSwitch=ignore

No reaction on lid close

When configuring the lid close events via Systemd#ACPI_power_management, the settings may seem to have no effect. If you have an external monitor connected to your laptop, this is default GNOME behaviour. Disconnect the monitor and the settings should work, otherwise your /etc/systemd/logind.conf may be incorrect.

Change Critical Battery Level Action (for Laptops)

The gnome-power-manager gui does not have a choice for "do nothing" on laptops at critical battery level. To manually edit this, open the dconf-editor -> org -> gnome -> settings-daemon -> plugins -> power. Edit the "critical-battery-action" value to "nothing".

Other tips

See GNOME Tips.

Miscellaneous settings

Switch back scrolling behavior

If you do not like the new scrollbar behavior just put gtk-primary-button-warps-slider = false under the [Settings] section in ~/.config/gtk-3.0/settings.ini:

~/.config/gtk-3.0/settings.ini
[Settings]
gtk-primary-button-warps-slider = false
...

Autostarting / Automatic program launch upon logging in

Specify which programs start automatically after logging in using gnome-session-properties. This tool is part of the gnome-session package.

$ gnome-session-properties

Editing applications menu

gnome-menus provides gmenu-simple-editor which can show/hide menu entries.

alacarte provides a more complete menu editor for adding/editing menu entries.

Some 'System Settings' not preserved

GNOME 3 is using systemd (an init daemon for Linux) with more modern capabilities. Previously GNOME programs were altered to use Arch's init functionalities to gather settings but either the maintenance required to do this or possibly this is because of a transitioning to the new init system (read more about this here). Areas that settings will not be preserved are Date and Time and adding ICC profiles in the Color menu and possibly others.

To gain the functionality back, systemd needs to be installed and the gdm.service and NetworkManager.service services need to be enabled.

Inner padding in Gnome Terminal

To move the terminal output away from the window borders create the stylesheet ~/.config/gtk-3.0/gtk.css with the following setting:

   TerminalScreen {
     -VteTerminal-inner-border: 10px 10px 10px 10px;
   }

Disable blinking cursor in Terminal

Since Gnome 3.8 and dconf the key required to modify in order to disable the blinking cursor in the Terminal differs slightly in contrast to the old gconf key. To disable the blinking cursor in Gnome 3.8 use:

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

Make new tabs inherit current directory in Gnome Terminal (3.8+)

In Gnome 3.8, the behaviour of how current directories are tracked has changed. To restore this behaviour, you need to source the /etc/profile.d/vte.sh file, put this in your ~/.bashrc or ~/.zshrc for zsh users:

   source /etc/profile.d/vte.sh

For more information refer to the Gnome wiki

Move dialog windows

The default configuration for dialogs will not allow you to move them which causes problems in some cases. To change this you will need to use gconf-editor and change this setting:

/desktop/gnome/shell/windows/attach_modal_dialogs

After the change you will need to restart the shell for it to take affect.

Show context menu icons

Some programs do have context menu icons which, however, are disabled by default to show up in Gnome. In order to show them set org.gnome.desktop.interface menus-have-icons to true.

GNOME shell extensions

GNOME Shell can be customized with extensions. These provide features such as a dock or a widget for changing the theme.

Many extensions are collected and hosted by extensions.gnome.org. They can be browsed and installed simply activating them in the browser. More information about gnome shell extensions can be found here.

See when an extension breaks GNOME for troubleshooting information.

Default file browser/replace Nautilus

You can trick GNOME into using another file browser by editing the Exec line in /usr/share/applications/nautilus.desktop. See the correct parameters in the .desktop file of the file manager of your choice, e.g.:

/usr/share/applications/nautilus.desktop
[...]
Exec=thunar %F
OR
Exec=pcmanfm %U
OR
Exec=nemo %U
[...]

Default PDF viewer

In some cases when you have installed Inkscape or other graphic programs Evince Document Viewer might no longer be selected as the default PDF application. If it is not available in the Open With entry which would be the GUI solution, you can use the following user command to make it the default application again.

xdg-mime default evince.desktop application/pdf

Default terminal

gsettings (which replaces gconftool-2) is used to set the default terminal. The setting affects nautilus-open-terminal (a Nautilus extension). To make urxvt the default, run:

gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"
Note: The -e flag is for executing a command. When nautilus-open-terminal invokes urxvtc, it puts a cd command at the end of the command line so that the new terminal starts in the directory you opened it from. Other terminals will require a different (perhaps empty) exec-arg.

Default Applications

While one can right click any file and set the default applications in 'Preferences', the settings are actually saved in $HOME/.local/share/applications/mimeapps.list and $HOME/.local/share/applications/mimeinfo.cache

Default web browser

To configure the web browser used by the AUR package gnome-gmail-notifierAUR, open gconf-editor and edit the /desktop/gnome/url-handlers/http/ key. You may want to change https/, about/, and unknown/ keys while you are at it.

Middle mouse button

By default, GNOME 3 disables middle mouse button emulation regardless of Xorg settings (Emulate3Buttons). To enable middle mouse button emulation use:

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

Display dimming

By default GNOME 3 has a ten second idle timeout to dim the screen regardless of the battery and AC state:

gsettings get org.gnome.settings-daemon.plugins.power idle-dim-time

To set a new value type the following

gsettings set org.gnome.settings-daemon.plugins.power idle-dim-time <int>

where <int> is the value in seconds

Hidden features

GNOME 3 hides many useful options which you can customize with dconf-editor. GNOME 3 also supports gconf-editor for settings that have not yet migrated to dconf.

Changing hotkeys

Certain hotkeys cannot be changed directly via Settings -> Keyboard -> Shortcuts. In order to change these keys, use dconf-editor. An example of particular note is the hotkey Alt-Above_Tab. On US keyboards, this is Alt-`: is a hotkey often used in the Emacs editor. It can be changed by opening dconf-editor and modifying the switch-group key found in org.gnome.desktop.wm.keybindings.

It is possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at ~/.config/Thunar/accels.scm, whereas Nautilus's is located at ~/.config/nautilus/accels and ~/.gnome2/accels/nautilus on old release.

The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active. For example to replace the hotkey used by Nautilus to move files to the trash folder, change the line :

; (gtk_accel_path "<Actions>/DirViewActions/Trash" "<Primary>Delete")

to this :

(gtk_accel_path "<Actions>/DirViewActions/Trash" "Delete")

The file is regenerate regularly so do not waist time on commenting the file. The uncommented line will stay but every comment you may add will be lost.

Nautilus 3.4 and older

Firstly, use dconf-editor to place a checkmark next to can-change-accels in the key named org.gnome.desktop.interface.

We will replace the hotkey — a.k.a. keyboard shortcut, keyboard accelerator — used by Nautilus to move files to the trash folder. The default assignment is a somewhat-awkward Ctrl+Delete.

  • Open Nautilus, select any file, and click Edit on the menu bar.
  • Hover over the Move to Trash menu item.
  • While hovering, press Delete. The current accelerator is now unset.
  • Press the key that you wish to become the new keyboard accelerator.
  • Press Delete to make the new accelerator be the Delete key.

Unless you select a file or folder, Move to Trash will be grayed-out. Finally, disable can-change-accels to prevent accidental hotkey changes.

Screencast recording

Gnome features the built-in possbility to create screencasts easily. Thereby Control+Shift+Alt+R keybinding starts and stops the recording. A red circle is displayed in the bottom right corner of the screen when the recording is in progress. After the recording is finished, a file named 'Screencast from %d%u-%c.webm' is saved in the Videos directory. In order to use the screencast feature you need to have installed the gst plugins which are:

$ pacman -Qs gst

Modify Keyboard with XkbOptions

Using the dconf-editor, navigate to the key named org.gnome.desktop.input-sources.xkb-options and add desired XkbOptions (e.g. 'caps:swapescape') to the list.

See /usr/share/X11/xkb/rules/xorg for all XkbOptions and then /usr/share/X11/xkb/symbols/* for the respective descriptions.

Note: To enable the Ctrl+Alt+Backspace combination to terminate Xorg, use the gnome-tweak-tool from official repositories. Within the Gnome Tweak Tool, navigate to Typing > Terminate and select the option Ctrl+Alt+Backspace from the dropdown menu.

Toggle keyboard layouts

Since Gnome does not consider any configuration in /etc/X11/conf.d/*.conf you have to set the command for layout switching either via the control center with the options Switch to previous source and Switch to next source or if you want to use Alt - Shift combination you have to use the Gnome-Tweak-Tool and set Typing -> Modifiers-only input sources -> select Alt-shift. For more information see also the forum thread.

Integrated messaging (Empathy)

Empathy, the engine behind integrated messaging, and all system settings based on messaging accounts will not show up unless the telepathy group of packages or at least one of the backends (telepathy-gabble, or telepathy-haze, for example) is installed.

These packages are not included in default Arch GNOME installs. You can install the Telepathy and optionally any backends with:

# pacman -S telepathy

Without telepathy, Empathy will not open the account management dialog and can get stuck in this state. If this happens -- even after quitting Empathy cleanly -- the /usr/bin/empathy-accounts application can remain running and will need to be killed before you can add any new accounts.

View descriptions of telepathy components on the Freedesktop.org Telepathy Wiki.

Troubleshooting

Cannot Set Settings in Dconf-Editor

When one cannot set settings in dconf, it is possible their dconf user settings are corrupt. In this case it is best to delete the user dconf files in
 .config/dconf/user* 
and set the settings in dconf-editor after.

When an extension breaks GNOME

When enabling shell extensions causes GNOME breakage, you should first remove the user-theme and auto-move-windows extensions from their installation directory.

The installation directory could be one of ~/.local/share/gnome‑shell/extensions, /usr/share/gnome‑shell/extensions, or /usr/local/share/gnome‑shell/extensions. Removing these two extension-containing folders may fix the breakage. Otherwise, isolate the problem extension with trial‑and‑error.

Removing or adding an extension-containing folder to the aforementioned directories removes or adds the corresponding extension to your system. Details on GNOME Shell extensions are available at the GNOME web site.

Extensions do not work after GNOME 3 update

Locate the folder where your extensions are installed. It might be ~/.local/share/gnome-shell/extensions or /usr/share/gnome-shell/extensions.

Edit each occurrence of metadata.json which appears in each extension sub-folder.

Insert: "shell-version": ["3.6"]
Instead of (for example): "shell-version": ["3.4"]


"3.x" indicates the extension works with every Shell version. If it breaks, you will know to change it back.

The "Windows" key

By default, this key is mapped to the "overlay-key" to launch the Overview. You can remove this key mapping to free up your Windows Key (also called Mod4), which GNOME calls Super_L, by utilizing gsettings.

Example: gsettings set org.gnome.mutter overlay-key 'Foo';. You can leave out Foo to simply remove any binding to that function.

Note: GNOME also uses Alt+F1 to launch the Overview.

Keyboard Shortcut do not work with only conky running

The gnome-shell keyboard shortcuts like Alt+F2, Alt+F1, and the media key shortcuts do not work if conky is the only program running. However if another application like gedit is running, then the keyboard shortcuts work.

solution: edit .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

Window opens behind other windows when using multiple monitors

This is possibly a bug in GNOME Shell which causes new windows to open behind others. Unchecking "workspaces_only_on_primary" in desktop/gnome/shell/windows using gconf-editor solves this problem.

Multiple monitors and dock extension

If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.

Edit /usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js and locate this line in the source:

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

The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.

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

Gnome sets the keyboard layout to USA after every log in

See the [this] bug report for more information. It is related to GDM and can be fixed by choosing the correct layout at GDM login startup. However, users who do not use GDM or any login manager but a pure startx approach have to use a workaround. Create the file ~/.keyboard and make it executable chmod +x:

# Set the correct keyboard layout after Gnome start
setxkbmap -layout "us,pl" -variant altgr-intl -option "grp:alt_shift_toggle" nodeadkeys

Now run gnome-session-properties and add this .keyboard file to the programs run at startup:

Name: Keyboard layout 
Command: /home/username/.keyboard
Comment: Sets the correct keyboard layout after Gnome start

Further you need to create the executable file /etc/pm/sleep.d/90_keyboard with the following content in order to run the script on resume from suspend and hibernation.

#!/bin/bash
case $1 in
    resume|thaw)
        /home/username/.keyboard
        ;;
esac

"Show Desktop" keyboard shortcut does not work

GNOME developers treated the corresponding binding as bug (see https://bugzilla.gnome.org/show_bug.cgi?id=643609) due to Minimization being deprecated. To show the desktop again assign ALT+STRG+D to the following setting:

System Settings --> Keyboard --> Shortcuts --> Navigation --> Hide all normal windows

Nautilus does not start

  1. Press Alt+F2
  2. Enter gnome-tweak-tool
  3. Select the File Manager tab.
  4. Locate option Have file manager handle the desktop and assure it is toggled off.

Unable to apply stored configuration for monitors

If you encounter this message try to disable the xrandr gnome-settings-daemon plugin :

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

Lock button fails to re-enable touchpad

Some laptops have a touchpad lock button that disables the touchpad so that users can type without worrying about touching the touchpad. It appears currently that although GNOME can lock the touchpad by pressing this button, it cannot unlock it. If the touchpad gets locked you can do the following to unlock it.

  1. Start a terminal. You can do this by pressing Alt+F2, then typing gnome-terminal followed by pressing Enter.
  2. Type in the following command
$ xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1

Unable to connect to secured Wi-Fi networks

You can see the network connections listing, but choosing an encrypted network fails to show a dialog for key entry. You may need to install network-manager-applet. See GNOME NetworkManager setup.

"Any command has been defined 33"

When you press the Print Screen key (sometimes labeled PrntScr or PrtSc) to take a screenshot, and you got "Any command has been defined 33", install metacity.

GDM and GNOME use X11 cursors

To fix this problem, become root and put the following into /usr/share/icons/default/index.theme (creating the directory /usr/share/icons/default if necessary):

/usr/share/icons/default/index.theme
[Icon Theme]
Inherits=Adwaita

Note: Instead of "Adwaita", you can choose another cursor theme (e.g. Human).

Tracker & Documents do not list any local files

In order for Tracker (and, therefore, Documents) to detect your local files, they must be stored in directories that it knows of. If your documents are contained in one of the usual XDG standard directories (i.e. "Documents" or "Music"), you should install xdg-user-dirs and run:

 # xdg-user-dirs-update

This will create all of the usual XDG home directories if they do not already exist and it will create the config file definining these directories that Tracker and Documents depend upon.

Passwords are not remembered

If you get a password prompt every time you login, and you find password are not saved, you might need to create/set a default keyring:

$ pacman -S seahorse

Open "Passwords and Keys" from the menu or run "seahorse". Select View > By Keyring. If there is no keyring in the left column (it will be marked with a lock icon), go to File > New > Password Keyring and give it a nice name. You will be asked to enter a password. If you do not give it a password it will be unlocked automatically even when using autologin, but passwords will not be stored securely. Finally, right-click on the keyring you just created and select "Set as default".

Windows cannot be modified with Alt-Key + Mouse-Button

Change the dconf-setting "org.gnome.desktop.wm.preferences.mouse-button-modifier" from <Super> back to <Alt>. It is not possible to change this with System Settings > "Keyboard" > "Shortcuts", you will find there only the regular keybindings. The developers of GNOME decided to change this from 3.4 to 3.6 because of this bug report https://bugzilla.gnome.org/show_bug.cgi?id=607797

Gnome-shell 3.8.x fails to load with a black screen + cursor

If you have a non-UTF8 language enabled, Gnome 3 can fail to load. Disable non-UTF-8 locales and perform a locale-gen until this is resolved. For more information see this bug report: https://bugzilla.gnome.org/show_bug.cgi?id=698952

Gnome 3.10 UI elements scale incorrectly

With 3.10 Gnome introduced HDPI support. If your displays EDID info does not contain the correct screen size, but the resolution is right, this can lead to incorrectly scaled UI elements. As a workaround you can open dconf-editor and find the key scaling-factor in org.gnome.desktop.interface. Set it to 1 to get the standard scale.

External links