El entorno de escritorio Secuencia de inicio: (2) Consola Virtual de Linux

1. GNOME3 arranque en Debian 7

En primer lugar, echemos un vistazo a gnome3 típica procesa diagrama:

 init (1) --- gdm3 ( 5729) - + - {gdm3} (5746) 
`gdm-simple-eslavo (7977) - +-Xorg (7978)
| - {gdm-simple slav} (7979)
`gdm-session-wor (8048) - {gdm-session-wor} (8049)
- + |-x-session-ges (8733, lucas) - +-ssh-agent (8805)
| | - {x-session-ges} (8822)
| | - {x-session-ges} (8827)
| | - {x-session-ges} (8828 )
| |-gnome-settings-(8844) - + - {gnome-settings-} (8848)
| | | - {gnome-settings-} (8849)
| | | - {gnome-settings-} (11666)
| | `- {gnome-settings-} (13428)
| |-gnome-shell (8865) - + - {gnome-shell} ( 8868)
| | | - {gnome-shell} (8869)
| | | - {gnome-shell} (8870)
| | | - {gnome-shell} (8871)
| | | - {gnome-shell} (8983)
| | | - {gnome-shell} (9036)
| | | - {gnome-shell} (9853)
| | `gnome-terminal (23509) - + - (23513)
| | | - (23514)
| | |-gnome-pty -helpe (23516)
| | |-bash (23517) --- pstree (24264)
| | | - (23518)
| | `-bash ( 23579) --- sudo (24.168, raíz) --- openvpn (24169)
| |-evolution-alarma (8876) - + - {evolución alarma} (8917)
| | `- {evolución alarma} (8918)
| |-perseguidor-minero-f (8878) - + - {rastreador-minero-f} (8886)
| | `- {rastreador-minero-f } (8893)
| |-perseguidor-store (8879) - + - {rastreador-store} (8881)
| | | - {rastreador-store} (8885)
| | | - {rastreador-store} (8887)
| | | - {rastreador-store} (8888)
| | | - {rastreador-store} (8889)
| | `- {rastreador-store} (8890)
| |-nautilus (8891) - + - {} nautilus (8910)
| | `- {} nautilus (8913)
| |-gnome -screensav (8894) - + - {gnome-screensav} (8908)
| | `- {gnome-screensav} (8909)
| |-GDU-Notificatio (8895)
| `-nm-applet (8897) --- {nm-applet} (8921)
` - {gdm-session-wor} (8734)



La cadena de clave de inicio del proceso es:

init -> gdm3 -> gdm-simple esclavo —–> Xorg
; ; |
-> gdm-session-trabajador-> X-session-manager -> (todos gnome3 DiskTop componentes)

A. gdm3/kdm

Gnome3 y KDE pueden coexistir en Debian7. Ambos tienen un gestor de ventanas, «gdm3» y «kdm», respectivamente. Tanto gdm3/kdm se inicia «init», como lo demuestra la salida de abajo:

root @ mediocre debian: ~ # chkconfig-l gdm3
gdm3 0: desactivado 1: off 2: el día 3: el 4: on 5: on 6: off
root @ mediocre debian: ~ # chkconfig-l kdm
kdm 0: desactivado 1: off 2: el día 3: el 4: on 5: on 6: off
root @ mediocre debian: ~ #

Sin embargo, sólo uno de ellos debe estar en servicio, colisión ocurriría. Hay un archivo de configuración «/ etc/X11/default-display-manager». Tanto gdm3 y kdm script de inicio comprobará el archivo para asegurarse de si son elegidos como gestor de ventanas. Si no, la escritura gdm3/kdm limitaré salida sin continuar.

root @ luke -debian: ~ # cat / etc/X11/default-display-manager
/ usr/sbin/gdm3

Esta vez, gdm3 se selecciona como gestor de ventanas.
Puede cambiarlo a «/ usr / bin / kdm» para utilizar kdm gestor de ventanas.
O usted puede utilizar «dpkg-reconfig» para cambiar este valor . Usted debe hacer esto sin el servidor X corriendo
gnome dpkg-reconfig

