GNOME/Guide

From Gentoo Wiki
< GNOME
Jump to:navigation Jump to:search
This page is a translated version of the page GNOME/Guide and the translation is 32% complete.
Outdated translations are marked like this.

’’’GNOME’’’ est un environnement de bureau populaire capable de lancer des sessions Xorg et Wayland. Ce guide tente de décrire tout les aspects de GNOME, incluant l’installation, la configuration et son usage.

Depuis la version 3.30, GNOME sur Gentoo est capable de nouveau d’être lancé sur OpenRC. [1] Voir l’article GNOME sans systemd pour plus de détails.

Qu'est-ce que gnome ?

Le projet

Le projet GNOME est une organisation de logiciels libres dédiée au développement de GNOME, une suite bureautique et de développement pour les systèmes UNIX/Linux. La fondation GNOME se coordonne pour les différents aspects et développement du projet GNOME.

Le logiciel

GNOME est un environnement de bureau et une plateforme de développement. Cette suite de logiciels libres est un bureau de choix pour divers leaders de l’industrie incluant Canonical (Ubuntu) et Red Hat (Red Hat Linux, Fedora, CentOS).

La communauté

Comme tout gros projet de logiciel libre, GNOME a une base abondante d’utilisateurs et de bases de développement. GNOME Planet est un blog populaire pour les hackers et contributeurs de GNOME et où developer.gnome.org est dédié aux développeurs de GNOME. La bibliothèque de GNOME contient une énorme liste de ressource pour GNOME et les utilisateurs finaux.

Prérequis

À l’origine, le serveur d’affichage de Xorg était standard de base pour tout les environnements de bureau sur Linux. Avec GNOME 3 et les autres, un changement vers Wayland, un nouveau protocole de serveur d’affichage, a commencé. Les systèmes autre que ceux utilisant du matériel NVidia n’auront aucun problème à lancer une session GNOME dans Wayland.

Cela dit, c’est une bonne idée de d’abord lire et suivre les instructions dans le guide de Xorg pour paramétrer un environnement X.

Selon GNOME, la version 40 a été écrite avec le système d’initialisation SystemD à l’esprit. À cause de cela, c’est une bonne idée pour les utilisateurs de SystemD de lire et appliquer toutes les options du noyau nécessaire depuis l’article systemd.

Installation

Profil

Avant d’installer la suite GNOME, éditer la variable USE est une bonne idée. Le projet de développement de GNOME par Gentoo procure un profil GNOME pour aider à l’échelle du système le réglage de la couche logicielle de GNOME. Sélectionner la dernière version stable du profil de GNOME avant de l’installer.

Important
Lire la documentation adéquate avant de faire la moindre modification de profil.

OpenRC

Les utilisateurs d’OpenRC utilisant logind peuvent sélectionner le profil GNOME OpenRC :

root #eselect profile set default/linux/amd64/17.1/desktop/gnome

systemd

Attention !
Lire la systemd documentation avant de passer à un profil systemd.

Les utilisateurs de SystemD peuvent vouloir sélectionner les profils suivants :

root #eselect profile set default/linux/amd64/17.1/desktop/gnome/systemd

Être sûr qu’X, gtk et gnome sont présents dans la variable USE dans le fichier /etc/portage/make.conf. Il est recommandé d’ajouter le support de D-Bus à l’échelle du système. SystemD inclus ce système.

FILE /etc/portage/make.confExemple d’utilisation globale des USE flags pour un bureau GNOME
USE="-qt5 -kde X gtk gnome systemd"
Remarque
Quand le profil desktop/gnome/systemd est utilisé, ces USE flags seront automatiquement mis en place. Il est possible de vérifier quel profil est en cours d’usage en lançant eselect profile list. Des modifications peuvent être effectué par la commande eselect profile set <nom-de-profil> en tant que root. Être sûr de remplacer "<nom-de-profil>" avec le nombre ou le nom désiré du profil.

Emerge

Une fois terminé, commencer l’installation de GNOME en émergeant (NdT: commande emerge) la suite bureautique :

