User:Cronolio/GNOME3



A frequently used desktop environment is GNOME. This guide tries to describe all aspects of GNOME, including installation, configuration, usage, and more!

The project
The GNOME project is a free software project dedicated to the development of GNOME, a Unix/Linux desktop suite and development platform. The GNOME Foundation coordinates the development and other aspects of the GNOME Project.

The software
GNOME is a desktop environment and a development platform. This piece of free software is the desktop of choice for several industry leaders. It is interesting both for business users, home users, and developers.

The community
Like with any big free software project, GNOME has an extensive user and development base. GnomePlanet is a popular blog aggregator for GNOME hackers and contributors whereas Developer.Gnome.Org is for the GNOME developers. GNOME Library contains a huge list of GNOME resources for end users. The World of GNOME is also a popular aggregator for GNOME-related news.

Prerequisites
Before the GNOME install process, first read and follow the instructions in the Xorg guide to setup a X environment. X is the standard base for all desktop environments in Linux. Also, be sure to read and comply with all the settings from systemd article.

Installation
Before installing GNOME, editing the system's USE variables is a good idea. Make sure that,  , and   are in the USE variable located in. If support for  add it to the USE flags (systemd include system message bus GNOME uses extensively). If no KDE support is required, remove  and   from USE. USE flags can be removed by adding a minus sign in front of them. See the example below for the minus sign used properly.

Adding the  USE flag provides a lovely Gentoo-branded screen instead of the default GNOME desktop manager screen:

Once finished, begin the GNOME installation by emerging GNOME:

For a minimal GNOME installation install the package. This option provides a lightweight GNOME installation without pulling in the full GNOME desktop environment. Most p might need to install additional packages afterwards.

This will take a while, so you might want to start reading all those books your mother bought you but you never opened. Done? Great, now update environment variables:

Verify the  group exists. If it does, it is advisable to make each GNOME user member of that group, but step this is optional (the group is not common anymore).

Substitute  in the next command with each GNOME user's user name:

Start via systemd service
Run the following command to start GNOME.

And run it command to start GNOME every time with the boot.

For more info please read gdm with GNOME article.

Start via startx
It is time to take a look at what was just built. Exit the root shell and log in as a regular user. The next step is to configure the session manager to run GNOME when the the command is invoked (see using startx in the Xorg guide for more information).

Now start the graphical environment by issuing :

If all goes well GNOME should happily provide a greeting. Congratulations on setting up GNOME!

It is possible to configure GNOME further. Take a look at the section below.

Extended customization in GNOME 3
For extra configuration options in GNOME 3 install the package. The tweak tool allows customization at a deeper level than the standard Settings frame.

Widgets in GNOME 3
By default in Gentoo Gnome 3 does not widgets. For users who wish to obtain widget functionality a separate package is available:

After the Shell Extensions are installed, can be used to control defaults on a global level:

More extensions available on the website.

.

Languages and encodings
GNOME 3 obtains user language settings from. The language can be set in GNOME from the My Account entry in the upper right corner menu. Alternatively, you can directly edit AccountsService user files. For example, to have user  use British English, you can (as root) edit  so it reads the following:

But, normally, you won't need to change this if wanting to use the same language as the used system wide.

Keyboard layouts and input methods
GNOME 3 does not use traditional keyboard layout settings. Instead, keyboard layouts and input methods are configured via  which is integrated into GNOME Shell.

To add a keyboard layout, open System Settings (or from the terminal) and go to Region & Language → Input Sources. That dialog will also tell you how to change keyboard layout to switch between multiple keyboard layouts.

Touchpad and other input device customization
Apart of the settings you can change in "Control Center -> Mouse", if you have "disable touchpad while typing" selected in "Control Center -> Mouse", the touchpad will be disabled for 1 second after a keyboard key is pressed. In GNOME 2, this interval was 500 milliseconds. If you like to disable the touchpad while typing, but prefer the shorter timeout interval like in GNOME 2, you can emerge with the   USE flag enabled.

GNOME 3 allows setting a custom command for advanced customization of input device settings. For example, suppose that you want to configure your touchpad to enable two-finger scrolling (both vertical and horizontal) and edge scrolling (vertical only). You could set a new GNOME input device hotplug script using the terminal:

and create the following file:

