Diferencia entre .xinitrc, .xsession y .xsessionrc


55

Encontré tres archivos de configuración.

  1. .xinitrc
  2. .xsession
  3. .xsessionrc

Sé que el primero es para usar startxy el segundo y el tercero se usan cuando se usa un administrador de pantalla. Pero, ¿cuál es la diferencia entre los dos últimos?

Respuestas:


65

~/.xinitrcse ejecuta por xinit, que generalmente se invoca a través de startx. Este programa se ejecuta después de iniciar sesión: primero inicia sesión en una consola de texto, luego inicia la GUI con startx. La función de .xinitrces iniciar la parte de la GUI de la sesión, generalmente mediante la configuración de algunas configuraciones relacionadas con la GUI, como las combinaciones de teclas (con xmodmapo xkbcomp), recursos X (con xrdb), etc., y lanzar un administrador de sesión o un administrador de ventanas ( posiblemente como parte de un entorno de escritorio).

~/.xsessionse ejecuta cuando inicia sesión en modo gráfico (en un administrador de pantalla ) y el administrador de pantalla invoca el tipo de sesión "personalizado". (Con el administrador de visualización histórico xdm, .xsessionsiempre se ejecuta, pero con los administradores de visualización modernos que le dan al usuario la opción de elegir el tipo de sesión, generalmente debe elegir "personalizado" para .xsessionejecutarlo). Su función es establecer parámetros de tiempo de inicio de sesión (como las variables de entorno) y para iniciar la sesión de la GUI. Un típico .xsessiones

#!/bin/sh
. ~/.profile
. ~/.xinitrc

~/.xsessionrcse ejecuta en Debian (y derivados como Ubuntu, Linux Mint, etc.) mediante los scripts de inicio de X en un inicio de sesión GUI, para todos los tipos de sesión y (creo) de todos los administradores de pantallas. También se ejecuta desde startxsi el usuario no tiene un .xinitrc, porque en ese caso startxrecurre a las mismas secuencias de comandos de inicio de sesión que se utilizan para el inicio de sesión GUI. Se ejecuta relativamente temprano, después de cargar recursos, pero antes de iniciar cualquier programa como un agente clave, un demonio D-Bus, etc. Por lo general, establece variables que pueden ser utilizadas por los scripts de inicio posteriores. No tengo ninguna documentación oficial que yo sepa, tienes que buscar en la fuente para ver qué funciona.

.xinitrcy .xsessionson características históricas del sistema X11 Window, por lo que deberían estar disponibles y tener un comportamiento similar en todos los sistemas Unix. Por otro lado, .xsessionrces una característica de Debian y las distribuciones que no están basadas en Debian no la tienen a menos que hayan implementado algo similar.

.xprofilees muy similar a .xsessionrc, pero es parte del script de inicio de sesión de GDM (el administrador de pantalla de GNOME), por lo que solo se lee si inicia sesión con GDM.


5

Según otra discusión, startx + ~ / .xsession y no ~ / .xinitrc, da como resultado una funcionalidad reducida (xfce4, sid)

Primero: .xsessionrces para mantener variables de entorno global . El énfasis es mío.

En segundo lugar: 40x11-common_xsessionrcen /etc/X11/Xsession.dse origina antes 50x11-common_determine-startup. Entonces .xsessionrcse lee antes .xsessiony cualquier conjunto de variables de entorno estará disponible para las aplicaciones ejecutadas por los comandos en .xsession.

Otras lecturas:

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.