GNOME/Anleitung
GNOME ist eine berühmte Desktop Umgebung fähig Xorg und Wayland Sitzung auszuführen. Diese Anleitung versucht alle Aspekte GNOMEs zu beschreiben, also Installation, Konfiguration und Nutzung!
Seit der Version 3.30, kann GNOME auf Gentoo Linux mit OpenRC laufen. [1]. Für mehr Details kann GNOME ohne systemd gelesen werden.
Was ist GNOME?
Das Projekt
Das GNOME Projekt ist eine Frei Software Oranisation, die sich der Entwicklung GNOMEs widmet, einer Unix/Linux Desktop Umgebung und Entwicklungs Platform. Die GNOME Stiftung koordiniert das GNOME Projekt.
Die Software
GNOME ist eine Desktop Umgebung und Entwicklungs Platform. Diese Software wurden von mehrere Industrieführer wie Canonical(Ubuntu) und Red Hat(Red Hat Linux, Fedora, CentOS) für deren Produkte ausgewählt.
Die Community
So wie bei vielen großen Open-Source Projekten, hat GNOME eine große Nutzer- und Entwicklerszene. GNOME Planet ist ein populärer Blog für GNOME Modifizierer und Mitwirkende vergleichbar mit developer.gnome.org für GNOME Entwickler. Die GNOME Bibliothek enthält eine riesige Liste an GNOMEs Ressourcen für Endnutzer.
Voraussetzungen
Der Xorg Displayserver war der historische Standard für Desktop Umgebungen auf Linux. Mit GNOME 3 und späteren Versionen hat eine Umstellung auf das neuere Displayprotokoll Wayland begonnen. Systeme, welche nicht NVIDIA Grafikkarten nutzen, werden kein Problem bei der Ausführung von GNOME Sitzungen mit Wayland haben.
Trotzdem ist es eine gute Idee erst die folgenden Anweisungen zu lesen Xorg Anleitung, um eine X Umgebung als Sicherung zu haben.
Laut GNOME, ist die Version 40 für systemd konzipiert. Deswegen ist es empfehlenswert für systemd Nutzer, die Kerneloptionen aus dem systemd Artikel zu beachten und ihn komplett zu lesen.
Installation
Profil
Bevor dem installieren der GNOME Desktop Umgebung ist es eine gute Idee, die USE Werte des Systems zu ändern. Die Gentoo GNOME Projekt Entwickler stellen ein Systemprofil für GNOME zur Verfügung, um Systemweit GNOMEs Funktionalität zu versichern. Wähle das neueste stabile GNOME Profil aus.
Lese die section#Changing_profile bevor einer Änderung des Profils.
OpenRC
OpenRC Nutzer, welche logind nutzen, können das GNOME OpenRC Profil auswählen:
root #
eselect profile set default/linux/amd64/17.1/desktop/gnome
systemd
Systemd Nutzer sollten das folgende Profil auswählen:
root #
eselect profile set default/linux/amd64/17.1/desktop/gnome/systemd
Überprüfe, dass X
, gtk
und gnome
in der USE Variable in /etc/portage/make.conf stehen. Es wird empfohlen Unterstützung für D-Bus Systemweit einzuschalten. Systemd nutzt D-Bus.
USE="-qt5 -kde X gtk gnome systemd"
Bei der Nutzung von dem
desktop/gnome/systemd
System Profil werden automatisch diese USE Kennzeichnungen genutzt. Es ist möglich, zu überprüfen welches System Profil man nutzt, in dem eselect profile list ausgeführt wird. Modifikationen können mit dem Ausführen von eselect profile set <Profilname> als root angewendet werden. "<Profilname>" sollte mit der Nummer oder dem Namen des Profils ersetzt werden.Emerge
Nun kann die Installation GNOMEs mit dem Emergen von GNOME begonnen werden:
root #
emerge --ask gnome-base/gnome
Manche Nutzer halten die Installation minimal und installieren zusätzliche Pakete nur, wenn sie gebraucht werden. Dies nützt Systemen mit wenig Speicherplatz. Deswegen existiert das minimale GNOME Paket gnome-base/gnome-light. Es wird nur das installiert, was unbedingt von der GNOME Desktop Umgebung benötigt wird:
root #
emerge --ask gnome-base/gnome-light
root #
emerge --ask gnome-base/gnome-light
Also, consider disabling previewer for gnome-base/nautilus along with removing GNOME online accounts on low end devices to avoid net-libs/webkit-gtk and reduce build time:
gnome-base/nautilus -previewer
}}
{{{1}}}
Dies wird eine Weile dauern, also könnte man andere Artikel dieses Wikis lesen. Fertig? Super, aktualisiere nun die Umgebungs Variablen:
root #
env-update && source /etc/profile
Als nächstes werden die übriggebliebenen Dienste und Nutzergruppen aufgeräumt.
Überprüfe, dass die plugdev
Gruppen existiert. Wenn sie existiert, ist es zu empfehlen jeden GNOME Nutzer zu dieser Gruppen hinzuzufügen (die Gruppen findet normalerweise keine Verwendung mehr).
root #
getent group plugdev
plugdev:x:104:
Ersetze <Nutzer>
im nächsten Kommando mit dem Namen jedes GNOME Nutzers.
root #
gpasswd -a <Nutzer> plugdev
Erste Eindrücke
Es ist jetzt Zeit zu gucken, was gerade kompiliert wurde. Konfiguriere entweder den Sitzungsmanager um GNOME auszuführen, wenn startx gestartet wird (für Hilfe, siehe "Nutze startx" in der Xorg Anleitung), oder aktiviere den GDM Dienst, für eine simplere Lösung, um GNOME zu starten.
GDM einschalten
Hilfe zur Fehlerbehebung und Problemen mit GDM können im GNOME/GDM Artikel gefunden werden.
OpenRC
Auf OpenRC Systemen ist elogind eine Abhängigkeit von GDM und muss starten, damit GDM richtig funktioniert.
root #
rc-update add elogind boot
root #
rc-service elogind start
Füge display-manager-init zum default Runlevel hinzu und starte den Dienst:
root #
emerge --ask --noreplace gui-libs/display-manager-init
Setze in /etc/conf.d/display-manager DISPLAYMANAGER zu "gdm"
DISPLAYMANAGER="gdm"
Füge display-manager zum default Runlevel hinzu, damit der Dienst während des Bootvorgangs automatisch startet:
root #
rc-update add display-manager default
Um GDM zu starten, kann entweder Rebootet werden oder OpenRC genutzt werden, um display-manager direkt zu starten.
root #
rc-service display-manager start
systemd
Um GDM beim Booten zu starten:
root #
systemctl enable gdm.service
Um GDM direkt zu starten:
root #
systemctl start gdm.service
Das folgende Kommando aktiviert und startet GDM gleichzeitig:
root #
systemctl enable --now gdm.service
Noch eine Empfehlung ist, NetworkManager zu aktivieren, wenn kein anderer Service zum Verwalten von Netzwerke aktiviert ist.
Nutzung von startx
Schließe nun die root Shell und logge eine normalen Nutzer in eine neue Shell ein. Der nächste Schritt ist das Konfigurieren von startx um GNOME auszuführen, wenn das Kommando gestartet wird (siehe "Nutzung von startx" im Xorg Artikel für mehr Information).
user $
echo "exec gnome-session" > ~/.xinitrc
Beim starten von gnome-base/gnome-session-2.26.2 werden Nutzer die XDG_MENU_PREFIX Variable anhängen müssen um GNOMEs Menüs zu bekommen, wenn die ~/.xinitrc Methode genutzt wird um den Desktop auszuführen. Wenn ~/.xinitrc nicht genutzt wird, ist dies nicht nötig.
user $
sed -i '1i\export XDG_MENU_PREFIX=gnome-' ~/.xinitrc
Starte jetzt die grafische Umgebung mit der Eingabe von startx:
user $
startx
Wenn jetzt alles gut geht, sollte GNOME einen Begrüßungs Dialog anzeigen. Glückwunsch zur erfolgreichen Installation von GNOME!
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:
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
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.
Konfiguration
Unterschiedliche Orte
Es könnte gut sein, C
als globale Spracheinstellung zu haben, und für den Desktop eine andere Einstellung vorzunehmen:
LANG="zh_CN.utf8"
LC_MESSAGES="zh_CN.utf8"
LC_TIME="zh_CN.utf8"
Wähle jetzt eine Region für die Spracheinstellung im gnome-setting-center oder über die Kommandozeile aus:
user $
gsettings set org.gnome.system.locale region 'zh_CN.utf8'
Mit der globale Sprache auf
C
, ist es unwahrscheinlich, dass nur das Ändern der Region auf die Desktop Umgebung Wirkung zeigt und sich die Sprache ändert. Deswegen ist es wichtig vor allem die LC_MESSAGES Variable anzupassen. Und um das Gelingen zu versichern werden folgende Pakete benötigt: ≥ sys-apps/systemd-249.6-r1 und ≥ gnome-base/gnome-40.0.Melde den Nutzer ab, überprüfe, dass die alte Sitzung geschlossen ist, und logge den Nutzer wieder ein. Die neuen Einstellungen werden dann angewandt.
Zum Überschreiben der Terminal Spracheinstellungen, füge dies hinzu:
LANG="C.utf8"
LC_MESSAGES="C.utf8"
LC_TIME="C.utf8"
LANG="C.utf8"
LC_MESSAGES="C.utf8"
LC_TIME="C.utf8"
GNOME justieren
Für mehr Einstellungsmöglichkeiten in GNOME 40 installiere das gnome-extra/gnome-tweaks Paket. Das Werkzeug ermöglicht eine erweiterte Konfiguration GNOMEs als die Standardeinstellungen.
Fortgeschrittenes Anpassen
Fortgeschrittenes verbessern für GNOME kann über die Kommandozeile mit gsettings oder dconf ausgeführt werden. Das selbe ist mit einer grafischen Benutzeroberfläche über dconf-editor möglich. Alle modifizierbaren Einstellungen sind über diese Werkzeuge zu erreichen. Für mehr Information gibt es GNOMEs offizielle Dokumentation.
Widgets in GNOME 40
GNOME 40 auf Gentoo unterstützt standardmäßig keine Widgets. Für Nutzer, die wünschen Widgets zu nutzen, wird ein separates Paket benötigt.
root #
emerge --ask gnome-extra/gnome-shell-extensions
Nachdem die Shell Erweiterungen installiert sind, kann eselect genutzt werden um Standards global einzustellen:
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
Aktiviere Click-to-install Shell Erweiterungen über den Web-Browser
Für Webbrowser wie Google Chrome, Chromium und Vivaldi muss darauf geachtet werden, dass das Add-On über den Chrome store installiert wird: https://chrome.google.com/webstore/detail/gphhapmejobijbbhgpjhcjognlahblep
Firefox Nutzer können die Erweiterung hier bekommen: https://addons.mozilla.org/firefox/addon/gnome-shell-integration/
Opera Nutzer können dieses Add-On auch zum Browser hinzufügen: https://addons.opera.com/extensions/details/gnome-shell-integration/
Nachdem die Erweiterung installiert wurde, muss auch das Backend installiert werden:
root #
emerge --ask gnome-extra/chrome-gnome-shell
Es sollte jetzt möglich sein Shell Erweiterungen auf https://extensions.gnome.org/ zu installieren, zu entfernen und zu verwalten.
Wenn dies nicht der Fall ist und Probleme auftreten guck auf GNOMEs Installationsanweisungen für Hilfe.
Nicht-root-Nutzer Authentifikation über Dialoge
Manche GNOME Dialoge wie Drucker, das hinzufügen von kabellosen Netzwerken und Administrator Autorisierung wird durch sys-auth/polkit verwaltet und funktioniert unabhängig von app-admin/sudo. Auf Gentoo ist standardmäßig root der einzige Administrator, deswegen werden die Dialoge versagen auch wenn der Nutzer sudo nutzen kann.
Wenn nach deiner Meinung, alle Nutzer der wheel Gruppe Administratoren seien sollen, dann kopiere /etc/polkit-1/rules.d/50-default.rules in eine Datei die mit einer Nummer die kleiner als 50 ist und bearbeite diese Zeile return ["unix-user:0"] so:
polkit.addAdminRule(function(action, subject) {
return ["unix-group:wheel"];
});
Die Polkit Wikiseite stellt mehr Details über Regelkonfiguration zur Verfügung.
GNOME Hotspot
Damit gnome-hotspot funktioniert, muss deine Netzwerkkarte zu AP (access point) infrastructure mode fähig sein. Die folgenden USE Kennzeichen werden außerdem benötigt:
net-misc/networkmanager connection-sharing
net-wireless/wpa_supplicant ap
Zusätzlich sind die folgenden Kerneloptionen nötig:
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
Entfernung
Unmerge
Eine Möglichkeit GNOME komplett zu entfernen ist das gnome-base/gnome zu deinstallieren und Abhängigkeiten aufzuräumen.
Um diesen Schritt sicher zu machen, synchronisiere den Ebuild Tree:
root #
emerge --sync
Starte als nächstes ein World Update um sicher zu stellen, dass das System auf dem neusten Stand ist:
root #
emerge --ask --update --newuse --deep --with-bdeps=y @world
Unmerge das GNOME Basispaket. Ersetze das Paket mit gnome-base/gnome-light wenn die 'light' Version des Pakets installiert war:
root #
emerge --ask --depclean gnome-base/gnome
Räume abschließend das System auf:
root #
emerge --ask --depclean
GNOME sollte jetzt entfernt sein.
Fehlerbehebung
Login-Versagen mit Nachricht "Oh no something has gone wrong"
Eine Quelle des Fehlers kann die nicht vorhandene Erlaubnis für Videogeräte sein. Beim einloggen erscheint eine Nachricht „Oh no, something has gone wrong“? Dann probiere ein Mitglied der video Gruppe zu werden. Fügen den Nutzer der Gruppe so hinzu:
root #
gpasswd -a <Nutzer> video
GNOME mit Waylandsitzung führt auf NVIDIA nicht aus
Beim Starten einer GNOME Wayland Sitzung ist ein bekanntes Problem der proprietäre NVIDIA Treiber, welcher nicht mit Wayland kompatible ist. Es gibt ein Möglichkeit zum umgehen des Problems.
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.
GNOMEs eingebauter Bildschirm Aufzeichner funktioniert nicht
GNOMEs eingebautes Bildschirm Aufzeichnungsprogramm nutzt den vp8 Codec, welcher von Google entwickelt wird. Das Programm benötigt den Codec unbedingt um die Aufnahmen zu kodieren. Um den Codec zu installieren kann das vpx
USE Attribut in make.conf oder package.use eingeschaltet werden.
USE="vpx"
GNOME und Pinentry funktionieren nicht mit GPG
Wenn zum Beispiel Evolution genutzt wird um E-Mails mit PGP zu signieren, muss der private Schlüssel entschlüsselt werden. Wenn der Schlüssel ein Passwort hat, versucht ein Pinentry Dialog, sich zu öffnen. Um die Gtk Version zu installieren müssen diese Dateien bearbeitet werden.
use-agent
pinentry-mode loopback
pinentry-program /usr/bin/pinentry-gnome3
pinentry-program /usr/bin/pinentry-gnome3
Externe Ressourcen
- https://github.com/dantrell/gentoo-project-gnome-without-systemd - GNOME without systemd.
- https://help.gnome.org/admin/ - Upstream GNOME administrator guide.
- https://help.gnome.org/users/ - Upstream GNOME user guide.
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.