Vraag Hoe kan ik de standaardnaam wijzigen voor de screenshots gemaakt door gnome-screenshot?


Gnome-screenshot 3.1.2 gebruikt bestandsnamen zoals deze

Screenshot op 2011-07-31 12: 13: 04.png

waardoor het vrij gemakkelijk te zien is wanneer het werd genomen.

Het probleem is dat het het dubbele punt (:) -teken gebruikt - waardoor het onmogelijk is om toegang te krijgen tot zo'n afbeelding vanuit Windows.

Aangezien ik de meeste van mijn schermafbeeldingen neem, zodat ik ze naar Windows-gebruikers kan verzenden, heeft dit wat problemen veroorzaakt.

Is er een manier om de standaardnaam te wijzigen die wordt gebruikt door de screenshot-tool om ":" te vervangen door "." of ","?


29
2017-07-31 09:17


oorsprong




antwoorden:


Het is niet echt mogelijk om het gemakkelijk te veranderen, misschien kun je hiermee helpen bug report.

(voor de nieuwsgierigen, controleer de broncode. Momenteel is relevante regel 134)

Bijwerken: De fout was upstream gefixeerd op 2015-01-28, het vervangen van dubbele punten door streepjes, wat helpt. Maar ze hebben de ruimte helaas niet overgenomen.


12
2017-07-31 12:45



+1 voor linken naar broncode. Dat is de Linux-manier. (Hoewel de bestandsnaamcode hier eigenlijk is, nu: git.gnome.org/browse/gnome-utils/tree/gnome-screenshot/...) - Mark E. Haase
Helaas is de link dood: Geen opslagplaatsen gevonden - gertvdijk
Nieuwe URL: git.gnome.org/browse/gnome-screenshot/tree/src/... (opgehaald op 2013-02-16 18:08 UTC + 0800) - LiuYan 刘研
Ik zou willen dat we dit lokaal zouden kunnen aanpassen voordat de oude GNOME-ontwikkelaars iets sneller wakker worden met zulke belangrijke problemen gemeld door gebruikers ;-) - Sadi
Degene die het een goed idee vond om de schermnamen in C hard te coderen, waarvoor een hercompilatie van de geheel bureaubladomgeving? Had niemand ooit gedacht dat een gebruiker de standaardnaamgeving zou willen veranderen? Nu dat er is dconf-editor en zo, en gnome-screenshot gebruikt het, waarom zou u geen dconf-ingang hebben voor "screenshot naamgevingsbeleid" die u zou kunnen instellen om te zeggen Screenshot-%02d.png, en als deze leeg is, ga dan akkoord met het hardcoded naamgevingsbeleid? Eh .... - sdaau


Er is een eenvoudige en vuile manier om de schermafbeelding meteen na de creatie te hernoemen, maar je zult inotify-tools moeten installeren ( apt-get install inotify-tools ) en dan zou je deze opdracht kunnen uitvoeren:

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

Terwijl deze opdracht wordt uitgevoerd, zal elke keer dat u een nieuwe schermafbeelding opslaat in /, het script de naam van elk bestand dat deze bevat, hernoemen :, vervangen : met .

(Misschien wil je de map veranderen, ik weet niet welke map Gnome 3 gebruikt) Als je het echt leuk vindt, kun je dit commando starten in een script elke keer dat de kabouter begint.


11
2017-07-31 15:42



+1 Dit is een leuk trucje, maar je regex zou 's /\//\/ - Mark E. Haase
een andere optie voor vervanging: gebruik het Unicode-teken : - LiuYan 刘研
Merk op dat screenshots standaard worden opgeslagen in ~/Pictures, niet ~/Desktop. - MestreLion


In plaats van extra software te installeren en deze code in de screenshot-tool te schrijven, is hier een oplossing om de bestanden achteraf te hernoemen.

Het enige dat u hoeft te doen is naar de map te navigeren en de volgende opdracht uit te voeren

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

Hiermee worden alle dubbele punten vervangen door streepjes in alle bestandsnamen die eindigen op .png van degenen die aanwezig zijn in de huidige map.


9
2018-02-04 16:07



Minder optimale, maar veel eenvoudigere oplossing dan voorgesteld door fain182. 1 - gertvdijk


gnome-screenshot staat niet toe om een ​​globale standaard in te stellen voor de screenshot-bestandsnamen, maar u kunt de -f optie om een ​​bestandsnaam op te geven op de commandoregel.