If, for whatever reason, you want to completely prevent GNOME 3 from automatically modifying your mouse and touchpad settings (note that this will also prevent custom input hotplug commands, such as above, from modifying mice and touchpads!), you can run the following:

Configure Monitors and Displays
GNOME 3 uses xrandr to setup the monitors.

Try to configure your displays with

To apply the settings as a system-wide default, copy to.

Suspend/Hibernate items in status menu
GNOME Shell 3 always shows a Power Off menu item by default in the upper-right corner menu. The Suspend menu item becomes visible after clicking on the upper right corner menu and holding down the  key. Laptops can also be suspended simply by shutting the lid.

To change status menu default items, you should probably try the alternative-status-menu extension. To do so, emerge and run

to enable the extension for all users by default, or use  (Shell Extensions tab) to enable it on a per-user basis.

This will offer you separated "Suspend" and "Hibernate" menu items.

Suspend on laptop lid close
GNOME 3 will, by default, suspend a laptop when the lid is closed. If you do not like this behavior, you need to change one parameter in :

One of the most common reasons for not wanting to suspend on laptop lid close is to carry a laptop to another room without losing the network connection. To do so, you can install, which allows temporarily inhibiting GNOME's suspend-on-lid-close behavior for up to 10 minutes.

Interaction with tabs
Since GNOME 3.0, some applications stopped switching tabs when scrolling over them. This intended behavior by upstream actually covers at least, and. This behavior will not be patched by the Gentoo GNOME team so if you find it annoying, please report it directly at the GNOME Bugzilla.

Interaction with windows
If you were used to move and resize windows using, GNOME 3.6 replaced the   key with the   (Windows Logo) key. If you wish to change back to the old behavior, this can be done using  (Windows tab), or you can use the terminal to set Alt as modifier key for window interaction:

Interaction with notifications
For GNOME 3 this action has been updated to react to the force with which the pointer is pressed against the screen edge. Only a determined push will cause the Message Tray to open. This enhancement avoids accidental triggers and is quicker and more immediate. To open the tray usually moving mouse to the button and, either trying to move it even more down or sticking it there will work. You can also open the tray pressing  key or clicking on notification shown when a new one arrives in Activities overview.

Also, notifications handling has changed a lot during GNOME 3 cycles [1 ] [2 ]. Since some commonly used applications are still not using notifications in this way, they can be hard to use. To let this applications behave more similar to GNOME 2 you can use and, once you install that package, enable it as usual, for example:

Fonts
GNOME 3 uses as its default font. Unfortunately, Cantarell currently only includes a subset of Latin and Cyrillic characters. Users of languages with alphabetic writing systems which are not yet covered by Cantarell will probably want to switch to another font, such as. This can be done using  (Fonts tab), or you can set DejaVu (size 10) as the default font from the terminal:

Icons on the desktop
In GNOME 3, folder is simply treated as a normal folder with files instead of its contents being shown in the GNOME desktop. If you want to manage your desktop files like in GNOME 2, you can change the corresponding setting in the  GUI (Desktop tab), or use the   command from the terminal to make Nautilus manage the desktop:

This change is not needed if you are using GNOME Classical mode.

Currently, it's not possible to create launchers in desktop (see upstream bug #702587), as a workaround, you can try to copy existing launchers from to your.

Logs of the session
If you were used to finding the logs of the current session in or, they are now directly logged by journald and, then, you will need to run   to see them (see   for learning more about its usage).

Unmerge
A possible way to completely remove a GNOME installation is by explicitly uninstalling the package, then cleaning the dependencies of that package.

In order to do this sanely make sure the main Portage repository has been synced:

Next, run a world update so that the system is fully up-to-date:

Unmerge the GNOME base package:

Finally, depclean the system:

GNOME should now be removed.

External resources

 * http://worldofgnome.org/ - The World of GNOME blog.
 * https://github.com/dantrell/gentoo-project-gnome-without-systemd - GNOME without Systemd
 * https://extensions.gnome.org/

trouble

NetworkManager will use upstream plugin to handle configs
When running Systemd, NetworkManager will use upstream plugin to handle configs (called 'keyfile'), then, you probably will need to reconfigure your network settings. If you have problems with this migration (like NetworkManager failing to start), you need to verify that old 'ifnet' plugin is not referred from.