[Seguridad]

DisallowTCP = false

Courier New, Courier, monospace; font-size: x-small;»> Enable = true

puerto = 177

Los archivos binarios GDM3 relacionados residir en «/ usr/lib/gdm3»

Lucas @ luke-debian :/ $ usr/lib/gdm3 ls
gdm-crash-logger gdm-host-chooser gdm-session-trabajador-gdm simple interfaz gráfica de GDM-xdmcp-selector-esclavo
gdm-fábrica-esclavo gdm-product-esclavo-gdm sencilla-chooser gdm-simple esclavo

gdm3 usar gdm-sesión de trabajo para iniciar la sesión en el usuario a través de la configuración de PAM linux «/ etc/pam.d/gdm3». Después de que el usuario se conecta, gdm3 generará un servidor X local, y generar las cookies de usuario X-autoridad por lo que el cliente x empiezas pudo conectar a este servidor X local.

# ps-ef | grep Xorg
root 7978 7977 1 08:38 tty8 doce y once : 32 / usr / bin / Xorg: 0-br-verbose-novtswitch-auth / var/run/gdm3/auth-for-Debian-gdm-4hsbwg/database VT8

# xauth-f / var/run/gdm3/auth-for-Debian-gdm-4hsbwg/database lista

luke-debian/unix: 0 MIT-MAGIC-COOKIE-1 5c020018148f8ed8429a60f77559bfcf


En mi caso, el servidor X (Xorg) se inició en display0/VT8, y la base de datos de autenticación x relacionado es «/ var/run/gdm3/auth-for -Debian-gdm-4hsbwg/database «. Servidor X aceptará la conexión del MIT cookie « 5c020018148f8ed8429a60f77559bfcf».

Una base de datos de acceso de cookies también se genera para registro de usuario. La base de datos de autenticación se especifica a través del registro en la variable de entorno «XAUTHORITY» del usuario

~ $ echo $ XAUTHORITY
/ var/run/gdm3/auth- for-luke-YNHNQO/database
~ $ xauth lista
luke-debian/unix: 0 MIT-MAGIC-COOKIE-1 5c020018148f8ed8429a60f77559bfcf

La cookie « 5c020018148f8ed8429a60f77559bfcf» en la base de datos de autenticación de usuario que coincida con el que está en la base de datos de autenticación del servidor X
Entonces gdm3 entonces intentará iniciar una sesión X para usted. Básicamente, x-session es sólo un montón de aplicaciones cliente de X, lo que constituye un entorno de escritorio. Antes de la puesta en marcha del gestor de sesiones específicas de escritorio, gdm3 aplicará scripts de configuración de X relacionada genéricas establecida en un nombre de paquete «X11-común». Un script de shell en « / etc/X11/Xsession » será ejecutado. Este script a su vez se ejecuta todos los scripts de «/ etc/X11/Xsession.d», para configurar un componentes comunes para todos los entornos de escritorio. «Hombre Xsession» le dará suficiente información para personalizar Xsession. «/ Etc/X11/Xsession.options» es el archivo para personalizar el comportamiento de la sesión X.

total de 64

-rw-r – r – 1 root root 878 13 de octubre 2010 30×11-common_xresources

-rw-r – r – 1 root root 389 28 de enero 2012 35×11-common_xhost local
-rw-r – r – 1 root root 187 02 de febrero 2009 40×11-common_xsessionrc

-rw-r – r – 1 root root 683 21 de abril 2011 55gnome-session_gnomerc

-rw-r – r – 1 root root 58 07 de mayo 2013 60xbrlapi
-rw-r – r – 1 root root 80 31 de julio 2011 60xdg-user-dirs- actualización

Courier New, Courier, monospace; font-size: x-small;»>-rw-r – r – 1 root root 368 12 de junio 21:25 75dbus_dbus-lanzamiento

