Grabar pantalla a GIF animado en Linux (alternativa a LICEcap)

Uso LICEcap con bastante frecuencia cuando respondo preguntas en Stack Exchange: es una herramienta MUY intuitiva para hacer capturas de pantalla basadas en gifs.

Ejemplo de gif de LINEcap

Abres la aplicación, seleccionas un área para grabar, eliges un nombre de archivo para guardarlo y haces lo tuyo para que pueda grabar.

Sin embargo, esto es solo para Windows y OS X: ocasionalmente he jugado con el uso de una VM de Linux y la captura de la ventana de la VM, pero me gustaría una alternativa nativa que grabaría un gif de la misma manera.

¿Qué podría usar?

¿Le gustarían otras imágenes animadas también o el formato de archivo "gif" es un requisito necesario?
Bueno, realmente no quiero/necesito video . Gif es el estándar 'aceptado' para imágenes animadas. Si es algo que debería funcionar universalmente, estaría bien, pero no puedo pensar en ningún otro formato que sea un reemplazo adecuado.
MNG (extensión de PNG) hace esto.
oh, si es algo que puedo introducir en un servidor orientado a Internet y abrirlo en un navegador, estoy bien.
Aparte, la piojos funciona perfectamente con el vino, para mi sorpresa. Por supuesto, esto está limitado a x86 boxen, tiene un conjunto bastante grande de dependencias, etc., pero es lo que creo que usaré por ahora. La respuesta seleccionada funcionaría, pero carece de la elegancia que tiene la interfaz de usuario de licecap.
Sugeriría recordMyDesktop , que tiene compilaciones para varias distribuciones de Linux. El problema es que parece que solo graba en el formato ogv, aunque la conversión a un GIF se puede hacer usando ffmpeg/imagemagick (explicado aquí ). recordMyDesktop tiene interfaces que son fáciles de usar: usted establece dónde guardar el archivo y opciones como seguir el mouse y qué grabar primero, luego presione grabar.
Siempre lo usé debajo del vino, funciona perfectamente bien.

Respuestas (6)

Actualización 22/10/2014: Seth Johnson ha mejorado el PPA de Ubuntu para que solo se requiera el PPA de Silentcast. (Anteriormente, se necesitaban 3 PPA).

Actualización 13/10/2014: Lanzamiento de la versión 2.0. Se agregaron opciones para crear videos webm o mp4 en lugar de solo gifs animados. Se agregó un script para realizar una instalación completa sin privilegios de root.

Actualización 4/10/2014: se ejecuta en Unity, no hay problema, y ​​ahora hay un PPA para la instalación. Gracias a Seth por su parche de indicador de Unity y PPA. Por favor, eche un vistazo a las instrucciones de instalación a continuación que he actualizado hoy. Además, puedes ejecutarlo sin instalarlo . Siga las instrucciones de Any Linux Distro , pero no ejecute el script de instalación . Con Xfce , simplemente abra la carpeta extraída y haga doble clic en bash silentcast . Con otros escritorios, ejecute desde la terminal desde dentro de la carpeta extraída. ¡Eso es todo! No se copiará nada en los archivos de su sistema y eliminar la carpeta extraída la eliminará por completo de su sistema.

No estaba contento con ninguna de estas respuestas, así que escribí la mía: Silentcast .

Si algo no funciona para usted, informe un error en Problemas de Silentcast

Observe que hay un icono de parada parada1.pngen el área de notificación incluso antes de iniciar Silentcast, luego parada2.pngaparece un segundo icono de parada cuando comienza la grabación. Eso es porque ya tenía Silentcast ejecutándose para hacer estos gifs animados de cómo usar Silentcast. Silentcast 1 sigue funcionando después de detener Silentcast 2.

Pantalla completa: Cómo usar Silentcast para grabar Gimp

Pantalla completa

Transparente: Cómo usar Silentcast para grabar 2 ventanas

Transparente

Interior: Cómo usar Silentcast para grabar solo el dibujo

Interior

Entero: Cómo usar Silentcast para grabar 1 ventana

Totalidad

Instalación

