Como usuarios, seguro que por herencia de Microsoft Windows, casi siempre utilizamos la tecla Imprimir Pantalla para tomar capturas de nuestro escritorio o pantalla. Generalmente, nuestro entorno de ventanas tiene un programa configurado en esa tecla que nos permite guardar una imagen en el portapapeles o directamente en un fichero.
Pero claro, los usuarios de GNU/Linux, otra cosa no, pero tenemos cientos de opciones para cualquier cosa. Y, claro, en según qué ocasión, nos viene mejor una forma u otra de hacer las cosas. Sobre todo cuando estamos utilizando LiveCDs, LiveDVDs o LiveUSBs, en los que los programas a utilizar son limitados o queremos automatizar de alguna forma la toma de capturas de pantalla para adaptarla a nuestro modo de trabajo, cosa que es más difícil de hacer en otros sistemas.
Tabla de contenidos
Imprimir pantalla
Entornos de ventanas como KDE Plasma, Gnome, Cinnamon o XFCE vienen con programas que, automáticamente pulsando la tecla Imprimir Pantalla / Print Screen crean automáticamente la captura de la pantalla al completo, sin que tengamos que hacer nada. Vale, esta es la más sencilla y no tengo mérito ninguno en decirla, pero quería llegar a 10 maneras 🙂
Claro, esta forma nos permite lanzar una captura de pantalla si estamos delante del ordenador y, aunque está integrada en el entorno de ventanas, no nos permite mucha personalización. A veces, los programas para realizar capturas son muy pesados y nos causan una demora de varios segundos (además de la demora para realizar la captura), por lo que, cuando estamos haciendo muchas capturas puede resultar algo incómodo. Además, si por casualidad queremos hacer una captura de pantalla remota, muchos de estos programas no nos permitirán hacerla.
¿Para qué quiero una captura remota? Sobre todo por temas de asistencia técnica, cuando me basta con una captura de pantalla y no me apetece hacer una conexión por VNC, Teamviewer o software similar.
ImageMagick
Las herramientas de ImageMagick también nos permiten realizar una captura de pantalla y almacenarla, de forma sencilla y directamente desde la línea de comando. Simplemente haciendo:
Se nos cambiará el cursor y cuando hagamos click sobre una ventana, vamos a crear un archivo llamado captura.jpg con la imagen de dicha ventana, aunque podemos crear casi cualquier tipo de imagen, ya que ImageMagick soporta decenas de formatos (png, miff, tiff, tga, etc).
Pero no todo acaba ahí, si queremos capturar la pantalla completa, sin preguntar por la ventana, podemos hacer:
O incluso utilizar más opciones como:
En este caso, capturaremos la pantalla completa (-window root), y nos quedaremos solo con una región de 1920×1080 (-crop 1920×1080+0+0, esto puede ser útil si el ordenador tiene dos pantallas y solo queremos la de la izquierda), el fichero resultante lo comprimiremos a un 95% de calidad (-quality 95) y antes de hacer la captura esperar 2 segundos (-pause 2). En este sentido podemos hacer muchas cosas, como redimensaionar la captura de pantalla resultante un 50% (si incluimos -resize 50%). Aunque algo interesante de import
Otra opción es preguntar de forma interactiva por una región en pantalla, de la siguiente manera:
Por supuesto, podemos utilizar todos los argumentos que he puesto antes para afinar la ejecución del comando. Por último, algo que me encanta, es la posibilidad de crear múltiples capturas de pantalla todas seguidas, para hacer un time-lapse de la pantalla, de esta forma:
Esta línea primero pedirá que seleccionemos la ventana que queremos capturar. Tras hacer click, empezará a hacer una captura cada segundo, hasta 100 generando los ficheros captura-0.jpg, captura-1.jpg, captura-2.jpg, etc; lo malo es que no permite intervalos con decimales, es decir, no permite 0.5 o 1.5 segundos, por lo que no es un buen método para obtener precisión, pero sí para hacer una colección de capturas de pantalla, por ejemplo si estamos haciendo un tutorial, tenemos varias pantallas preparadas y más o menos tardamos 10 segundos en cambiar de una a otra, podemos ir cambiando las pantallas sin preocuparnos de pulsar teclas para hacer las capturas. Esto también lo podemos poner en un pequeño vídeo:
Aquí hacemos 20 capturas de pantalla (una cada segundo) que exportamos como jpg, esto se lo pasamos a ffmpeg para que lo guarde como vídeo a 3 fotogramas por segundo. Lo bueno es que lo podemos centrar en una ventana o crear un gif animado si queremos.
Como dato extra, podemos seleccionar desde consola la ventana que vamos a capturar (siempre que el gestor de ventanas la tenga mostrada, si está minimizada podemos tener problemas). Para ver las ventanas disponibles podemos ejecutar:
El número a la izquierda es el ID de la ventana, así que podremos ejecutar:
Y sólo capturaremos la ventana especificada con la decoración de nuestro sistema de ventanas (-frame), y por supuesto, podemos mezclarlo con la pipe de ffmpeg para crear un vídeo.
El problema con import es que dependiendo del sistema, el driver gráfico, la composición o el entorno de ventanas, o incluso las versiones de los programas, puede dar problemas o no capturar exactamente lo que hay en la pantalla. Aunque siempre está bien tener las utilidades de ImageMagick por aquí.
Gimp
Este programa nos permite tomar la captura de pantalla de manera interactiva. Tiene pocas opciones, pero hace bien su trabajo. Yo diría que es el método que menos problemas me ha dado, aunque sí es el más lento en hacer su trabajo si lo que queremos es simplemente capturar la pantalla. Gimp tarda mucho en iniciarse debido al gran número de opciones que tiene el programa, aunque luego puedes editar la captura, dibujar sobre ella, escribir aclaraciones, etc. Si sólo vas a utilizarlo una vez no pasa nada, pero si es costumbre realizar capturas y editar el resultado, puede terminar cansando a cualquiera. A mí me hace sentir como que mato moscas a cañonazos.
shutter
Si usas Gnome o, al menos, tienes las bibliotecas de gnome instaladas puedes utilizar Shutter. Una aplicación interactiva para crear capturas de pantalla que nos permite tomar varias capturas de pantalla, almacenarlas en una sesión, incluso subirlas a Internet, todo de una forma muy intuitiva. Tiene numerosos plugins que permiten aplicar algunos efectos o automatizar algunas tareas.
Lo malo de shutter es que tiene muchas dependencias, y es un programa más o menos grande, con muchas opciones y en el momento menos pensado, cuando vas con prisa se pone a buscar actualizaciones. Incluso puede que en algunos sistemas no funcione correctamente.
Flameshot
Flameshot es un gran software para realizar capturas de pantalla. Otro programa interactivo más, sólo que este nos permite editar la captura, dibujar sobre ella de forma interactiva y muy fácil. Es un programa que merece la pena probar, con muchas opciones de personalización y que nos permitirá hacer capturas de pantalla para tutoriales de forma muy sencilla.
Es un programa muy joven y aún quedan cosas por pulir. No se lleva bien con algunas configuraciones o drivers gráficos. Por ejemplo, en la versión de Enero de 2018 tengo problemas trabajando a dos pantallas, pero tiene buena pinta y el programa promete. Está basado en Qt y no tiene excesivas dependencias. Además, desde la línea de comando podemos hacer muchas cosas.
scrot
A pesar de lo feo de su nombre cuando lo pronuncias en español es un gran programa de captura de pantalla. Muy bueno si vamos a realizar alguna automatización o captura remota en lugar de import. Permite capturar con mejor calidad, incluso cuando otros programas fallan al capturar. Además, la selección de región es algo mejor (aunque tampoco perfecta). Además nos permite ejecutar un programa con la imagen capturada de forma sencilla. Para hacer una captura, podemos ejecutar el programa tal cual:
Especificar el nombre del archivo:
O podemos seleccionar de forma interactiva una ventana o una región (con -s), el argumento -b cogerá cambién el borde de la ventana:
maim
Es una evolución de scrot, que permite selecciones avanzadas de pantalla gracias a slop. El programa es muy rápido y permite poder automatizar nuestro trabajo bastante. Eso sí, no podremos instalarlo en todos los sistemas, sólo en distribuciones actualizadas, ya que algunas características de las bibliotecas que utiliza no estaban disponibles hace unos años. Maim nos permite hacer capturas ejecutándose directamente y especificando el fichero (como scrot), además, permite cosas como esta:
En este caso hacemos una captura de pantalla seleccionando de forma interactiva la región o la ventana a capturar (-s), resaltamos con un color especificado (-c 0.1,0.6,0.4,0.3 es formato RGBA entre 0 y 1), mostramos el cursor en la captura (–showcursor), definimos el tamaño mínimo en 20 (–min 20 las dimensiones mínimas de la imagen serán 20×20), enmascaramos capturas fuera de la pantalla (-m «on», esto es útil cuando tenemos varias pantallas de diferentes resoluciones, habrá zonas nuestro escritorio que no tienen imagen), resaltamos la región o la ventana completa (-l) y guardamos el archivo como captura.jpg
Aunque maim también soporta el ID de ventana con -i o la posición y dimensiones de la captura con -x , -y , -w y -h (para la posición x,y, ancho y alto respectivamente), o si lo preferimos com -g (geometría, especificando directamente WxH+X+Y, como lo haríamos con imagemagick).
xwd
Es el método más simple y rápido para capturar pantalla en X. Además, casi seguro que encontraremos esta utilidad. Con este programa estamos haciendo un volcado de la ventana a fichero, por lo que el formato es un poco extraño y no todos los programas lo van a poder leer (ImageMagick y The Gimp lo pueden leer). Lo malo es que las imágenes en este formato van a ocupar mucho, no tiene compresión y pocos programas lo pueden leer. Aunque es verdad que algunas veces nos encontramos en un sistema ajeno en el que no podemos instalar nada debido a restricciones del sistema, estamos además en modo usuario sin privilegios y lo único que tenemos es esto; también nos puede pasar en algún LiveCD en el que tengamos que tomar una captura y no haya otro modo. Al menos nos hace el apaño.
Lo podemos utilizar así:
Una forma común de utilizarlo es junto con xwud, que es un visualizador de imágenes xwd (con -scale nos permite redimensionar la ventana y con ella la imagen):
Y también podemos utilizar ImageMagick para convertir las imágenes:
o directamente (aunque si tienes imagemagick, lo más seguro que tengas import para capturar, aunque puede que si import te da problemas tengas que utilizar este método)
En este caso, con -root capturas la pantalla completa, la comunicamos con una pipe a convert (de ImageMagick) y le decimos que el archivo de origen sea – (lo que entra por la entrada estandar), luego lo convertimos a captura.jpg.
Captura del framebuffer
Normalmente en GNU/Linux, aunque puede tener otros usos. Utilizamos el framebuffer para representar la consola a lo grande. A ver, aunque podemos tener nuestra sesión gráfica con emuladores de terminal y muchas ventanas. Antes de la sesión gráfica, tenemos una sesión de texto, en la que sólo tenemos interfaz de comandos. Históricamente, esa consola ha tenido un modo de texto con 25 líneas y 80 columnas (había otros modos de texto, pero el que mejor se veía era el de 80×25). Pero claro, las pantallas han evolucionado mucho, son muy grandes y cabe mucho más texto ahí (incluso podríamos representar imágenes sencillas), así que tenemos modos gráficos especiales que mejoran la visualización en este «modo texto», con cientos de columnas y algunas decenas más de filas, por lo que podemos ver más texto. Aunque es todo muy «años 80», y puede que poca gente lo use, es un modo perfecto para cuando quieres utilizar toda la memoria de tu dispositivo (puede que una Raspberry PI, o un dispositivo empotrado), o para rescatar un sistema que se ha quedado sin modo gráfico.
A estos terminales podemos acceder con Control+Alt+F1, Control+Alt+F2, etc; tenemos un número finito de estos terminales y podemos configurarlo, puede que algunas distribuciones solo tengan uno o dos, otras podrán traer ocho o diez, incluso nosotros podemos poner más o menos.
Eso sí, aquí también podemos hacer capturas de pantalla:

Automatizando tareas
Cada uno tiene una manera de trabajar con sus capturas de pantalla. Los hay que prefieren métodos Windowseros de toda la vida, que pulsan imprimir pantalla, luego abren un programa y pegan la imagen resultante, que terminan guardando en BMP. Otros prefieren pulsar una tecla y que les permita seleccionar la región de pantalla que quieren capturar y se almacene automáticamente en un archivo. Tal vez quieras reproducir un sonido cuando se produzca la captura y luego abrir la captura con un programa externo o no. Siempre podemos crear scripts que automaticen todas las tareas que solemos hacer con las capturas y vincularlos a una tecla. Con esto, podremos llegar a ser muy productivos.
Tenemos un ejemplo de script aquí:
Y pronto tendremos una nueva versión del script con muchas características interesantes.
How amazing do you find the information in your article? It is quite enticing and compelling. On this issue, your viewpoint and mine are identical.
I hope the author writes more territorial io insightful articles like this one so you can learn. Create an excellent, healthy education for kids at the same time.
I was wondering how incredible you found the details to be in your piece. The appeal and persuasion are high. You and I have the same thoughts on this matter.
Thanks for sharing this post. I find this so helpful! concrete contractors
This is such a great resource that you are providing and you give it away for free. Thank you so much!! Newport roofers
So, gather your friends and family, and get ready to embark on a culinary adventure with Toca Kitchen 2
Good step you have written of writing content relating to cooperate sense. Better yet good working skills and hope you write more of this soon.Fast X Jason Statham Beige Jacket
It’s great to see the flexibility and adaptability that GNU/Linux provides for its users.
This is an excellent post I seen thanks to share it. It is really what I wanted to see hope in future you will continue for sharing such a excellent post.
Star Trek Picard S03 Raffi Musiker Leather Jacket