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 :-)

Share

  • Gonal Sallan i Baso

    Lección magistral, como siempre… Muchas gracias.

    • http://gespadas.com Gregorio Espadas

      Un gusto poder ayudar. ¡Saludos!

  • moh

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

    • http://gespadas.com Gregorio Espadas

      Es agradable saber que mi explicación pudo ayudarte para comprender este cambio, ¡saludos!

  • Tanrax

    ¿Y como sabe mi Arch que escritorio tiene que lanzar? (Gran Post ;) )

    • http://gespadas.com Gregorio Espadas

      ¡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.

  • Lolo

    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?

    • http://gespadas.com Gregorio Espadas

      A veces lo hacen, a veces no. Quizás sea por falta de tiempo, o por que asumen que sabemos lidiar con los efectos laterales de cada cambio.

      Se agradecen tus palabras, ¡saludos!

      • Lolo

        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…

  • kik1n

    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.

    • http://gespadas.com Gregorio Espadas

      Puedes crearlo desde cero, o bien, copiar el “esqueleto” que te proporciona Archlinux:

      cp /etc/skel/.xinitrc .

      Aquí tengo un ejemplo de .xinitrc » http://pastebin.com/2UpyqiFu

      ¡Saludos!

  • Alejandro Fabrega

    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!

    • http://gespadas.com Gregorio Espadas

      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!

      • Alejandro Fabrega

        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!

        • http://gespadas.com Gregorio Espadas

          Lo único que se me ocurre es que reinstales pango.

          • Alejandro Fabrega

            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!

          • http://gespadas.com Gregorio Espadas

            Avísanos para checar ese tuto. ¡Éxito!

          • Alejandro Fabrega

            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. :)

          • http://gespadas.com Gregorio Espadas

            ¡Genial! Saludos :-)

  • Pingback: ConsoleKit es reemplazado por systemd-logind en ArchLinux ← Archlinux Uruguay()

  • http://twitter.com/thearcherblog thearcherblog

    Gespadas: Manteniendo informada y tranquila a la comunidad :)

    Muchas gracias compañero!!!!

    • http://gespadas.com Gregorio Espadas

      ¡Gracias hermano por siempre leerme!

  • Tanrax

    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.

    • http://gespadas.com Gregorio Espadas

      Verifica que esos botones que mencionas ahora ejecuten las instrucciones apropiadas para systemd.

      • Tanrax

        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

  • Jairo Alonso Velásquez

    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ó?

  • Luis García

    SI usas vnc como yo (Tigervnc o similar) no es recomendable quitar esa linea en .xinitrc

  • Jose Donaldo sanchez

    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

    • http://gespadas.com Gregorio Espadas

      Verifica que tengas instalados todos los siguientes paquetes: consolekit, udev (incluido en systemd) udevil, udisks, udiskie, ntfs-3g, polkit-gnome, gvfs, gamin.

      • Jose Donaldo sanchez

        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

  • http://twitter.com/Leproso_Ivan Iván Escobares

    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?

    • http://gespadas.com Gregorio Espadas

      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.

  • Fase 2

    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???

  • http://abr4xas.org abr4xas

    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.