GNOME/Guide
GNOME es un entorno de escritorio popular. Esta guía trata de describir todos los aspectos de GNOME, ¡Incluyendo la instalación, configuración, utilización y más!
Since version 3.30, GNOME on Gentoo is able to once again run on OpenRC.[1] See GNOME without systemd for more detail.
¿Qué es GNOME?
El proyecto
El proyecto GNOME es un proyecto 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 destacados sectores de la industria. Es interesante, tanto para usuarios empresariales, como para los usuarios domésticos y los desarrolladores.
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. El WOGUE también es un agregador popular de noticias relacionadas con GNOME.
Requisitos previos
Antes de instalar GNOME, leer y seguir las instrucciones en la Guía Xorg para configurar un entorno X. X es la base estándar para todos los entornos de escritorio en Linux. También, asegúrese de leer y cumplir con todos los ajustes citado en el artículo systemd.
That said, as a general fall back, it is a good idea to first read and follow the instructions in the Xorg Guide to setup a X environment.
According to GNOME upstream, GNOME 40 is written with the systemd init system in mind. Because of this, it is a good idea for systemd users to read and comply with all necessary kernel settings from the systemd article.
Instalación
Profile
Antes de instalar GNOME, sería una buena idea modificar las variables USE del sistema. Asegúrese de que X
, gtk
y gnome
están entre las variables USE ubicadas en /etc/portage/make.conf. Se recomienda habilitar el soporte de D-Bus para todo el sistema. Systemd incluye este bus de mensajes del sistema. Añada systemd
a los ajustes USE (D-Bus es un sistema de mensajería que GNOME usa extensamente). Si no se requiere soporte para KDE, quite qt4
, qt5
y kde
de USE. Los ajustes USE se pueden eliminar mediante la adición de un signo menos (-
) delante de ellas. Vea el siguiente ejemplo para saber cómo usar correctamente el signo menos.
Read relevant documentation before performing any profile changes.
OpenRC
OpenRC users using logind can select the GNOME OpenRC profile:
root #
eselect profile set default/linux/amd64/17.1/desktop/gnome
systemd
systemd users will want to select the following profile:
root #
eselect profile set default/linux/amd64/17.1/desktop/gnome/systemd
Make sure that X
, gtk
, and gnome
are in the USE variable located in /etc/portage/make.conf. It is recommended to enable support for D-Bus system-wide. systemd includes this system message bus.
USE="-qt4 -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
Para una instalación minima de GNOME, instale el paquete gnome-base/gnome-light. Esta opción provee una instalación más ligera de GNOME desktop environment. La mayoría de usuarios necesitarán instalar algunos paquetes posteriormente.
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}}}
Esto llevará algún tiempo, de modo que se puede comenzar a leer algunos libros ahora. ¿Terminado?, perfecto, ahora actualice las variables de 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
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"
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
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!
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.
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:
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'
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:
LANG="C.utf8"
LC_MESSAGES="C.utf8"
LC_TIME="C.utf8"
Personalizar GNOME
Para más opciones de configuración de GNOME 3, instala el paquete gnome-extra/gnome-tweak-tool.
Esta pequeña herramienta permite una personalización más completa que la configuración estándar.
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 en GNOME 3
Por defecto GNOME 3, 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:
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:
net-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.
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.
use-agent
pinentry-mode loopback
pinentry-program /usr/bin/pinentry-gnome3
Recursos externos
- https://github.com/dantrell/gentoo-project-gnome-without-systemd - GNOME sin Systemd
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.