Propósito de los archivos /etc/X11/Xsession.d


1

Estoy con Linux y tengo algunas preguntas sobre Xsession. Según entiendo /etc/X11/Xsession el script se inicia cuando se inicia la sesión del sistema X Window. Pero como estaba examinando el código en /etc/X11/Xsession.d Me confundí poco Los scripts aquí son lanzados en orden, 99x11-common_start es el último que contiene exec $STARTUP He registrado esta variable y es justo init --user. Entonces, ¿resulta que todo este script está escrito solo para iniciar init --user? Eliminé algunos archivos y me conecté con un usuario diferente y todo funcionó bien (por ejemplo, 75dbus_dbus-launch ). ¿Significa que Xsession solo lanza? init --user? ¿Qué pasa con la sesión dbus, que lo lanza? Gracias.

Respuestas:


0

Hay dos demonios DBus lanzados en el arranque: --session &erio; --system. El que está en Xsession es el bus de sesión (el usuario lo posee).

~$ ps aux | grep dbus-daemon
message+   944  0.0  0.0  44504  5640 ?        Ss   07:55   0:01 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
sneetsh+  2428  0.0  0.0  43864  4340 ?        Ss   07:56   0:00 dbus-daemon --fork --session --address=unix:abstract=/tmp/dbus-xcqH0l6FdF
sneetsh+  2522  0.0  0.0  43028  3932 ?        S    07:56   0:00 /usr/bin/dbus-daemon --config-file=/etc/at-spi2/accessibility.conf --nofork --print-address 3
sneetsh+  4593  0.0  0.0  14328   964 pts/19   S+   08:17   0:00 grep --color=auto dbus-daemon

La salida anterior fue de Ubuntu 16.04 y usos systemd.

  • El bus del sistema es lanzado por systemd

    ~$ service dbus status
    ● dbus.service - D-Bus System Message Bus
       Loaded: loaded (/lib/systemd/system/dbus.service; static; vendor preset: enabled)
       Active: active (running) since Wed 2016-07-06 07:55:13 CET; 27min ago
         Docs: man:dbus-daemon(1)
     Main PID: 944 (dbus-daemon)
        Tasks: 1
       Memory: 3.5M
          CPU: 1.574s
       CGroup: /system.slice/dbus.service
               └─944 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
    
  • El bus de sesión es lanzado por upstart

    ~$ initctl status dbus 
    dbus start/running, process 2428
    
    ~$ initctl show-config dbus 
    dbus
      start on starting xsession-init
    

    (Tenga en cuenta que este inicio de sesión daemon, NO init / system upstart one)

Ubuntu antes 15.10 utiliza el inicio de arranque.

Puedes verificar estos usando pstree -up. Otra forma en la que puedes iniciar sesión. DBUS_SESSION_BUS_ADDRESS variable del archivo que ha eliminado como lo hizo con STARTUP.


Muchas gracias por responder. Una pregunta más, por favor, creé un pequeño script en bash que registraría DBUS_SESSION_BUS_ADDRESS En el archivo, traté de poner este archivo en /etc/profile.d y /etc/init.d Pero no tuve suerte. Parece un lugar de "preinicio de sesión" donde podría colocar este archivo ¿Podría decirme dónde puedo ponerlo?
— user590536
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.