root #emerge --ask gnome-base/gnome
Remarque
Les utilisateurs peuvent souhaiter conserver une installation légère et minimaliste pour installer uniquement les paquets à la demande. C’est utile sur les systèmes avec peu d’espace disque. Pour cette raison une option ’’minimal’’ pour GNOME existe en tant que paquet gnome-base/gnome-light. Cette option installe l’essentiel de la suite de l’environnement de bureau :
root #emerge --ask gnome-base/gnome-light

Aussi, désactiver la pré-visualisation pour gnome-base/nautilus est à considérer ainsi que supprimer le compte en ligne GNOME sur des appareils de basse puissance pour éviter d’avoir net-libs/webkit-gtk et réduire le temps de compilation :

FILE /etc/portage/package.use/nautilusDésactiver la pré-visualisation sur Nautilus
gnome-base/nautilus -previewer
Remarque
Portage peut se retrouver dans une erreur de dépendance circulaire (NdT: une sorte de boucle qui empêche l’installation) quand on emerge libpulse. Si cela arrive, emerger la dépendance libsndfile avec l’USE flag minimal avant d’installer GNOME:
root #USE="minimal" emerge --ask --oneshot libsndfile

Ceci prend un certain temps, alors, si vous n'avez pas encore eu le temps de lire le dernier bouquin que vous avez reçu pour votre anniversaire, c'est le moment d'en profiter ! ... Super ! Maintenant mettez votre environnement à jour :

root #env-update && source /etc/profile

Vous pouvez maintenant nettoyer les services résiduels et les groupes d'utilisateurs.

Vérifier que le groupe plugdev existe. Si c’est le cas, il est préférable de rendre membre de ce groupe tout les utilisateurs de GNOME (sur le système), mais c’est optionnel (ce groupe n’est plus si commun désormais).

root #getent group plugdev
plugdev:x:104:

Remplacez yourUserName par votre nom d'utilisateur.

root #gpasswd -a yourUserName plugdev

Premières impressions

Prenez le temps de regarder ce que vous venez de compiler. Sortez du shell root et reconnectez-vous en tant qu'utilisateur standard. Vous allez configurer votre session pour lancer gnome lorsque vous exécuterez la commande startx (reportez-vous aussi à la section Utiliser startx du guide de configuration du serveur X) :

Enabling GDM

Remarque
Help on troubleshooting issues with GDM can be found in the GNOME/GDM article.

OpenRC

For OpenRC systems, elogind is a dependency of GDM and must be started for GDM to run properly:

root #rc-update add elogind boot
root #rc-service elogind start

Next add display-manager-init to the default runlevel and start the service:

root #emerge --ask --noreplace gui-libs/display-manager-init

In /etc/conf.d/display-manager set DISPLAYMANAGER to "gdm"

FILE /etc/conf.d/display-manager
DISPLAYMANAGER="gdm"

To start on boot, add display-manager to the default runlevel:

root #rc-update add display-manager default

To start GDM either reboot or start it with rc immediately:

root #rc-service display-manager start

systemd

To start GDM upon boot:

root #systemctl enable gdm.service

To start GDM immediately, run:

root #systemctl start gdm.service
Conseil
The following command both enables and starts GDM immediately:
root #systemctl enable --now gdm.service

Another suggestion is to activate Network Manager, in case no other network managing service is activated.

Using startx

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 startx command is invoked (see using startx in the Xorg guide for more information).

user $echo "exec gnome-session" > ~/.xinitrc

Depuis gnome-base/gnome-session-2.26.2, il faut utiliser la variable préfixe XDG_MENU_PREFIX pour obtenir le menu de gnome si vous utilisez la méthode ~/.xinitrc pour lancer votre environnement de bureau. (Si vous n'utilisez pas ~/.xinitrc , cela sera fait automatiquement pour vous ; aucune configuration additionnelle n'est nécessaire.)

user $sed -i '1i\export XDG_MENU_PREFIX=gnome-' ~/.xinitrc