... (saltándose algunas cosas - en el LÉAME completo, esto incluye una lista de dependencias e instrucciones específicas de la distribución para instalarlas)

  • Cualquier instalación completa de Linux Distro sin acceso a la raíz

    • Instale las dependencias que faltan (consulte la tabla Dependencias e Instalación de dependencias por distribución arriba)
    • Descarga una versión de Silentcast:
    • Extracto. Luego, desde una terminal, cden el directorio extraído y las instrucciones de ./no_root_install desinstalación se proporcionan en el resultado del script no_root_install . También puedes verlos en los comentarios al lanzador. Ver opciones con ./no_root_install -h. Si está instalado en la ubicación predeterminada, desinstálelo con los siguientes comandos: rm -r ~/.silentcastyrm ~/.local/share/applications/no_root_silentcast.desktop
    • Mira qué versión tienes con silentcast -v. [Buscar una versión más nueva]( https://github.com/colinkeenan/silentcast/releases/latest
  • Cualquier instalación completa de Linux Distro

    • Instale las dependencias que faltan (consulte la tabla Dependencias e Instalación de dependencias por distribución arriba)
    • Descarga una versión de Silentcast:
    • Extracto. Luego, desde una terminal, cden el directorio extraído y las instrucciones de sudo ./install desinstalación son las mismas reemplazando install con uninstall . El script bash de instalación (o desinstalación ) simplemente copia (o elimina) archivos. Es posible que desee editarlos si su distribución coloca archivos en lugares inusuales.
    • Mira qué versión tienes con silentcast -v. Buscar una versión más nueva

... (consulte el LÉAME completo para saber cómo instalar dependencias para su distribución)

  • Instalación completa de Arch Linux

    • Utilice un asistente de AUR, como yaourt -S silentcast. Esto instalará automáticamente la última versión y las dependencias que faltan. Mantenga su instalación actualizada de la forma habitual con su asistente AUR, como yaourt -Syua. Desinstalar consudo pacman -R silentcast
    • Sin un asistente de AUR, simplemente descargue silentcast.tar.gz de aur.archlinux.org , extraiga y haga makepkg -sidesde el directorio extraído. Esto hará exactamente lo mismo que haría un asistente de AUR para la instalación, pero tendrá que realizar un seguimiento de las actualizaciones usted mismo. Desinstalar consudo pacman -R silentcast
  • Instalación completa de Ubuntu Linux

    • Para 14.04 y 12.04, ejecute los siguientes comandos para instalar Silentcast (para versiones anteriores de Ubuntu, siga las instrucciones "Cualquier distribución de Linux" a continuación):

      sudo add-apt-repository ppa:sethj/silentcast  
      sudo apt-get update
      sudo apt-get install silentcast  
      

      O ejecute el siguiente comando resumido:

       sudo add-apt-repository ppa:sethj/silentcast && sudo apt-get update && sudo apt-get install silentcast  
      
      • Desinstalar
        Ejecutar sudo apt-get remove silentcast. A continuación, puede eliminar los PPA de la sudo add-apt-repository -rsiguiente manera:

        sudo add-apt-repository -r ppa:sethj/silentcast && sudo apt-get update
        

Métodos de lanzamiento

  • Jerarquía del menú
    • Gráficos -> Silentcast
    • Multimedia -> Transmisión silenciosa
  • Términos del cuadro de búsqueda
    • transmisión silenciosa
    • captura de pantalla
    • registro
    • gif
    • (y otras cosas también funcionarán)
  • ALT+F2
    • transmisión silenciosa
  • Terminal
    • transmisión silenciosa

Busque Silentcast en el menú bajo Gráficos o Multimedia , escriba silentcast en el cuadro de búsqueda o ALT+ F2silentcast . También se puede ejecutar desde una terminal como silentcast .

Vaya Eso se ve épico. Le daré un empujón más tarde y veré si podemos arreglar esos enlaces.
Gracias, supongo que ya me has dado 11 puntos solo por el voto a favor. Sin embargo, no recuerdo, ¿es eso suficiente para agregar más enlaces? Bueno, lo acabo de hacer. Entonces sí, ahora puedo agregar más a mi respuesta.
Tengo algunos problemas para que esto funcione en fedora 20/KDE. ¿Cuál sería el lugar apropiado para un informe de error?
Dado que mi fuente está en github, ese sería el mejor lugar para presentar un informe de error: Problemas de Silentcast
Solo lo he probado en mi propio sistema: Xfce en Arch Linux. Sin embargo, esperaría que se ejecutara en KDE. Son solo scripts de bash. O me perdí algo en las dependencias que enumeré en README.md, o podría requerir una versión especial de ffmpeg que tengo. Me gustaría resolverlo, así que presente un informe de error. Gracias.
Pequeño error de mi parte. sudo yum install ffmpeg yad xdotool xorg-xwininfo wmctrl python-gobject python-cairo xdg-utils ImageMagickdebería aprovechar todas las dependencias de fedora. Parecía haber olvidado ImageMagik. Me gusta esto lo suficiente como para ofrecerle una recompensa de 50 repeticiones, que otorgaré una vez que termine el período de espera;)
Me has hecho muy feliz. Hasta donde yo sé, este es el primer software que he creado que está siendo utilizado con entusiasmo por alguien que no sea yo. Me sorprende que no se haya hecho algo similar porque todo lo que hice fue darle a las herramientas de línea de comando ya existentes una GUI usando yad y algún código de Python que encontré con google.
Esto es ridículamente asombroso. Acabo de encontrar dos herramientas maravillosas para jugar hoy.
No funciona en Unity, pero eso es culpa de Unity (es muy estricto con los indicadores). Sin embargo, creo que podría encontrar un parche. ¡Sin embargo, realmente increíble en Xubuntu!
He agregado instrucciones a README.md para instalar las dependencias de Ubuntu.
@JourneymanGeek mencionó en los comentarios de otra respuesta que quizás desee hacer una captura de pantalla en un RPi. ¿Ha probado esta solución en el RPi y, de ser así, puede comentar qué tan bien funciona?
Todavía no, me temo que necesito hacerlo.
No puedo encontrar el iniciador de silentcast después de la instalación.
¿Puede proporcionar detalles sobre su instalación? ¿Distribución, escritorio, desde un administrador de paquetes, o qué?

