¿Para qué sirve ".xsession"?

62

¿Cuál es el propósito del .xsessionarchivo en la carpeta de inicio? ¿Qué se debe poner allí? Los entornos de escritorio no usan ese archivo y para el inicio de X desde el tty existe .xinitrc.

Mirzhan Irkegulov
fuente

Respuestas:

58

Si inicia sesión en modo de texto, inicie una sesión de GUI con xinit o con la secuencia de comandos del contenedor startx, luego xinithaga lo siguiente:

  • Inicie un servidor X (generalmente a través del script /etc/X11/xinit/xserverrc).
  • Por lo general, ejecuta algunos scripts en /etc/X11(normalmente /etc/X11/xinit/xinitrc), dependiendo de cómo esté configurado.
  • Ejecutar ~/.xinitrc, si existe. Si no existe, ejecute un cliente predeterminado (tradicionalmente xterm).
  • Una vez que ~/.xinitrctermine, elimine el servidor X.

Si inicia sesión en modo gráfico en un administrador de pantalla X (xdm, gdm, kdm, wdm, lightdm, ...), tradicionalmente, lo que se ejecuta después de iniciar sesión son algunos scripts en /etc/X11ese momento ~/.xsession.

~/.xsessiontiene el rol ~/.profiley la ~/.xinitrccombinación: se supone que realiza el inicio inicial de su sesión (por ejemplo, define variables de entorno), luego inicia programas específicos para la GUI (generalmente al menos el administrador de ventanas).

Hoy en día, la mayoría de los administradores de pantallas X le dan la opción de una sesión. La elección de una sesión en particular lanzó un entorno de escritorio específico, administrador de sesión, administrador de ventanas. Lo que se ejecuta entonces es solo que DE / SM / WM y cualquier programa que elija iniciar en función de los archivos de configuración que elija leer. Muchos entornos proporcionan una "sesión personalizada" que lee lo tradicional ~/.xsession.

Gilles 'SO- deja de ser malvado'
fuente
3
No sé qué es este "muchos entornos", pero al menos kdm ignora en silencio el archivo «~ / .xsession».
Hola Angel
1
@ Hi-Angel El .xsessionarchivo solo se lee si selecciona un tipo de sesión en particular. Sé que para Gdm, los desarrolladores ascendentes no quieren incluir uno que se ejecute .xsessionde manera predeterminada y dejarlo en manos de cada distribución, y muchas distribuciones no molestan o no se dan cuenta de la necesidad. No sé cuál es la situación de kdm.
Gilles 'SO- deja de ser malvado'
Bueno, ya sabes, encontré en man kdm que kdm tiene un archivo propio /etc/kde4/kdm/Xsessionpara ejecutarse como usuario justo después de iniciar sesión. Son mentira: el archivo (que está presente por cierto) nunca fue tocado por kdm, incluso lo eliminé en absoluto, y eso no cambió nada.
Hola Ángel,
1
@ Hi-Angel Lo que Gilles quiere decir es que en la pantalla de inicio de sesión gráfico a menudo tendrá un menú desplegable que enumera varios entornos. Si elige "KDE", eso comenzará y se ignorará .xsession, como lo describió. Pero si, en lugar de "KDE", elige "Sesión personalizada" .xsession, se ejecutará en lugar de KDE. Utilizo esto, por ejemplo, porque ejecuto solo xfce4-panely FVWM 2 como mi "escritorio"; Si KDE se instalara en un sistema que estaba usando, sería completamente ignorado.
Curt J. Sampson
15

El inicio de sesión X puede ser complicado en estos días. Un buen lugar para comenzar es el script /etc/X11/Xsessionpara ver cómo se ejecutarán las cosas.

En mis sistemas Debian / Ubuntu, el script /etc/X11/Xsessionestablece la variable USERXSESSION=$HOME/.xsession. Más tarde, el script /etc/X11/Xsession.d/50x11-common_determine-startupbusca este script y lo usa como la sesión principal, si lo permite la política del sistema /etc/X11/Xsession.optionsy si el administrador de pantalla no solicitó ninguna otra sesión.

Jim Paris
fuente
8

Le recomiendo que eche un vistazo a la guía del administrador del sistema X Window del libro : para X versión 11 . El Capítulo 2 explica el propósito .xsessiony todo el proceso de configuración para una configuración de muestra. También es un buen repaso para toda la terminología relacionada con x-window (y espero que no se asuste :)). Puedes obtener el libro de

http://archive.org/details/xwindowsystemadm08muimiss

Aunque está bastante desactualizado, puede encontrar mucha información sobre los conceptos subyacentes que no cambiaron hasta hoy y es muy legible. Además, es realmente divertido echar un vistazo a lo que era de primera categoría en esos días.

usuario1146332
fuente
7

.xsession es el script de inicio tradicional para el entorno X11. Hoy en día con gestores de sesión como kdm ya no es tan útil, sino en un sistema tradicionalmente configurado. Esto es lo que se ejecuta después de iniciar X11 con startx.

Nikodemus RIP
fuente