Vous pouvez démarrer votre environnement graphique en exécutant la commande startx :

user $startx

Si tout s'est bien passé, vous devriez être accueilli par un mot de félicitations de gnome. Maintenant voyons comment configurer gnome pour qu'il réponde à vos besoins.

Privacy

Removing GNOME online accounts in the control center

Some users might be concerned about the fact that there is an online accounts section is the GNOME control center, which enables the user to connect the system to various services like Google, Microsoft, etc. In Portage, a USE flag can be set to remove this functionality:

FILE /etc/portage/make.conf
USE="... -gnome-online-accounts"

This will tell Portage to not install the net-libs/gnome-online-accounts package if possible.

Re-emerge world with the --changed-use flag and clean unused dependencies.

root #emerge --ask --changed-use --update --deep @world
root #emerge --depclean
Remarque
Because of gnome-extra/gnome-contacts package being part of gnome-base/gnome via gnome-base/gnome-core-apps, the -gnome-online-accounts USE cannot be set as gnome-extra/gnome-contacts makes this a hard requirement to be enabled. gnome-base/gnome-light is an alternative though several other packages may be required for a full experience.

Configuration

Mixed localization

It could be general to have C as the global default locale, with a different one for the desktop. This can be achieved by add settings:

FILE ~/.config/environment.d/01_localize.confOverride locale for user session
LANG="zh_CN.utf8"
LC_MESSAGES="zh_CN.utf8"
LC_TIME="zh_CN.utf8"

Then choose the region for locale in gnome-setting-center, or via command:

user $gsettings set org.gnome.system.locale region 'zh_CN.utf8'
Remarque
With global locale default to C, only set the region is not likely to change the locale for desktop, for which, configuration in environment.d is necessary, especially the LC_MESSAGES variable. And to make it work for sure, the following packages may be necessary: ≥ sys-apps/systemd-249.6-r1 and ≥ gnome-base/gnome-40.0.

Log out, make sure the old session is killed and re-login, these settings will be applied to the new session.

To override session's locale for terminal in gnome, add:

FILE ~/.bashrcOverride locale for terminal
LANG="C.utf8"
LC_MESSAGES="C.utf8" 
LC_TIME="C.utf8"

Tweaking GNOME

For extra configuration options in GNOME 40 install the gnome-extra/gnome-tweaks package. The tweak tool allows customization at a deeper level than the standard Settings frame.

Advanced tweaking

Advanced tweaking for GNOME can be performed from the command line via the gsettings or dconf commands or graphically via dconf-editor. All modifiable settings are accessible using these tools. For more information, see upstream's documentation.

Widgets in GNOME 40

By default on Gentoo GNOME 40 does not support widgets. For users who wish to obtain widget functionality a separate package is available:

root #emerge --ask gnome-extra/gnome-shell-extensions

After the shell extensions are installed, eselect can be used to control defaults on a global level:

root #eselect gnome-shell-extensions list
Available extensions (* means enabled for all users by default):
  [1]   alternate-tab@gnome-shell-extensions.gcampax.github.com
  [2]   apps-menu@gnome-shell-extensions.gcampax.github.com
  [3]   auto-move-windows@gnome-shell-extensions.gcampax.github.com
  [4]   drive-menu@gnome-shell-extensions.gcampax.github.com
  [5]   launch-new-instance@gnome-shell-extensions.gcampax.github.com
  [6]   native-window-placement@gnome-shell-extensions.gcampax.github.com
  [7]   places-menu@gnome-shell-extensions.gcampax.github.com
  [8]   screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com
  [9]   user-theme@gnome-shell-extensions.gcampax.github.com
  [10]  window-list@gnome-shell-extensions.gcampax.github.com
  [11]  windowsNavigator@gnome-shell-extensions.gcampax.github.com
  [12]  workspace-indicator@gnome-shell-extensions.gcampax.github.com

Enable click-to-install Shell Extensions through the web browser

