¿Cuál es la diferencia entre un sistema con juego de console y el que no lo tiene?

Antes que nada, estoy usando el sistema de testing Debian con Openbox independiente. No tengo systemd, solo sysvinit, y ciertamente no usaré systemd.

Ayer, mi buzón de Debian comenzó a enviar posts como los siguientes:

Jun 14 18:08:10 morfikownia login[4722]: pam_unix(login:session): session opened for user morfik by LOGIN(uid=0) Jun 14 18:08:10 morfikownia dbus[4391]: [system] Activating service name='org.freedesktop.ConsoleKit' (using servicehelper) Jun 14 18:08:10 morfikownia dbus[4391]: [system] Activated service 'org.freedesktop.ConsoleKit' failed: Failed to execute program org.freedesktop.ConsoleKit: Success ... Jun 14 18:08:19 morfikownia pulseaudio[4855]: [pulseaudio] sink.c: Default and alternate sample rates are the same. Jun 14 18:08:19 morfikownia pulseaudio[4855]: [pulseaudio] source.c: Default and alternate sample rates are the same. Jun 14 18:08:20 morfikownia dbus[4391]: [system] Activating service name='org.freedesktop.ConsoleKit' (using servicehelper) Jun 14 18:08:20 morfikownia dbus[4391]: [system] Activated service 'org.freedesktop.ConsoleKit' failed: Failed to execute program org.freedesktop.ConsoleKit: Success Jun 14 18:08:20 morfikownia pulseaudio[4855]: [pulseaudio] module-console-kit.c: GetSessionsForUnixUser() call failed: org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program org.freedesktop.ConsoleKit: Success Jun 14 18:08:20 morfikownia pulseaudio[4855]: [pulseaudio] module.c: Failed to load module "module-console-kit" (argument: ""): initialization failed. Jun 14 18:08:20 morfikownia pulseaudio[4855]: [pulseaudio] main.c: Module load failed. Jun 14 18:08:20 morfikownia pulseaudio[4855]: [pulseaudio] main.c: Failed to initialize daemon. 

Además, cada command su genera el siguiente logging:

 Jun 14 18:08:50 morfikownia su[6043]: Successful su for root by morfik Jun 14 18:08:50 morfikownia su[6043]: + /dev/pts/2 morfik:root Jun 14 18:08:50 morfikownia su[6043]: pam_unix(su:session): session opened for user root by (uid=1000) Jun 14 18:08:50 morfikownia dbus[4391]: [system] Activating service name='org.freedesktop.ConsoleKit' (using servicehelper) Jun 14 18:08:50 morfikownia dbus[4391]: [system] Activated service 'org.freedesktop.ConsoleKit' failed: Failed to execute program org.freedesktop.ConsoleKit: Success 

Logré solucionar estos problemas.

En el caso de PulseAudio, acabo de comentar estas líneas del file /etc/pulse/default.pa :

 ### If autoexit on idle is enabled we want to make sure we only quit ### when no local session needs us anymore. #.ifexists module-console-kit.so #load-module module-console-kit #.endif #.ifexists module-systemd-login.so #load-module module-systemd-login #.endif 

En el caso de todo lo demás, tuve que ejecutar pam-auth-update y desactivé ConsoleKit Session Management :

  PAM profiles to enable [ ] encfs encrypted home directories [*] Unix authentication [ ] Mount volumes for user [*] GNOME Keyring Daemon - Login keyring management [ ] ConsoleKit Session Management [ ] Inheritable Capabilities Management 

Y se necesitaba un pequeño cambio en el file ~/.xinitrc :

 #exec ck-launch-session dbus-launch --sh-syntax --exit-with-session openbox-session exec openbox-session 

porque cuando estaba tratando de verificar una list de sesiones, recibí el siguiente error:

 $ ck-list-sessions ** (ck-list-sessions:15584): WARNING **: Failed to get list of seats: Failed to execute program org.freedesktop.ConsoleKit: Success 

No hay errores ahora, pero no tengo idea de qué cambios pueden ocasionar estos pasos. Sé que el juego de console está muerto de una manera u otra, así que esto finalmente sucederá de todos modos. Mientras tanto, estoy leyendo esta pregunta para entender qué sucederá después de este cambio, pero no consigo muchas cosas.

Permite cambiar de usuario sin cerrar la session [muchos usuarios pueden iniciar session en el mismo hardware al mismo time con un usuario activo].

Puedo hacer su user , y cambia sin problemas:

 Jun 15 10:36:57 morfikownia su[103349]: Successful su for morfik2 by morfik Jun 15 10:36:57 morfikownia su[103349]: + /dev/pts/5 morfik:morfik2 Jun 15 10:36:57 morfikownia su[103349]: pam_unix(su:session): session opened for user morfik2 by (uid=1000) 

También puedo registrar muchos usuarios en via ssh. Entonces, ¿dónde está la ventaja de usar consolekit? ¿Podría decirme si eliminarlo puede causar problemas de security y cómo puedo ver el cambio? Porque parece que nada ha cambiado.

Solutions Collecting From Web of "¿Cuál es la diferencia entre un sistema con juego de console y el que no lo tiene?"

Permite cambiar de usuario sin cerrar la session [muchos usuarios pueden iniciar session en el mismo hardware al mismo time con un usuario activo].

Creo que el juego de console proporciona un mecanismo para que las aplicaciones determinen qué usuario está activo , es decir, sentado frente a la computadora. Esto difiere del conmutador de su user de esta manera:

  • Su computadora tiene un asiento asignado con mouse, keyboard, pantalla, micrófono, camera y audio.
  • Te sientas en tu computadora e inicias session a través de una console virtual (VC) / administrador de inicio de session gráfico (GLM).
  • Bloquea su session y luego se va.
  • Alguien más se sienta e inicia session a través de un segundo VC / GLM.
  • Ahora dos usuarios están conectados (dos sesiones), pero solo el segundo está activo .

¿De quién son los processs que ahora tienen acceso al hardware? Ciertamente no desea que el segundo usuario inicie un progtwig de grabación que retiene el acceso al micrófono / camera / keyboard cuando vuelve a su session.

Aunque no estoy seguro de si consolekit quita el acceso al hardware de los processs, al less permite que un process sea un "buen ciudadano" y libera hardware cuando la session cambia.

Inicios de session remotos y su

ssh y su - user no se ven afectados por consolekit. Consolekit está destinado a administrar sesiones para asientos. Un asiento es una colección de dispositivos físicos (mouse, keyboard, pantalla, etc.) asignados a dicho asiento. Se crea una session cuando un usuario inicia session en dicho asiento. Un asiento puede tener muchas sesiones, y consolekit rastrea esas sesiones y notifica los processs (que escuchan) a través de DBUS cuando la session cambia.

Restricciones de cierre multiusuario

Consolekit también se puede usar junto con Policykit para evitar que los usuarios cierren el sistema cuando hay varias sesiones abiertas (más de un usuario conectado).

¿Por qué usar consolkit?

Para un sistema de usuario único, el kit de console no tiene ningún uso. Si tiene una familia que comparte una sola computadora, permite que todos puedan iniciar session y cambiar de usuario sin desconectarse y sin interferir con el acceso al hardware. IIRC, cada usuario tiene su propia instancia xserver también.

Alternativas

No conozco ninguna alternativa a consolekit o systemd. Si necesita esta funcionalidad, puede considerar horquillar el kit de console.