-rw-r – r – 1 root root 1027 01 de marzo 2012 90consolekit
-rw-r – r – 1 root root 591 09 de octubre 07:08 90gpg agente
-rw-r – r – 1 root root 355 30 de septiembre 2012 90qt-a11y

Courier New, Courier, monospace; font-size: x-small;»>-rwxr -xr-x 1 root root 1563 01 de abril 2013 98vboxadd-XCLIENT

-rw-r – r – 1 root root 166 16 de enero 2009 99×11-common_start

Xsession comenzará estos guiones seguidos. « 50×11-common_determine-startup»
determinar qué escritorio específico entorno para empezar en « 99×11-common_start «, después de la configuración común ha terminado. El seleccionado lollow hasta gestor de sesiones de escritorio es la tienda en «Inicio» variable.

inherit;»> «INICIAL» se determina a continuación la secuencia de prioridad. Lo que ocurra primero estará en vigor para determinar el seguimiento de administrador de sesión.

inherit;»> a. los valores establecidos por gdm3 través del registro en la ventana (se describirán más adelante)

luke luke @ debian :/ usr / share / xsessions $ ls-l

total de 24
-rw-r – r – 1 root root 6747 10 de abril 2013 gnome.desktop
-rw-r – r – 1 root root 5440 10 de abril 2013 gnome-fallback.desktop

Courier New, Courier, monospace; font-size: x-small;»>-rw-r- -r – 1 root root 113 30 de noviembre 2010 wmii.desktop

luke luke @ debian :/ usr / share / xsessions $ cat wmii.desktop
[Escritorio Entrada]
Encoding = UTF-8

Courier New, Courier, monospace; font-size: x-small;»> Comentario = Gestor de ventanas mejorada 3

Courier New, Courier, monospace; font-size: x-small;»> Icon = wmii.png

Tipo = XSession
luke luke @ debian :/ usr / share / xsessions $ gnome.desktop gato | grep Exec =
Exec = gnome-session
TryExec = gnome-session
luke luke @ debian :/ usr / share / xsessions $ cat gnome-fallback.desktop | grep Exec =
Exec = gnome-session-fallback
TryExec = gnome-session
luke luke @ debian :/ usr / share / xsessions $ cat kde-plasma.desktop | grep Exec =
Exec = / usr / bin / startkde
TryExec = / usr / bin / startkde

wmii, gnome-session, startkde será el tres gestor de sesiones para el escritorio wmii, Gnome3 y KDE. «Hombre wmii» / «hombre gnome-session» / «hombre startkde» le dará suficiente información sobre los administradores de sesión. En este post, vamos a utilizar Gnome3 como ejemplo, por lo que nos centraremos en «gnome-session».

B. gnome-session

El gnomo archivos específicos de definición de sesión residen en «/ usr / share / gnome-session / sesiones». La sesión gnome por defecto es «gnome.session».

luke luke @ -debian :/ usr / share / gnome-session / sesiones $ ls
gdm -fallback.session gdm-shell.session gnome-fallback.session gnome.session
luke luke @ debian :/ usr / share / gnome-session / sesiones $ cat gnome.session
[GNOME Sesión]
Name = GNOME
……….
RequiredComponents = gnome-shell, gnome-settings-daemon,
IsRunnableHelper = / usr / lib / gnome-session / gnome-session-check acelerados
FallbackSession = gnome-fallback

Podemos ver el gnome.session comenzará «gnome-shell» y «gnome-settings-daemon», dos programas que proporcionan el 3 de escritorio GNOME.

el «gdm-fallback.session» se utiliza para mostrar el nombre de usuario GUI mínimo por gdm3.

luke luke @ debian :/ usr / share / gnome-session / sesiones $ cat gdm-fallback.session
[GNOME Sesión]
Name = Display Manager
RequiredComponents=gdm-simple-greeter;gnome-settings-daemon;polkit-gnome-authentication-agent-1
RequiredProviders = windowmanager;
defaultProvider-windowmanager = metaciudad

