screenshot pantalla inicio linux

[LINUX] Capturar pantallas de otro «display»


Hasta la fecha, cuando necesitaba hacer capturas de pantalla de la ventana de login optaba por:

  1. utilizar VirtualBox y arrancar el sistema de archivos físico de mi ordenador
  2. usar Xnest para iniciar un login en una ventana y poder usar la herramienta de captura de pantalla de mis sistema

Sin embargo, el otro día, para poder capturar el bloqueo de pantalla que produce la herramienta para el descanso de escritura que ofrece la configuración del teclado de nuestras distribuciones Linux, no me servían ninguna de las opciones anteriores así que me tocó añadir un nuevo «truco» a nuestra caja de herramientas…

Y no es tan complicado como puede parecer.

Para capturar una imagen con el contenido de cualquier TTy, me bastó con:

  1. cambiar de terminal (un simple CTRL+ALT+F2 o similar es más que suficiente)
  2. lanzar el comando

    chvt 1; DISPLAY=:0 import -window root -format png /tmp/captura.png;chvt 2

donde:

  • chvt permite cambiar (CHange) el terminal virutal (VT). Yo inicié sesión en modo texto en el 2 (porque el gráfico se inicia en mi Manjaro Linux actual en el 1) así que nos cambiamos al tty1 (donde está el modo gráfico iniciado) con chvt 1 y nos volvemos al entorno en modo texto del tty2 (cuando termine la captura de pantalla) con el chvt 2 del final.
  • DISPLAY=:0 asigna a la variable display el primer display de mi máquina local (no tengo otro, pero se lo indicamos de todos modos)
  • IMPORT comando de ImageMagick que nos va a permitir anotar en fichero el contenido de cualquier ventana de nuestro X server o, como en nuestro caso, el escritorio completo
  • -window root es para hacer la captura de pantalla completa (en lugar de una ventana concreta)
  • -format png para elegir el formato de la captura de pantalla (por defecto lo captura en modo raw)
  • /tmp/captura.png donde queremos guardar la captura de pantalla que vamos a generar

Y listo, ya tenemos la posibilidad de capturar cualquier pantalla en Linux sin necesidad de iniciar sesión siquiera 😉

Conclusión

Comando para capturar pantallas de cualquier sesión gráfica que espero os sea de utilidad como me lo es a mi.

Y tú…

  • ¿Eres de los que haces fotos a tu monitor cuando quieres una imagen de la ventana de login del sistema? 😂
  • ¿Conoces otras formas de hacer lo mismo?
  • ¿Conocías el comando chvt?
  • ¿Qué es lo más raro que has hecho con el servidor X de tu sistema?

2 comentarios en “[LINUX] Capturar pantallas de otro «display»

    1. Oye… pues no se me había ocurrido tamaña «maldad» 🤣

      Eso sí, quitamos el «change virtual terminal» (chvt) para que no dé saltos la pantalla.

      Buscaré hueco para probarlo 😉👍🏻

      Me recuerda cuando se me pasó por la cabeza usar el micrófono de ciertos equipos remotamente para grabar el sonido «de ambiente» 😅😇

      Me gusta

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.