Difference between revisions of "Xinit (Español)"

From ArchWiki
Jump to: navigation, search
m (actualizando fecha/id revisión + cambios ya realizados anteriormente)
(actualización a la última versión original)
Line 10: Line 10:
 
[[ru:Xinitrc]]
 
[[ru:Xinitrc]]
 
[[zh-hans:Xinit]]
 
[[zh-hans:Xinit]]
{{TranslationStatus (Español)|Xinit|2018-11-10|550558}}
+
{{TranslationStatus (Español)|Xinit|2018-11-11|554642}}
 
{{Related articles start (Español)}}
 
{{Related articles start (Español)}}
 
{{Related2|Display manager (Español)|Administrador de pantalla}}
 
{{Related2|Display manager (Español)|Administrador de pantalla}}
Line 20: Line 20:
 
:El programa '''xinit''' permite a un usuario iniciar manualmente un servidor de pantalla [[Xorg (Español)|Xorg]]. El script {{man|1|startx}} es un front-end para {{man|1|xinit}}.
 
:El programa '''xinit''' permite a un usuario iniciar manualmente un servidor de pantalla [[Xorg (Español)|Xorg]]. El script {{man|1|startx}} es un front-end para {{man|1|xinit}}.
  
''xinit'' y ''startx'' toman un argumento opcional de la aplicación cliente. Si no proporciona uno, buscarán {{ic|~/.xinitrc}} para ejecutarse como un script del intérprete de línea de órdenes para iniciar las aplicaciones cliente.
+
''xinit'' se utiliza normalmente para iniciar [[window manager (Español)|administradores de ventanas]] o [[desktop environment (Español)|entornos de escritorio]]. Aunque también puede utilizar ''xinit'' para ejecutar aplicaciones gráficas sin un administrador de ventanas, muchas aplicaciones gráficas esperan un administrador de ventanas compatible con [[Wikipedia:Extended Window Manager Hints]]. Los [[Display manager (Español)|gestores de pantalla]] inician [[Xorg (Español)|Xorg]] y, generalmente, [[xprofile (Español)|xprofile]].
Ejecutar {{ic|xinit /usr/bin/foo}} es por lo tanto equivalente a ejecutar {{ic|xinit}} con {{ic|exec foo}} en su {{ic|~/.xinitrc}}.
 
 
 
''xinit'' se utiliza normalmente para iniciar [[window manager (Español)|administradores de ventanas]] o [[desktop environment (Español)|entornos de escritorio]]. Aunque también puede utilizar ''xinit'' para ejecutar aplicaciones gráficas sin un administrador de ventanas, muchas aplicaciones gráficas esperan un administrador de ventanas compatible con [[Wikipedia:Extended Window Manager Hints]]. {{ic|~/.xinitrc}} es útil para ejecutar programas que dependen de X y establecer variables de entorno en el inicio del servidor X. Los [[Display manager (Español)|administradores de pantalla]] inician [[Xorg (Español)|Xorg]] y, generalmente, [[xprofile (Español)|xprofile]].
 
  
 
== Instalación ==
 
== Instalación ==
Line 30: Line 27:
  
 
== Configuración ==
 
== Configuración ==
 +
 +
''xinit'' y ''startx'' toman un argumento opcional de la aplicación cliente, véase [[#Sobrescribir xinitrc desde la línea de órdenes]]. Si no proporciona uno, buscarán {{ic|~/.xinitrc}} para ejecutarse como un script del intérprete de línea de órdenes para iniciar las aplicaciones cliente.
  
 
=== xinitrc ===
 
=== xinitrc ===
  
Si {{ic|.xinitrc}} está presente en el directorio personal del usuario, ''startx'' y ''xinit'' lo ejecutan. De lo contrario, ''startx'' ejecutará el {{ic|/etc/X11/xinit/xinitrc}} predeterminado.
+
{{ic|.xinitrc}} es útil para ejecutar programas que dependen de X y establecer variables de entorno en el inicio del servidor X. Si está presente en el directorio personal del usuario, ''startx'' y ''xinit'' lo ejecutan. De lo contrario, ''startx'' ejecutará el {{ic|/etc/X11/xinit/xinitrc}} predeterminado.
  
 
{{Nota|''Xinit'' tiene su propio comportamiento predeterminado en lugar de ejecutar el archivo. Véase {{man|1|xinit}} para más detalles.}}
 
{{Nota|''Xinit'' tiene su propio comportamiento predeterminado en lugar de ejecutar el archivo. Véase {{man|1|xinit}} para más detalles.}}
Line 48: Line 47:
 
exec openbox-session}}
 
exec openbox-session}}
  
{{Nota|Por lo menos, asegúrese de que el último bloque if en {{ic|/etc/X11/xinit/xinitrc}} esté presente en su archivo {{ic|.xinitrc}} para asegurarse de que los scripts en {{ic|/etc/X11/xinit/xinitrc.d}} son ejecutados.}}
+
{{Nota|Por lo menos, asegúrese de que el último bloque if en {{ic|/etc/X11/xinit/xinitrc}} esté presente en su archivo {{ic|~/.xinitrc}} para asegurarse de que los scripts en {{ic|/etc/X11/xinit/xinitrc.d}} son ejecutados.}}
  
 
Los programas de ejecución prolongada que se inician antes que el administrador de ventanas, como un salvapantallas y una aplicación de fondo de pantalla, deben bifurcarse (''fork'') o ejecutarse en segundo plano añadiendo un signo {{ic|&}}. De lo contrario, el script se detendría y esperaría a que cada programa terminase antes de ejecutar el administrador de ventanas o el entorno de escritorio. Tenga en cuenta que algunos programas no deben ser bifurcados, para evitar errores de secuencia (''race bugs''), como es el caso de [[xrdb]]. Antes de pasar {{ic|exec}} se reemplazará el proceso del script con el proceso del administrador de ventanas, de modo que X no salga incluso si este proceso se bifurca en segundo plano.
 
Los programas de ejecución prolongada que se inician antes que el administrador de ventanas, como un salvapantallas y una aplicación de fondo de pantalla, deben bifurcarse (''fork'') o ejecutarse en segundo plano añadiendo un signo {{ic|&}}. De lo contrario, el script se detendría y esperaría a que cada programa terminase antes de ejecutar el administrador de ventanas o el entorno de escritorio. Tenga en cuenta que algunos programas no deben ser bifurcados, para evitar errores de secuencia (''race bugs''), como es el caso de [[xrdb]]. Antes de pasar {{ic|exec}} se reemplazará el proceso del script con el proceso del administrador de ventanas, de modo que X no salga incluso si este proceso se bifurca en segundo plano.
Line 123: Line 122:
 
Si tiene un {{ic|~/.xinitrc}} en funcionamiento, pero solo desea probar otro administrador de ventanas o entorno de escritorio, puede ejecutarlo introduciendo ''startx'' seguido de la ruta al administrador de ventanas:
 
Si tiene un {{ic|~/.xinitrc}} en funcionamiento, pero solo desea probar otro administrador de ventanas o entorno de escritorio, puede ejecutarlo introduciendo ''startx'' seguido de la ruta al administrador de ventanas:
  
  $ startx /full/path/to/window-manager
+
  $ startx /usr/bin/i3
  
 
Si el administrador de ventanas tiene argumentos, deben citarse para ser reconocidos como parte del primer parámetro de ''startx'':
 
Si el administrador de ventanas tiene argumentos, deben citarse para ser reconocidos como parte del primer parámetro de ''startx'':
  
  $ startx "/full/path/to/window-manager --key value"
+
  $ startx "/usr/bin/''gestor-de-ventanas'' --''key value''"
  
 