compatible 2. entorno de escritorio Manual puesta en marcha a través de «startx»

Hemos analizado el proceso de inicio de escritorio inicializado por «gdm3». Si ha iniciado sesión en el sistema utilizando el terminal de texto, se puede iniciar un escritorio gráfico usando «startx». «startx» básicamente sigue el mismo proceso de gdm3, con alguna pequeña diferencia.

Para que aparezca . un escritorio gráfico, startx necesita comenzar a ambos-clients x (componentes de escritorio como 3/kde gnome) y un servidor de X Si usted no proporciona ningún parámetro para startx, inicie el proceso de default para arriba es la siguiente:

startx —-> xinit —–> $ HOME / .xinitrc o / etc/X11/xinit/xinitrc—> / etc/X11/Xsession
|
——> $ HOME / .xserverrc o / etc/X11/xinit/xserverrc—> / usr / bin / X

«xinitrc» se utiliza para iniciar los clientes, y «xserverrc» se utiliza para iniciar el servidor X

luke luke @ debian :/ etc/X11/xinit $ ls
xinitrc xinput.d xinputrc xserverrc
luke luke @ debian :/ etc/X11/xinit $ cat xinitrc
# / bin / sh

# / etc/X11/xinit/xinitrc
#
# xinitrc global, utilizado por todas las sesiones iniciadas por xinit X (startx)
# invocar guión sesión X mundial
. / etc/X11/Xsession
luke luke @ debian :/ etc/X11/xinit $ cat xserverrc
#! / bin / sh

exec / usr / bin /-X nolisten tcp» $ @ «

Podemos ver el comportamiento predeterminado de startx es para iniciar un servidor X estándar (desactivar tcp puerto de escucha ), y para iniciar los clientes el uso de «/ etc/X11/Xsession». Así cliente inicia seguirá el procedimiento exacto como en los casos GDM3. Puede proporcionar su x cliente personal en «$ HOME /. xinitrc «y un servidor en» $ HOME / .xserverrc «.

tanto, si usted desea comenzar un otro entorno de escritorio que no es el predeterminado , usted puede cocinar su propia «$ HOME / .xinitrc», o «$ HOME / .xsession.» El cambio de «. xsession» es eficaz para ambos «startx» y «gdm3/kdm», por lo que . preferiría «. xsession» a «. xinitrc» Algunos ejemplos a continuación:

~ $ cat. xsession
#! / usr / bin / bash env

wmii # exec
ejecutivo gnome-session
# startkde ejecutivo

Al ejecutar «startx -: 0» o seleccione «defecto del sistema» en el registro de gdm3 en la ventana, el encargado de la sesión seleccionada en se pondrá en marcha «. xsession».

3. wmii (gestor de ventanas mejorado)

wmii />
luke luke @ debian: ~ $ pstree-sunpl 21725
init(1)───gdm3(2713)───gdm-simple-slav(21630)───gdm-session-wor(21701)───wmii(21725,luke)───ssh-agent(21798)
Luke luke @ debian: ~ $ pgrep iceweasel

25844 luke luke @ debian: ~ $ -pstree sunpl 25844
init (1) ─ ─ ─ wmiirc (25.785, lucas) ─ ─ ─ iceweasel (25844) ─ ┬ ─ {} iceweasel (25846)
├ ─ {} iceweasel (25847)
├ ─ {} iceweasel (25848)
├ ─ {} iceweasel ( 25849)

luke luke @ debian: ~ $ ps
PID TTY TIEMPO CMD
10.793 pts / 0 00:00:00 ps
21.947 pts / 0 00 : 00:00 fiesta
luke luke @ debian: ~ $ pstree-sunpl 21947
init(1)───wmiirc(21940,luke)───/usr/bin/x-term(21941)───bash(21947)───pstree(10878)


wmii se inicia por gdm3. Ejecuto dos aplicaciones, una x plazo, un navegador www «iceweasel». Todos ellos están dirigidos por «wmiirc».

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *