ConsoleKit es reemplazado por systemd-logind en ArchLinux

¡Más cambios en ArchLinux! Hoy amanecimos con la tremenda noticia de que ConsoleKit ha sido eliminado de los repositorios oficiales, y que toda su funcionalidad ahora es responsabilidad de systemd-logind.

¡El pánico se apodera de todos los archeros del mundo! ¡Es el apocalipsis que los mayas predijeron! … Jajaja, nada más alejado de la realidad. Sin embargo, el anuncio es demasiado escueto y no proporciona mayores detalles sobre las implicaciones de este cambio, así que me puse a investigar de inmediato y a hacer varias pruebas. Aquí el resultado.

¿Qué rayos es eso de ConsoleKit y systemd-logind?

Por si no lo sabías, ConsoleKit era utilizado para dos cosas principalmente: Permitir a usuarios normales (no root) montar dispositivos removibles (como pendrives o memorias USB), así como permitir suspender, reiniciar y apagar el sistema. Incluso, es muy probable que en tu archivo ~/.xinitrc tengas algo como ésto:

exec ck-launch-session openbox-session

El “ck-launch-session” era lo que permitía que tu usuario pudiera hacer lo que mencioné previamente. Ahora el encargado de hacerlo es systemd-logind, y aunque este detalle no se menciona en el anuncio oficial, si podemos encontrarlo en una reciente modificación en la wiki de Arch, y cito textualmente:

All PolicyKit actions like suspending the system or mounting external drives will work out of the box.

¡Así que no hay nada que temer! Sólo hay un “pequeño” requisito… ¡ya estar usando systemd!

Como observación adicional, con logind las X (el entorno gráfico) se ejecutan en el mismo tty donde se inició sesión, mientras que con ck-launch-session se creaba una nueva sesión.

¿Qué implica que ConsoleKit ya no esté en los repositorios?

En instalaciones existentes, al actualizar el sistema no se eliminará ConsoleKit, o sea, que aún puede seguirse usando, aunque ya no tiene sentido.

En instalaciones nuevas, ya no podrá instalarse ConsoleKit (aunque parece que pronto estará disponible desde AUR, pero repito, no tiene sentido), lo cual implícitamente nos estará obligando a realizar una instalación basada en systemd.

¿Qué cambios debo hacer en mi sistema?

No mucho. Primero, ¡actualiza!

sudo pacman -Syu

Es muy importante actualizar, para que los últimos cambios se apliquen, pues incluyen paquetes a los cuales se les ha eliminado su respectiva dependencia con ConsoleKit.

Ahora, ya puedes eliminar ConsoleKit, no debes tener problemas de dependencias.

sudo pacman -R consolekit

En caso de ser necesario, no olvides eliminar “ck-launch-session” de tu archivo ~/.xinitrc.

Eso es todo, ya puedes reiniciar y verificar que todo funcione bien.

Adicionalmente, les recomiendo usar el siguiente comando para ver información sobre la sesión actual.

loginctl

Para información más detallada, pueden usar lo siguiente.

loginctl show-session $XDG_SESSION_ID

¿Eso es todo?

¡Si! Bye bye ConsoleKit :-)