Tenga en cuenta que se '''requiere''' la ruta completa. Opcionalmente, también puede especificar opciones personalizadas para el script [[#xserverrc]] añadiéndolas después de {{ic|--}}, por ejemplo:
 
Tenga en cuenta que se '''requiere''' la ruta completa. Opcionalmente, también puede especificar opciones personalizadas para el script [[#xserverrc]] añadiéndolas después de {{ic|--}}, por ejemplo:
Line 139: Line 138:
 
=== Cambio entre entornos de escritorio/gestores de ventanas ===
 
=== Cambio entre entornos de escritorio/gestores de ventanas ===
  
Si está cambiando con frecuencia entre diferentes entornos de escritorio o administradores de ventanas, es conveniente utilizar un [[display manager (Español)|administrador de pantalla]] o expandir {{ic|.xinitrc}} para hacer posible el cambio.
+
Si está cambiando con frecuencia entre diferentes entornos de escritorio o administradores de ventanas, es conveniente utilizar un [[display manager (Español)|administrador de pantalla]] o expandir {{ic|~/.xinitrc}} para hacer posible el cambio.
  
 
El siguiente {{ic|~/.xinitrc}} de ejemplo muestra como iniciar un entorno de escritorio o administrador de ventanas en particular con un argumento:
 
El siguiente {{ic|~/.xinitrc}} de ejemplo muestra como iniciar un entorno de escritorio o administrador de ventanas en particular con un argumento:

Revision as of 09:59, 11 November 2018

Estado de la traducción
Este artículo es una traducción de Xinit, revisada por última vez el 2018-11-11. Si advierte que la versión inglesa ha cambiado puede ayudar a actualizar la traducción, bien por usted mismo o bien avisando al equipo de traducción.

De Wikipedia:

El programa xinit permite a un usuario iniciar manualmente un servidor de pantalla Xorg. El script startx(1) es un front-end para xinit(1).

xinit se utiliza normalmente para iniciar administradores de ventanas o entornos de escritorio. Aunque también puede utilizar xinit para ejecutar aplicaciones gráficas sin un administrador de ventanas, muchas aplicaciones gráficas esperan un administrador de ventanas compatible con Wikipedia:Extended Window Manager Hints. Los gestores de pantalla inician Xorg y, generalmente, xprofile.

Instalación

Instale el paquete xorg-xinit.

Configuración

xinit y startx toman un argumento opcional de la aplicación cliente, véase #Sobrescribir xinitrc desde la línea de órdenes. Si no proporciona uno, buscarán ~/.xinitrc para ejecutarse como un script del intérprete de línea de órdenes para iniciar las aplicaciones cliente.

xinitrc

.xinitrc es útil para ejecutar programas que dependen de X y establecer variables de entorno en el inicio del servidor X. Si está presente en el directorio personal del usuario, startx y xinit lo ejecutan. De lo contrario, startx ejecutará el /etc/X11/xinit/xinitrc predeterminado.

Nota: Xinit tiene su propio comportamiento predeterminado en lugar de ejecutar el archivo. Véase xinit(1) para más detalles.

Este xinitrc predeterminado iniciará un entorno básico con Twm, xorg-xclock y Xterm (asumiendo que los paquetes necesarios estén instalados). Por lo tanto, para iniciar un administrador de ventanas o un entorno de escritorio diferente, primero cree una copia del xinitrc predeterminado en su directorio personal:

$ cp /etc/X11/xinit/xinitrc ~/.xinitrc

Luego edite el archivo y reemplace los programas predeterminados con las órdenes deseadas. Recuerde que las líneas que siguen a una orden utilizando exec serían ignoradas. Por ejemplo, para iniciar xscreensaver en segundo plano y luego iniciar openbox, utilice lo siguiente:

~/.xinitrc
...
xscreensaver &
exec openbox-session
Nota: Por lo menos, asegúrese de que el último bloque if en /etc/X11/xinit/xinitrc esté presente en su archivo ~/.xinitrc para asegurarse de que los scripts en /etc/X11/xinit/xinitrc.d son ejecutados.

Los programas de ejecución prolongada que se inician antes que el administrador de ventanas, como un salvapantallas y una aplicación de fondo de pantalla, deben bifurcarse (fork) o ejecutarse en segundo plano añadiendo un signo &. De lo contrario, el script se detendría y esperaría a que cada programa terminase antes de ejecutar el administrador de ventanas o el entorno de escritorio. Tenga en cuenta que algunos programas no deben ser bifurcados, para evitar errores de secuencia (race bugs), como es el caso de xrdb. Antes de pasar exec se reemplazará el proceso del script con el proceso del administrador de ventanas, de modo que X no salga incluso si este proceso se bifurca en segundo plano.

xserverrc

El archivo xserverrc es un script del intérprete de línea de órdenes responsable de iniciar el servidor X. Tanto startx como xinit ejecutan ~/.xserverrc si existe, de lo contrario startx utilizará /etc/X11/xinit/xserverrc.

Para mantener un sesión autenticada con logind y para evitar eludir el bloqueo de pantalla al cambiar de terminal, Xorg debe iniciarse en el mismo terminal virtual donde se produjo el inicio de sesión [1]. Por lo tanto, se recomienda especificar vt$XDG_VTNR en el archivo ~/.xserverrc:

~/.xserverrc
#!/bin/sh

exec /usr/bin/Xorg -nolisten tcp "$@" vt$XDG_VTNR

Véase Xserver(1) para obtener un listado de todas las opciones de la línea de órdenes.

Sugerencia: -nolisten local puede añadirse después de -nolisten tcp para deshabilitar la abstracción de sockets de X11 para ayudar con el aislamiento. Hay un breve resumen sobre cómo puede afectar esto a la seguridad de X11.

Alternativamente, si desea que X se muestre en una consola separada de la que se invoca al servidor, puede hacerlo utilizando el wrapper del servidor X proporcionado por /usr/lib/systemd/systemd-multi-seat-x. Para mayor comodidad, xinit y startx pueden configurarse para utilizar este contenedor modificando su ~/.xserverrc.

Nota: Para volver a habilitar la redirección de la salida de la sesión X en el archivo de registro de Xorg, añada la opción -keeptty. Véase Redirección rota para más detalles.

Utilización

Para ejecutar Xorg como un usuario normal, introduzca:

$ startx

o

$ xinit -- :1
Nota: xinit no soporta múltiples pantallas cuando ya se ha iniciado otro servidor X. Para ello debe especificar la pantalla añadiendo -- :número_de_pantalla, donde número_de_pantalla es 1 o más.

Su administrador de ventanas (o entorno de escritorio) elegido debería comenzar ahora correctamente.

Para salir de X, ejecute la función de salida de su administrador de ventanas (asumiendo que tiene una). Si carece de dicha funcionalidad, ejecute:

$ pkill -15 Xorg
Nota: pkill eliminará todas las instancias de X en ejecución. Para terminar específicamente el administrador de ventanas en el terminal virtual actual, ejecute:
$ pkill -15 -t tty"$XDG_VTNR" Xorg

Inicio automático de X al inicio de sesión

Asegúrese de que startx esté configurado correctamente.

Para Bash, añada lo siguiente al final de ~/.bash_profile. Si el archivo no existe, copie una versión de la estructura de /etc/skel/.bash_profile. Para Zsh, añádalo a ~/.zprofile.

if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
  exec startx
fi

Puede reemplazar la comparación -eq con una como -le 3 (para vt1 a vt3) si desea usar inicios de sesión gráficos en más de un terminal virtual.

Las condiciones alternativas para detectar el terminal virtual incluyen "$(tty)" = "/dev/tty1", que no permite la comparación con -le, y "$(fgconsole 2>/dev/null || echo -1)" -eq 1, que no funciona en consolas en serie.

Si desea permanecer conectado cuando finalice la sesión X, elimine exec.

Véase también Fish#Start X at login e inicio de sesión automático en Xorg sin gestor de pantallas.

Sugerencia: Este método se puede combinar con el inicio de sesión automático a la consola virtual.

Consejos y trucos

Sobrescribir xinitrc desde la línea de órdenes

Si tiene un ~/.xinitrc en funcionamiento, pero solo desea probar otro administrador de ventanas o entorno de escritorio, puede ejecutarlo introduciendo startx seguido de la ruta al administrador de ventanas:

$ startx /usr/bin/i3

Si el administrador de ventanas tiene argumentos, deben citarse para ser reconocidos como parte del primer parámetro de startx:

$ startx "/usr/bin/gestor-de-ventanas --key value"

Tenga en cuenta que se requiere la ruta completa. Opcionalmente, también puede especificar opciones personalizadas para el script #xserverrc añadiéndolas después de --, por ejemplo:

$ startx /usr/bin/enlightenment -- -br +bs -dpi 96

Véase también startx(1).

Sugerencia: Esto se puede utilizar incluso para iniciar un programa gráfico normal pero sin ninguna de las funciones del administrador de ventanas. Véase también #Inicio de aplicaciones sin un administrador de ventanas y Ejecutando programa en una pantalla X separada

Cambio entre entornos de escritorio/gestores de ventanas

Si está cambiando con frecuencia entre diferentes entornos de escritorio o administradores de ventanas, es conveniente utilizar un administrador de pantalla o expandir ~/.xinitrc para hacer posible el cambio.

El siguiente ~/.xinitrc de ejemplo muestra como iniciar un entorno de escritorio o administrador de ventanas en particular con un argumento:

~/.xinitrc
...

# Aquí Xfce se mantiene por defecto
session=${1:-xfce}

case $session in
    i3|i3wm           ) exec i3;;
    kde               ) exec startkde;;
    xfce|xfce4        ) exec startxfce4;;
    # No hay sesión conocida, intento ejecutarlo como orden
    *                 ) exec $1;;
esac

Para pasar el argumento session:

$ xinit session

o

$ startx ~/.xinitrc session

Inicio de aplicaciones sin un administrador de ventanas

Es posible iniciar solo aplicaciones específicas sin un administrador de ventanas, aunque lo más probable es que esto solo sea útil con una sola aplicación que se muestre en modo de pantalla completa. Por ejemplo:

~/.xinitrc
...

exec chromium

Con este método, debe establecer la geometría de cada ventana de la aplicación a través de sus propios archivos de configuración, si es posible.

Sugerencia: Este método puede ser útil para lanzar juegos gráficos, especialmente en sistemas donde excluir el uso de la memoria o la CPU de un administrador de ventanas o entorno de escritorio, y posibles aplicaciones accesorias, puede ayudar a mejorar el rendimiento del juego.

Véase también Display manager#Starting applications without a window manager.

Redirección de salida utilizando startx.

Véase Xorg#Broken redirection para más detalles.