For web browsers such as Google Chrome, Chromium, and Vivaldi be sure to get the required browser add-on through the Chrome store: https://chrome.google.com/webstore/detail/gphhapmejobijbbhgpjhcjognlahblep

After the add-on has been installed for the browser of choice, a backend must also be emerged:

root #emerge --ask gnome-extra/gnome-browser-connector

It should now be possible to install, manage, and uninstall shell extensions at https://extensions.gnome.org/

If things are not working as expected check the upstream installation instructions for news.

Non-root user authentication for dialogs

Certain GNOME dialogs such as Printers, adding wireless networks, and Users require administrator authentication. This is handled through sys-auth/polkit and operates independently from app-admin/sudo. By default in Gentoo, the root account is the only administrator, and so even if a user account can run root commands through sudo, authentication in these GNOME dialogs will fail.

If you would like all users of the group wheel to be administrators, create a copy of /usr/share/polkit-1/rules.d/50-default.rules starting with a number lower than 50, and edit the line return ["unix-user:0"] to the following:

FILE /etc/polkit-1/rules.d/49-wheel.rulesAdministrator wheel group
polkit.addAdminRule(function(action, subject) {
    return ["unix-group:wheel"];
});

The Polkit page provides more details on rules configuration.

GNOME hotspot

In order for gnome-hotspot to work, the wireless card must support AP (access point) infrastructure mode. The following package USE flags are also needed:

FILE /etc/portage/package.useConnection Sharing and Access Point Support
net-misc/networkmanager connection-sharing
net-wireless/wpa_supplicant ap

In addition, the following kernel options are necessary:

KERNEL NAT options (locations for kernel 4.14)
Networking support (NET [=y])
    Networking options --->
        Network packet filtering framework (Netfilter) (NETFILTER [=y]) --->
            IP: Netfilter Configuration --->
                <*/M> IPv4 NAT (CONFIG_NF_NAT_IPv4)
                <*/M> IPv4 masquerade support
                <*/M> IP tables support (required for filtering/masq/NAT) (IP_NF_IPTABLES [=y])
                <*/M> iptables NAT support

Removal

Unmerge

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

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

root #emerge --sync

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

root #emerge --ask --update --newuse --deep --with-bdeps=y @world

Unmerge the GNOME base package. Substitute the base package with gnome-base/gnome-light if the 'light' version of the package was installed instead:

root #emerge --ask --depclean gnome-base/gnome

Finally, depclean the system:

root #emerge --ask --depclean

GNOME should now be removed.

Troubleshooting

Login failure with message "Oh no something has gone wrong"

One source of this error can be the permissions for the video device. When logging in fails and a message appears that says "Oh no, something has gone wrong", then try to become a member of the video group. Add the user to the video group with gpasswd like so:

root #gpasswd -a <user> video

GNOME on Wayland session is not launching with NVIDIA

Attempting to launch GNOME on Wayland sessions is a known issue. Unfortunately some older versions of the NVIDIA binary blob drivers are not compatible with Wayland. Systems that simply have older versions of the NVIDIA binary blob driver installed, but are not using it, can see this workaround.

For at least gnome-base/gdm-44.1 it is required to set NVreg_PreserveVideoMemoryAllocations=1 in /etc/modprobe.d/nvidia.conf, otherwise Wayland support is being disabled.

GNOME built-in screen recorder is not working

GNOME's screen recorder uses vp8 codec which is developed by Google. The recorder needs this codec and pipewire screencast feature to record the desktop. It can be enabled it via the the vpx and screencast USE flags in either the make.conf or package.use files.

FILE /etc/portage/make.conf
USE="vpx screencast"

GNOME and Pinentry not working with GPG

For example when using Evolution to sign emails with PGP, the private key needs to be decrypted. If this key has a password, a Pinentry dialogue trys to open. To enable the Gtk version, these configuration files need to be edited.

FILE ~/.gnupg/gpg.conf
use-agent
pinentry-mode loopback
FILE ~/.gnupg/gpg-agent.conf
pinentry-program /usr/bin/pinentry-gnome3

External resources

References


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Lars Strojny,
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.