Una posible solución es byzanz si no le importa usar la CLI. Byznaz se ejecuta en Ubuntu y no lo probé en diferentes distribuciones de Linux. Lo probé solo en Ubuntu 12.04 LTS.

Es un grabador de pantalla bastante rudimentario con opciones limitadas.

bizancio

Byzanz graba GIF y se ejecuta solo en una terminal. No está incluido en los repositorios de Ubuntu y solo se puede instalar a través de un PPA .

Para instalar usa estos comandos

$ sudo add-apt-repository ppa:fossfreedom/byzanz
$ sudo apt-get update
$ sudo apt-get install byzanz

Páginas man:

Usage:

  byzanz-record [OPTION...] record your current desktop session

Help Options:
  -?, --help               Show help options
  --help-all               Show all help options
  --help-gtk               Show GTK+ Options

GTK+ Options
  --class=CLASS            Program class as used by the window manager
  --name=NAME              Program name as used by the window manager
  --gtk-module=MODULES     Load additional GTK+ modules
  --g-fatal-warnings       Make all warnings fatal

Application Options:
  -d, --duration=SECS      Duration of animation (default: 10 seconds)
  --delay=SECS             Delay before start (default: 1 second)
  -c, --cursor             Record mouse cursor
  -a, --audio              Record audio
  -x, --x=PIXEL            X coordinate of rectangle to record
  -y, --y=PIXEL            Y coordinate of rectangle to record
  -w, --width=PIXEL        Width of recording rectangle
  -h, --height=PIXEL       Height of recording rectangle
  -v, --verbose            Be verbose
  --display=DISPLAY        X display to use
Supongo que está lo suficientemente cerca. Decir qué rangos de píxeles registrar parece innecesariamente problemático. Dicho esto, salvo una respuesta mejor, sería injusto si no seleccionara esta como la correcta.
En realidad, hay una herramienta con, digamos, mejores opciones de grabación de pantalla y una GUI agradable, pero hasta ahora no pude guardarla en GIF. Aunque grabar la pantalla o parte de la pantalla en algún otro formato es pan comido.
tienes que escribir en la ubicación y el tamaño? morir de vergüenza
Hay una compilación de RPM que parece estar disponible desde los repositorios predeterminados de Fedora también; los RPM también se pueden encontrar aquí
Puede ejecutar xrectsel y arrastrar el mouse para obtener la ubicación y el tamaño del recangle deseado, y luego usar esos números para ejecutar byzanz.
Byzanz se incluye en Universe en 16.04. Tampoco lo llamaría rudimentario, porque la versión actual parece ser bastante útil.
La pregunta era originalmente para 12.04. en el tiempo bizantino estaba muy lejos de lo que es ahora.

LICEcap funciona en Linux con Wine; échale un vistazo:

Desplazarse por la página web de LICEcap

Esto está en Arch Linux, 64 bits y vino 1.7.18.

Oh, soy consciente de esto: no es una respuesta incorrecta, pero es posible que desee ejecutarlo en arquitecturas que no sean x86, digamos en un raspberry pi, y el vino es bastante pesado, comparativamente, de ahí mi preferencia por una opción nativa
Además, el cursor no aparece si la ventana del piojos no está enfocada.

También podrías echarle un vistazo a Peek .

Peek es una herramienta sencilla que te permite grabar una sección de tu pantalla y guardarla como una imagen GIF animada.

Mirar captura de pantalla: Vistazo de captura de pantalla

Grabación de miradas:

Peek grabación

Peek requiere que se instale FFmpeg + ImageMagick y actualmente solo funciona con X11 y está dirigido a GNOME 3 (por lo tanto, debería funcionar incluso en Unity siempre que no tenga habilitados los menús integrados localmente).

Esto demanda >700 MByte en descarga y 2.5 gigas de espacio en disco...?!?

No lo he visto mencionado aquí, así que prueba con Scrot.

Scrot en el administrador de paquetes Synaptic

Es parte de mis paquetes de Ubuntu, por lo que debería estar en el universo al menos sin PPA

No tengo experiencia en su uso, pero generalmente elegiré una versión administrada del paquete de distribución en lugar de un ppa o repositorio de terceros el 90% del tiempo para dicho software.

¿Hace gifs animados ? Estoy bastante seguro de que Scrot hace capturas de pantalla estáticas desde la línea de comandos. Tiene sus usos, pero no estoy convencido de que sea la herramienta adecuada aquí.
No tengo ni idea de lo que hace, pero estoy bastante seguro de que con un script de bash podría hacer que recopile varias imágenes y luego ponerlas todas en un gif o png animado. Estaba destinado a ser otra opción.
No creo que scrot grabe gifs
Quizás esto sea una barrera del idioma. Sugerí grabar imágenes separadas. Esas imágenes serían (implícitamente separadas acciones posteriores del autor) lo que el autor convierte en un gif.

Yo uso 1. Byznaz para grabar

sudo apt-get install byzanz #ubuntu
dnf install byzanz #fedora
  1. python-xrectsel para selección de área
pip install python-xrectsel