GNOME/Guide
GNOME es un entorno de escritorio popular capaz de arrancar sesiones Xorg y Wayland. Esta guía trata de describir todos los aspectos de GNOME, incluyendo su instalación, configuración y utilización.
A partir de su versión 3.30, GNOME en Gentoo es capaz, de nuevo, de ser ejecutado bajo OpenRC.[1] Vea GNOME sin systemd para más detalles.
¿Qué es GNOME?
El proyecto
El proyecto GNOME es una organización de software libre dedicado al desarrollo de GNOME, una suite de escritorio y una plataforma de desarrollo Unix/Linux. La GNOME Foundation coordina el desarrollo y otros aspectos relacionados con el Proyecto GNOME.
El software
GNOME es un entorno de escritorio y una plataforma de desarrollo. Esta pieza de software libre es el escritorio elegido por varios líderes de la industria, incluyendo Canonical (Ubuntu) y Red Hat (Red Hat Linux, Fedora, CentOS).
La comunidad
Al igual que con cualquier proyecto grande de software libre, GNOME tiene una extensa base de usuarios y de desarrolladores. GNOME Planet es un popular agregador de blogs para los hackers y contribuyentes de GNOME, mientras que developer.gnome.org está destinado para los desarrolladores de GNOME. GNOME Library contiene una enorme lista de recursos de GNOME para los usuarios finales.
Requisitos previos
Xorg ha sido el servidor gráfico estándar históricamente para todos los entornos de escritorio en Linux. A partir de GNOME 3 comenzó la migración a Wayland, un protocolo de servidor gráfico nuevo. Todos los sistemas que no usen NVIDIA no tendrán ningún problema a la hora de arrancar sesiones de GNOME bajo Wayland.
Dicho esto, la recomendación general es primero leer y seguir las instrucciones de la guía de Xorg para configurar un entorno X.
Según el equipo upstream de GNOME, GNOME 40 es desarrollado con el sistema init systemd en mente. Por esto, es buena idea que los usuarios de systemd lean y ajusten todas las configuraciones necesarias para el kernel dentro del artículo systemd.
Instalación
Perfil
Antes de instalar la paquetería de GNOME, se recomienda editar los ajustes USE del sistema. Los desarrolladores del proyecto GNOME de Gentoo dan perfiles GNOME para facilitar la configuración global y prepararla para la paquetería de GNOME. Seleccione el último perfil GNOME antes de construirla.
Lea la documentación relevante antes de aplicar cualquier cambio de perfil.
OpenRC
Los usuarios de OpenRC que usen logind pueden seleccionar el perfil GNOME OpenRC:
root #
eselect profile set default/linux/amd64/17.1/desktop/gnome
systemd
Los usuarios de systemd querrán seleccionar el siguiente perfil:
root #
eselect profile set default/linux/amd64/17.1/desktop/gnome/systemd
Asegúrese de que los ajustes USE X
, gtk
y gnome
están activados en /etc/portage/make.conf. Se recomienda también activar el soporte global de D-Bus. systemd incluye este bus de mensajes del sistema.
/etc/portage/make.conf
Example global USE flags for a GNOME desktop environmentUSE="-qt5 -kde X gtk gnome systemd"
Cuando se utilice el perfil
desktop/gnome/systemd
, estos parámetros USE se definirán automáticamente. Es posible comprobar el perfil del sistema ejecutando eselect profile list. Las modificaciones de perfiles se pueden hacer mediante la ejecución eselect profile set <nombre-del-perfil> como root. Asegúrese de reemplazar "<nombre-del-perfil>" con el número o el nombre del perfil deseado.Emerge
Una vez hecho esto, comience la instalación de GNOME realizando emerge de GNOME:
root #
emerge --ask gnome-base/gnome
Quizá algunos/as usuarios/as busquen mantener una instalación ligera y solo añadir paquetes que necesiten más tarde. Esto es útil en sistemas con poco espacio de almacenamiento. Por esto existe la opción mínima para GNOME, en el paquete gnome-base/gnome-light. Esta opción solo instala las herramientas esenciales del entorno de escritorio GNOME:
root #
emerge --ask gnome-base/gnome-light
Además, considere desactivar el previsualizador para gnome-base/nautilus y eliminar las cuentas en línea de GNOME en dispositivos de gama baja para evitar net-libs/webkit-gtk y reducir el tiempo de instalación:
/etc/portage/package.use/nautilus
Desactivar el previsualizador de nautilusgnome-base/nautilus -previewer
Portage may run into a circular dependency error when emerging libpulse. If this happens, emerge the libsndfile dependency with the
minimal
useflag before emerging GNOME:
root #
USE="minimal" emerge --ask --oneshot libsndfile
Esto podría tomar un tiempo. Una vez acabe, resta actualizar las variables del entorno:
root #
env-update && source /etc/profile
A continuación, el resto de servicios y grupos de usuarios serán limpiados.
Compruebe que existe el grupo plugdev
. En caso afirmativo, es recomendable hacer a cada usuario de GNOME miembro de ese grupo, pero esto es un paso opcional (el grupo ya no es común).
root #
getent group plugdev
plugdev:x:104:
Sustituya nombredeusuario
en la siguiente orden, con el nombre de usuario de cada usuario de GNOME.
root #
gpasswd -a <nombre-de-usuario> plugdev
Primeras impresiones
Es el momento de echar un vistazo a lo que se acaba de construir. Bien, configure el gestor de sesiones para que lance GNOME cuando se invoque la orden startx (lea cómo usar startx en la guía de Xorg para obtener más información) o habilite el servicio GDM para descubrir una forma más conveniente de lanzar Gnome.
Habilitar GDM
Ayuda sobre la resolución de problemas con GDM puede encontrarse en el artículo GNOME/GDM.
OpenRC
Para sistemas OpenRC, elogind es una dependencia de GDM y debe ser iniciado para que GDM arranque adecuadamente:
root #
rc-update add elogind boot
root #
rc-service elogind start
Después, añada display-manager-init al nivel de ejecución predeterminado (default) y arranque el servicio:
root #
emerge --ask --noreplace gui-libs/display-manager-init
En /etc/conf.d/display-manager, configure DISPLAYMANAGER como "gdm"
/etc/conf.d/display-manager
DISPLAYMANAGER="gdm"
Para que inicie al arrancar el sistema, añada display-manager al nivel de ejecución predeterminado (default):
root #
rc-update add display-manager default
Para iniciar GDM con rc inmediatamente:
root #
rc-service display-manager start
systemd
Para iniciar GDM en el arranque:
root #
systemctl enable gdm.service
Para iniciar GDM inmediatamente, lanzar:
root #
systemctl start gdm.service
La siguiente orden habilita GDM y lo lanza inmediatamente:
root #
systemctl enable --now gdm.service
Otra sugerencia es activar Network Manager, en caso de que no se haya activado otro servicio de gestión de red.
Usar startx
Salir de la sesión de root y entrar como un usuario normal. El siguientes paso es configurar el gestor de sesiones para lanzar GNOME cuando se invoque la orden startx (leer cómo usar startx en la guía de Xorg para más detalles).
user $
echo "exec gnome-session" > ~/.xinitrc
Partiendo de gnome-base/gnome-session-2.26.2, los usuarios tendrán que anteponer la variable XDG_MENU_PREFIX para obtener los menús de GNOME cuando se utiliza el método ~/.xinitrc para iniciar el escritorio. Si el fichero ~/.xinitrc no se utiliza, dichos menús serán manejados de forma automática; no se necesita ninguna configuración adicional.
user $
sed -i '1i\export XDG_MENU_PREFIX=gnome-' ~/.xinitrc
Ahora, inicie el entorno gráfico mediante la emisión de startx:
user $
startx
Si todo ha ido bien, GNOME debería ofrecer un saludo de felicitación. ¡Felicidades por la creación de GNOME!
Privacidad
Eliminar las cuentas en línea de GNOME en el panel de control
Algunos/as usuarios/as podrían tener problemas con el hecho de que exista una sección cuentas en línea en el panel de control de GNOME, que permite enlazar el sistema con varios servicios como Google, Microsoft, etc. Se puede desactivar un ajuste USE en Portage para eliminar esta funcionalidad:
/etc/portage/make.conf
USE="... -gnome-online-accounts"
Esto le dirá a Portage que no instale el paquete net-libs/gnome-online-accounts si fuese posible.
Reconstruya el archivo world con emerge con la opción --changed-use
y limpie dependencias sin utilizar.
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.
Configuración
Varios idiomas
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:
~/.config/environment.d/01_localize.conf
Override locale for user sessionLANG="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'
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.Cierre la sesión, asegúrese de que ha terminado la sesión vieja y vuelva a iniciarla. Estos ajustes serán aplicados en la nueva sesión.
To override session's locale for terminal in gnome, add:
~/.bashrc
Override locale for terminalLANG="C.utf8"
LC_MESSAGES="C.utf8"
LC_TIME="C.utf8"
Personalizar GNOME
Para más opciones de configuración de GNOME 40, instale el paquete gnome-extra/gnome-tweaks. Esta herramienta permite una personalización más completa que la configuración estándar.
Configuración avanzada
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 en GNOME 40
Por defecto GNOME 40, para Gentoo, no ofrece soporte para Widgets. Existe un paquete separado para los usuarios que deseen esta funcionalidad:
root #
emerge --ask gnome-extra/gnome-shell-extensions
Una vez se han instalado las extensiones Shell, se puede utilizar eselect para controlar los valores por defecto al nivel global:
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
Para navegadores Web como Google Chrome, Chromium, y Vivaldi, asegúrese de obtener los añadidos necesarios a través de la tienda de Chrome: https://chrome.google.com/webstore/detail/gphhapmejobijbbhgpjhcjognlahblep
Los usuarios de Firefox lo pueden obtener aquí: https://addons.mozilla.org/firefox/addon/gnome-shell-integration/
Los usuarios de Opera tendrán que sacarlo de aquí: https://addons.opera.com/extensions/details/gnome-shell-integration/
Una vez se han instalado los añadidos para el navegador elegido, se necesita también hacer emerge de un backend:
root #
emerge --ask gnome-extra/chrome-gnome-shell
Ahora debería ser posible instalar, gestionar y desinstalar extensiones del intérprete de órdenes desde https://extensions.gnome.org/
Si las cosas no funcionan como se espera, consultar las lasinstrucciones de instalación del equipo de desarrollo si desea estar al día.
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:
/etc/polkit-1/rules.d/49-wheel.rules
Administrator wheel grouppolkit.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:
/etc/portage/package.use
Connection Sharing and Access Point Supportnet-misc/networkmanager connection-sharing
net-wireless/wpa_supplicant ap
In addition, the following kernel options are necessary:
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
Eliminación
Desinstalación
Una forma posible de eliminar una instalación GNOME es desinstalar explícitamente el paquete gnome-base/gnome y a continuación desinstalar las dependencias de ese paquete.
Para hacer esto de una forma adecuada, nos debemos asegurar de que se ha sincronizado el repositorio de Portage:
root #
emerge --sync
A continuación lanzar un update completo (world) de modo que el sistema esté correctamente actualizado:
root #
emerge --ask --update --newuse --deep --with-bdeps=y @world
Haga unmerge del paquete base de GNOME:
root #
emerge --ask --depclean gnome-base/gnome
Por último, limpiar el sistema de dependencias:
root #
emerge --ask --depclean
Ahora GNOME debería haber sido eliminado.
Resolución de problemas
¡Oh no!, algo ha ido mal
Una fuente de este error pueden se los permisos asignados al dispositivo de vídeo. Cuando falla la entrada en el sistema y aparece el mensaje: "¡Oh no!, algo ha ido mal", entonces se puede intentar entrar en el grupo video. Añadir el usuario al grupo vídeo mediante gpasswd de esta forma:
root #
gpasswd -a <usario> 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.
/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.
~/.gnupg/gpg.conf
use-agent
pinentry-mode loopback
~/.gnupg/gpg-agent.conf
pinentry-program /usr/bin/pinentry-gnome3
Recursos externos
- https://github.com/dantrell/gentoo-project-gnome-without-systemd - GNOME sin Systemd
Referencias
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.