¿Cómo puedo cambiar el nombre predeterminado de las capturas de pantalla realizadas por gnome-screenshot?

34

Gnome-screenshot 3.1.2 usa nombres de archivo como este

Captura de pantalla en 2011-07-31 12: 13: 04.png

haciendo que sea bastante fácil ver cuándo se tomó.

El problema es que usa el carácter de dos puntos (:), lo que hace que sea imposible acceder a dicha imagen desde Windows.

Teniendo en cuenta que tomo la mayoría de mis capturas de pantalla para poder enviarlas a los usuarios de Windows, esto ha causado algunos problemas.

¿Hay alguna forma de cambiar el nombre predeterminado que usa la herramienta de captura de pantalla para reemplazar ":" con "". o ","

Chriskin
fuente

Respuestas:

12

No es realmente posible el cambio con facilidad, tal vez usted puede ayudar con este informe de error .

(para los curiosos, comprobar el código fuente . En la actualidad, la línea de referencia es 134 )

Actualización : El error se corrigió la corriente en 28/01/2015 , en sustitución de dos puntos con guiones, lo que ayuda. Sin embargo, no se llevaron a cabo por desgracia el espacio.

fain182
fuente
3
+1 para vincular al código fuente. Ahora que es la manera de Linux. (Aunque el código del nombre del archivo está realmente aquí, ahora: git.gnome.org/browse/gnome-utils/tree/gnome-screenshot/… )
Mark E. Haase
1
Por desgracia, el enlace está muerto: No se encontraron depósitos
gertvdijk
2
Nueva URL: git.gnome.org/browse/gnome-screenshot/tree/src/… (recuperado el 16/02/2013 18:08 UTC + 0800)
LiuYan 刘 研
Ojalá pudiéramos modificar esto localmente antes de que los buenos y viejos desarrolladores de GNOME se despierten un poco más rápido ante problemas tan importantes reportados por los usuarios ;-)
Sadi
3
¿Quién pensó que era una buena idea codificar los nombres de las capturas de pantalla en C, que requieren una compilación de todo el entorno de escritorio? ¿Nadie había pensado alguna vez que un usuario podría querer cambiar el nombre predeterminado? Ahora que existe dconf-editory tal, y lo gnome-screenshotusa, ¿por qué no tener una entrada dconf stting para la "política de nomenclatura de captura de pantalla" que podría establecer para decir Screenshot-%02d.png, y si está vacío, siga la política de nomenclatura codificada? Eh ....
sdaau
10

Hay una manera simple y sucia de cambiar el nombre de todas las capturas de pantalla tomadas inmediatamente después de la creación, pero necesitará instalar inotify-tools ( apt-get install inotify-tools) y luego podría ejecutar este comando:

while true; do inotifywait -e CREATE ~/Pictures && rename 's/\:/\./g' Pictures/Screenshot*.png; done;

Mientras se ejecuta este comando, cada vez que guarde una nueva captura de pantalla en Imágenes /, el script cambiará el nombre de cada archivo que lo contenga :, sustituyéndolo :por.

(Tal vez desee cambiar el directorio, no sé qué directorio usa Gnome 3) Si realmente le gusta, puede iniciar este comando en un script cada vez que se inicia gnome.

fain182
fuente
3
+1 Este es un pequeño truco, pero tu expresión regular debe ser 's /\:/\./ g'
Mark E. Haase
Otra opción de reemplazo: usar el carácter Unicode
LiuYan 刘 研
Tenga en cuenta que las capturas de pantalla se guardan de forma predeterminada en ~/Pictures, no ~/Desktop.
MestreLion
9

En lugar de instalar software adicional y escribir este código en la herramienta de captura de pantalla, aquí hay una solución para cambiar el nombre de los archivos después.

Todo lo que necesita hacer es navegar al directorio y ejecutar el siguiente comando

rename 's/\:/\-/g' *.png

Esto reemplazará todos los dos puntos con guiones en todos los nombres de archivo que terminen en .pnglos presentes en el directorio actual.

interesado
fuente
Una solución menos óptima, pero mucho más fácil que la propuesta por fain182 . +1
gertvdijk
6

gnome-screenshotno permite establecer un valor predeterminado global para los nombres de archivo de captura de pantalla, pero puede usar la -fopción para especificar un nombre de archivo en la línea de comandos.

