Wie kann ich den Standardnamen für die von gnome-screenshot erstellten Screenshots ändern?

34

Gnome-screenshot 3.1.2 verwendet Dateinamen wie diesen

Screenshot vom 31.07.2011 12: 13: 04.png

So ist es ziemlich einfach zu sehen, wann es aufgenommen wurde.

Das Problem ist, dass der Doppelpunkt (:) verwendet wird, wodurch der Zugriff auf ein solches Abbild unter Windows nicht möglich ist.

Wenn ich bedenke, dass ich die meisten meiner Screenshots mache, damit ich sie an Windows-Benutzer senden kann, hat dies einige Probleme verursacht.

Gibt es eine Möglichkeit, den vom Screenshot-Tool verwendeten Standardnamen zu ändern, um ":" durch "." Zu ersetzen? oder "," ?

Chriskin
quelle

Antworten:

12

Es ist nicht möglich, es einfach zu ändern. Vielleicht können Sie mit diesem Fehlerbericht helfen .

(Für die Neugierigen, überprüfen Sie den Quellcode . Derzeit ist die relevante Zeile 134 )

Update : Der Fehler wurde am 28.01.2015 behoben. Doppelpunkte wurden durch Bindestriche ersetzt, was hilft. Den Platz haben sie sich aber leider nicht genommen.

fain182
quelle
3
+1 für die Verknüpfung mit dem Quellcode. Nun, das ist der Linux-Weg. (Obwohl der Dateinamencode tatsächlich hier ist: git.gnome.org/browse/gnome-utils/tree/gnome-screenshot/… )
Mark E. Haase
1
Leider ist der Link tot: Keine Repositories gefunden
gertvdijk
2
Neue URL: git.gnome.org/browse/gnome-screenshot/tree/src/… (abgerufen am 2013-02-16 18:08 UTC + 0800)
LiuYan 刘 研
Ich wünschte, wir könnten dies lokal optimieren, bevor gute alte GNOME-Entwickler ein wenig schneller auf solche wichtigen Probleme
Sadi
3
Wer hat es für eine gute Idee gehalten, Screenshot-Namen in C fest zu codieren und die gesamte Desktop-Umgebung neu zu kompilieren ? Hatte noch niemand gedacht, dass ein Benutzer die Standardbenennung ändern möchte? Nun, da es dconf-editorund solche gibt und sie gnome-screenshotverwendet, warum nicht einen dconf-Eintrag für "Screenshot-Benennungsrichtlinie" haben, den Sie festlegen könnten Screenshot-%02d.png, und wenn leer, dann mit der fest codierten Benennungsrichtlinie mitmachen? Eh ....
Sdaau
10

Es gibt eine einfache und schmutzige Möglichkeit, alle Screenshots, die unmittelbar nach der Erstellung erstellt wurden, umzubenennen. Sie müssen jedoch inotify-tools ( apt-get install inotify-tools) installieren und dann den folgenden Befehl ausführen:

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

Während dieser Befehl ausgeführt wird, benennt das Skript jedes Mal, wenn Sie einen neuen Screenshot in Pictures / speichern, jede Datei um, die enthält :, und ersetzt diese :durch.

(Vielleicht möchten Sie das Verzeichnis ändern, ich weiß nicht, welches Verzeichnis Gnome 3 verwendet.) Wenn Sie es wirklich mögen, können Sie diesen Befehl bei jedem Start von gnome in einem Skript starten.

fain182
quelle
3
+1 Dies ist ein netter kleiner Trick, aber dein Regex sollte 's /\:/\./ g' sein
Mark E. Haase
Eine weitere Möglichkeit der Ersetzung: Verwenden Sie das Unicode-Zeichen
LiuYan 刘 刘
Beachten Sie, dass Screenshots standardmäßig in ~/Picturesund nicht in gespeichert werden ~/Desktop.
MestreLion
9

Anstatt zusätzliche Software zu installieren und diesen Code in das Screenshot-Tool zu schreiben, finden Sie hier eine Problemumgehung, um die Dateien anschließend umzubenennen.

Sie müssen lediglich zum Verzeichnis navigieren und den folgenden Befehl ausführen

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

Dadurch werden alle Doppelpunkte durch Bindestriche in allen Dateinamen .pngersetzt, die auf die im aktuellen Verzeichnis vorhandenen enden .

mrinterested
quelle
Weniger optimal, aber viel einfacher zu umgehen als von fain182 vorgeschlagen . +1
gertvdijk
6

gnome-screenshotEs ist nicht möglich, einen globalen Standard für die Dateinamen der Screenshots -ffestzulegen. Sie können jedoch die Option verwenden, um einen Dateinamen in der Befehlszeile anzugeben.

