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.

user590536
fuente

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.

user.dz
fuente
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