We kunnen dat gebruiken om een ​​klein bash-script te schrijven dat de plaats van het origineel inneemt gnome-screenshot binair en voert het origineel uit met de juiste bestandsnaamparameter.

Merk op dat je root-rechten moet hebben voor de volgende bewerkingen, dus voorzie elke opdracht van een voorvoegsel sudo of open een rootshell met sudo -i.

  1. Verplaats het origineel gnome-screenshot binair uit de weg:

    dpkg-divert --add --rename --divert /usr/bin/gnome-screenshot.real /usr/bin/gnome-screenshot
    
  2. Open /usr/bin/gnome-screenshot in een editor (je zou een nieuw leeg bestand moeten zien):

    editor /usr/bin/gnome-screenshot
    
  3. Plak de volgende twee regels in de editor:

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

    U kunt elk gewenst pad invoegen na de -f; zorg ervoor dat je het tussen aanhalingstekens plaatst en om de $@ erna.
    In dit voorbeeld worden de screenshots opgeslagen met bestandsnamen zoals /home/yourusername/Pictures/Screenshots/2011-07-31_12-13-04.png. Zien man date voor details over de date +%… syntaxis.

  4. Sla het bestand op en sluit de editor (bijvoorbeeld met Ctrl + X in Nano of :wqin Vim).

  5. Maak het nieuw gemaakte script uitvoerbaar:

    chmod a+x /usr/bin/gnome-screenshot
    

6
2017-09-23 01:46





Luik is een andere toepassing voor het maken van schermafbeeldingen waarmee u de bestandsnaam kunt aanpassen: u kunt deze vanuit Ubuntu Software Center installeren.


3
2018-02-26 11:42



Sluiter is alleen al verbazingwekkend, en dit is de reden dat dit de beste aanpak is: in plaats van vaststelling slechte bestandsnamen, produceer ze niet! - MestreLion
De bestandsnaam in de sluiter kan bijvoorbeeld het volgende jokerteken hebben: $nb_name_%Y-%m-%d-%H%M%S. U kunt dit instellen in de Voorkeuren. - Vladimir S.


In Debian 8.6 KDE → Systeeminstellingen → Aangepaste snelkoppelingen, heb ik Trigger → PrtScn en Actie ingesteld →

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

en het werkt goed.


0
2017-10-13 14:32



Ik vraag me af welke Debian-versie vijf jaar geleden is gebruikt. - mook765


Als:

  1. u bent bekend met binaire bewerkingstools zoals bless(zien ubuntu-pakket bijvoorbeeld of github)
  2. en je kent C-snareformaatmodifiers,
  3. en je weet het verschil tussen 0x0 en "0",
  4. en je vindt het niet erg om te rommelen met binaire bestanden die zijn geïnstalleerd door je Linux-distributie naar keuze,

dan kunt u de bestandsnaam wijzigen die wordt gebruikt door gnome-screenshot.

Bij binaire bewerking gnome-screenshot, vindt u twee format strings:

  1. %Y-%m-%d %H-%M-%S gevolgd door een nul byte,
  2. en Screenshot from %s.%s gevolgd door een nulbyte.

In de tweede opmaakreeks, de eerste %s is de datum, de tweede %s is de extensie.

Vanaf hier kunt u bijvoorbeeld beschrijven  %Y-%m-%d %H-%M-%S met %F-%H%M%S gevolgd door een nul byte en Screenshot from %s.%s door shot %s.%s gevolgd door een nulbyte: er worden schermafbeeldingen van gemaakt "shot 2018-05-05_174857.png" bijvoorbeeld.

Aanpassen aan uw voorkeuren.

Er zijn twee beperkingen:

  1. het nieuwe datumformaat en het nieuwe bestandsnaamformaat mogen niet langer zijn dan het originele formaat,
  2. uw aanpassingen worden vernietigd als u een nieuwe versie van gnome-screenshot, bijvoorbeeld bij het updaten van uw systeem.

waarschuwingen:

  • Getest op Ubuntu 16.04 LTS, uw kilometerstand kan variëren.
  • Dit is een houwen, geen schone manier om de standaardnaam die wordt gegenereerd door te wijzigen gnome-screenshot: Maak een backup voordat u doorgaat.
  • Gepost zonder enige vorm van garantie.

0
2018-05-05 16:33