Podemos usar eso para escribir un pequeño script bash que tomará el lugar del original gnome-screenshot binario y ejecutará el original con el parámetro de nombre de archivo correcto.

Tenga en cuenta que tendrá que tener privilegios de root para las siguientes operaciones, así que prefije cada comando con sudoo abra un shell de root con sudo -i.

  1. Mueva el gnome-screenshotbinario original fuera del camino:

    dpkg-divert --add --rename --divert /usr/bin/gnome-screenshot.real /usr/bin/gnome-screenshot
  2. Abrir /usr/bin/gnome-screenshoten un editor (debería ver un nuevo archivo vacío):

    editor /usr/bin/gnome-screenshot
  3. Pegue las siguientes dos líneas en el editor:

    #!/bin/bash  
    gnome-screenshot.real -f "$HOME/Pictures/Screenshots/$(date +%F_%H-%M-%S).png" $@

    Puede insertar cualquier ruta que desee después de -f; solo asegúrese de encerrarlo entre comillas y de guardarlo $@después.
    En este ejemplo, las capturas de pantalla se almacenarán con nombres de archivo como /home/yourusername/Pictures/Screenshots/2011-07-31_12-13-04.png. Consulte man datepara más detalles sobre la date +%…sintaxis.

  4. Guarde el archivo y cierre el editor (por ejemplo, usando Ctrl+ Xen Nano o :wqen Vim).

  5. Haga que el script recién creado sea ejecutable:

    chmod a+x /usr/bin/gnome-screenshot
n.st
fuente
4

Shutter es otra aplicación para tomar capturas de pantalla que te permite personalizar el nombre del archivo: puedes instalarlo desde el Centro de software de Ubuntu.

Marco Lackovic
fuente
1
Shutter es increíble por sí mismo, y este es el mejor enfoque: en lugar de corregir los nombres de archivo incorrectos, ¡no los produzca!
MestreLion
Por ejemplo, el nombre de archivo en el obturador puede tener la siguiente comodín: $nb_name_%Y-%m-%d-%H%M%S. Puede configurarlo en las Preferencias.
Vladimir S.
1

Si:

  1. está familiarizado con herramientas de edición binarias como bless(consulte el paquete de ubuntu por ejemplo o github ),
  2. y sabes modificadores de formato de cadena C,
  3. y sabes la diferencia entre 0x0y "0",
  4. y no le importa perder el tiempo con los archivos binarios instalados por la distribución de Linux que elija,

entonces puede modificar el nombre del archivo que utiliza gnome-screenshot.

Cuando edite binaria gnome-screenshot, encontrará dos cadenas de formato:

  1. %Y-%m-%d %H-%M-%S seguido de un byte nulo,
  2. y Screenshot from %s.%sseguido por un byte nulo.

En la segunda cadena de formato, la primera %ses la fecha, la segunda%s es la extensión del archivo.

A partir de aquí, se puede, por ejemplo, sobrescribir %Y-%m-%d %H-%M-%S con %F-%H%M%Sseguido por un byte nulo y Screenshot from %s.%spor shot %s.%sseguido por un byte nulo: capturas de pantalla a continuación, se nombran "shot 2018-05-05_174857.png"por ejemplo.

Adaptarse a sus preferencias.

Hay dos restricciones:

  1. el nuevo formato de fecha y el nuevo formato de nombre de archivo no deben ser más largos que los originales,
  2. sus personalizaciones se destruirán si instala una nueva versión de gnome-screenshot, por ejemplo, al actualizar su sistema.

Advertencias:

  • Probado en Ubuntu 16.04 LTS, su kilometraje puede variar.
  • Este es un truco , no una forma limpia de modificar el nombre predeterminado generado por gnome-screenshot: hacer una copia de seguridad antes de continuar.
  • Publicado sin ninguna garantía de ningún tipo.
EKP
fuente
0

En Debian 8.6 KDE → Configuración del sistema → Accesos directos personalizados, he configurado Trigger → PrtScn y Action →

gnome-screenshot -p -f "$(date +%F_%H-%M-%S)_D.png"

y funciona bien

Flavio R. Cavalcanti
fuente
Me pregunto qué versión de Debian ha sido reciente hace cinco años.
mook765