Wir können das verwenden, um ein kleines Bash-Skript zu schreiben, das den Platz der ursprünglichen gnome-screenshotBinärdatei einnimmt und das Original mit dem richtigen Dateinamen-Parameter ausführt.

Beachten Sie, dass Sie für die folgenden Vorgänge über Root-Berechtigungen verfügen müssen. Stellen Sie daher jedem Befehl sudoein Präfix voran oder öffnen Sie eine Root-Shell mit sudo -i.

  1. Bewegen Sie die ursprüngliche gnome-screenshotBinärdatei aus dem Weg:

    dpkg-divert --add --rename --divert /usr/bin/gnome-screenshot.real /usr/bin/gnome-screenshot
  2. /usr/bin/gnome-screenshotIn einem Editor öffnen (es sollte eine neue leere Datei angezeigt werden):

    editor /usr/bin/gnome-screenshot
  3. Fügen Sie die folgenden zwei Zeilen in den Editor ein:

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

    Sie können nach dem -f; einen beliebigen Pfad einfügen . Stellen Sie einfach sicher, dass Sie es in Anführungszeichen setzen und das Nachher aufbewahren $@.
    In diesem Beispiel werden die Screenshots mit Dateinamen wie gespeichert /home/yourusername/Pictures/Screenshots/2011-07-31_12-13-04.png. Siehe man dateEinzelheiten zur date +%…Syntax.

  4. Speichern Sie die Datei und schließen Sie den Editor (z. B. mit Ctrl+ Xin Nano oder :wqin Vim).

  5. Machen Sie das neu erstellte Skript ausführbar:

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

Shutter ist eine weitere Anwendung zum Aufnehmen von Screenshots, mit der Sie den Dateinamen anpassen können: Sie können ihn über das Ubuntu Software Center installieren.

Marco Lackovic
quelle
1
Auslöser ist erstaunlich , von selbst, und das ist imho dies der beste Ansatz ist: statt Fixierung schlecht Dateinamen, erzeugt sie nicht!
MestreLion
Zum Beispiel kann der Dateiname in den Shutter hat folgende Platzhalter: $nb_name_%Y-%m-%d-%H%M%S. Sie können es in den Einstellungen festlegen.
Vladimir S.
1

Ob:

  1. Sie sind vertraut mit binären Bearbeitungswerkzeugen wie bless(siehe Ubuntu-Paket zum Beispiel oder Github ),
  2. und Sie kennen C-String-Format-Modifikatoren,
  3. und Sie kennen den Unterschied zwischen 0x0und "0",
  4. und es macht Ihnen nichts aus, mit Binärdateien herumzuspielen, die von der Linux-Distribution Ihrer Wahl installiert wurden,

Dann können Sie den von verwendeten Dateinamen ändern gnome-screenshot.

Bei der binären Bearbeitung gnome-screenshotfinden Sie zwei Formatzeichenfolgen:

  1. %Y-%m-%d %H-%M-%S gefolgt von einem Null-Byte,
  2. und Screenshot from %s.%sgefolgt von einem Null-Byte.

In der zweiten Formatzeichenfolge ist die erste %sdas Datum und die zweite %sdie Dateierweiterung.

Von hier aus können Sie zum Beispiel überschreiben %Y-%m-%d %H-%M-%S mit %F-%H%M%Svon einem Null - Byte gefolgt und Screenshot from %s.%sdurch shot %s.%sdurch einen Null - Byte: Screenshots wird dann genannt werden , "shot 2018-05-05_174857.png"zum Beispiel.

Passen Sie sich Ihren Vorlieben an.

Es gibt zwei Einschränkungen:

  1. das neue Datumsformat und das neue Dateinamenformat dürfen nicht länger sein als die ursprünglichen,
  2. Ihre Anpassungen werden zerstört, wenn Sie eine neue Version von installieren gnome-screenshot, z. B. beim Aktualisieren Ihres Systems.

Warnungen:

  • Getestet auf Ubuntu 16.04 LTS, kann Ihr Kilometerstand variieren.
  • Dies ist ein Hack und keine saubere Methode, um den Standardnamen zu ändern, der durch Folgendes generiert wurde gnome-screenshot: Erstellen Sie eine Sicherungskopie, bevor Sie fortfahren.
  • Wird ohne Gewährleistung jeglicher Art verschickt.
EKP
quelle
0

In Debian 8.6 KDE → Systemeinstellungen → Benutzerdefinierte Verknüpfungen habe ich Auslöser → PrtScn und Aktion → eingestellt

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

und es funktioniert gut.

Flavio R. Cavalcanti
quelle
Ich frage mich, welche Debian-Version vor fünf Jahren erschienen ist.
Mook765