35 thoughts on “ConsoleKit es reemplazado por systemd-logind en ArchLinux”

  1. El otro día estuve leyendo sobre esto y no supe entender nada. Claro que mi nivel es muy novato.
    Muchas gracias, de nuevo!!

    1. ¡Gracias! Si te fijas, en el ejemplo que puse en el post, se lanza Openbox. Simplemente hay que reemplazar openbox-session por el que gustes: gnome-session, startkde, startxfce4, etc.

  2. Recientemente tenía problemas a la hora de montar unidades USB y era por esto.

    Cuando en la web de Arch aparece una noticia ¿Por qué narices no explican las cosas tan claras como lo haces tu?

      1. Gracias a ti.

        Y no abandones tu blog, si lo hicieras la mitad de los usuarios de Arch del mundo se perderían entre tanta configuración…

  3. Siempre es un gusto leer tus tutos gespadas :D
    Saludos.

    Solo que, no encuentro el archivo ~/.xinitrc ja.
    nano ~/.xinitrc y no hay nada, sudo nano ~/.xinitrc.

  4. Gracias a tu tutorial pude migrar a systemd, pero, pero… Ahora no puedo iniciar openbox (tengo archbang). Cuando trato de iniciar desde Slim me tira: “failed to execute login command”. Estuve buscando bastante, pero no encontré nada para solucionarlo. ¿Alguna sugerencia? ¡Desde ya, muchas gracias!

    1. El problema está en SLiM, pues aún depende de ConsoleKit. Mi recomendación es usar otro DM por un tiempo, o bien, bootear a la terminal e iniciar Openbox con startx (así yo lo hago de manera predeterminada). ¡Saludos!

      1. Gregorio: ¡Gracias por contestar! al tratar de iniciar Openbox con startx, me da un error con libpango: /usr/lib/libpango-1.0.so.0: undefined symbol: g_object_replace_qdat . Buscando encontré que se podía solucionar con instalando pangox-compat. Lo instalé, pero aún así no puedo iniciar openbox. (Esto es lo que estuve investigando en el “mientras tanto”)
        Si tenés alguna idea te lo voy a agradecer. ¡Exitos y nuevamente gracias!

          1. Ya reinstalé pango sin mejores efectos… :(. Pude arrancar con pekwm y desde ahí trabajar mas cómodo. No es problema de openbox, sino de todo lo que use las librerias pango (libpangocairo por ejemplo) por lo que tampoco funciona firefox, GIMP ni pcmanfm ya que todos largan errores relacionados con libpangocairo. Me juego que debe ser algún enlace a una biblioteca o simlar, pero voy a seguir investigando y apenas lo solucione, escribo un tuto. ¡Muchas gracias!

          2. Se resolvió el problema con una nueva actualización. Así que safo de escribir el tutorial. ¡Jajajaja!
            Abrazos y mil gracias por darme una mano. :)

  5. Desde que introduje el cambio me ha desaparecido los botones de apagar y reiniciar en mi lxde. ¿Alguien le ha sucedido algo parecido? Me buscado soluciones en foros y no he encontrado nada al respecto.

      1. El problema es que no los tengo, solo: suspender, hibernar y cerrar sesión. Me han desaparecido Antes de este cambio los tenía :P

  6. Amigo tengo una duda, porque no puedo acceder a las tty’s con CRTL+ALT+(F1 al F6) como antes?

    Es decir esta combinación de teclas no hace nada. . . . Esto tambien cambió?

  7. he hecho eso que dices y nada que monta las unidades usb ni disco externo. veo que tambien el applet de networmanager no funciona, tambien muchos inconos no se visualizan. veo un desorden grande. que mas me falta hacer? uso xfce, creí que era thunar, pero instale nautilus y no monta nada. esto es lo que dice al querer montar: Not authorized to perform operation. Ayudame por favor Gespadas

      1. Gespadas he verificado esos paquetes, me hacía falta consolekit udev, udevil, udiskie y los instale, los otros estaban instalados, pero igual no funciona no monta los discos externos. Archlinux ya actualizo sytemd, tengo que hacer algo manual? muchas gracias por ayudarme, yo te agradezco muchisimo

  8. Qué tal Gregorio. Sabes que tengo un problema?! Desde hará una semana, cuando actualicé el sistema, me quedé sin poder apagar ni reinciar ni salir de la sesión desde oblogout en Openbox. Sé que no tengo el parámetro ck-launc… porque no uso xinitrc. Actualmente uso KDM, porque también frecuento KDE, donde si puedo hacer las funciones antes mencionadas. A demás, desde la opción ya definida en el menú de openbox, el salir “exit”, no sale, solo traba el escritorio pero sin los bordes de las ventanas, y no abre el menú al pulsar click derecho.

    Alguna idea?

    1. En /etc/oblogout.conf debes definir lo siguiente:

      shutdown = systemctl poweroff
      restart = systemctl reboot
      suspend = systemctl suspend
      hibernate = systemctl hibernate

      Y lo de exit de openbox ya lo había notado, y varios me lo han mencionado. Debe tratarse de un bug.

  9. Saludos Gespadas.

    Una cosilla a ver si me puedes ayudar y es que con el remplazo de Consolekit no puedo montar mi partición Windows desde Thunar.

    Anteriormetne se me abría una ventana para poner mi contraseña pero ya no sale.

    ¿Acaso hice algo mal???

  10. Hola Gregorio,
    Grandioso el post pero de igual forma sigo sin poder “montar” las unidades USB actualmente estoy usando openbox con razor-qt alguna sugerencia? Gracias y que estes muy bien.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>