Bagaimana saya bisa mengubah nama default untuk screenshot yang dibuat oleh gnome-screenshot?

34

Gnome-screenshot 3.1.2 menggunakan nama file seperti ini

Cuplikan layar di 2011-07-31 12: 13: 04.png

membuatnya agak mudah dilihat saat diambil.

Masalahnya adalah ia menggunakan karakter titik dua (:) - membuatnya mustahil untuk mengakses gambar seperti itu dari Windows.

Mengingat saya mengambil sebagian besar tangkapan layar saya sehingga saya dapat mengirimnya ke pengguna Windows ini telah menyebabkan beberapa masalah.

Apakah ada cara untuk mengubah nama default yang digunakan oleh alat tangkapan layar untuk mengganti ":" dengan "." atau "," ?

Chriskin
sumber

Jawaban:

12

Sebenarnya tidak mungkin mengubahnya dengan mudah, mungkin Anda dapat membantu dengan laporan bug ini .

(untuk yang penasaran, periksa kode sumber . Saat ini, baris yang relevan adalah 134 )

Pembaruan : Bug diperbaiki di hulu pada 2015-01-28 , menggantikan titik dua dengan tanda hubung, yang membantu. Tapi sayangnya mereka tidak mengambil ruang.

fain182
sumber
3
+1 untuk menautkan ke kode sumber. Sekarang ITULAH cara linux. (Meskipun kode nama file sebenarnya ada di sini, sekarang: git.gnome.org/browse/gnome-utils/tree/gnome-screenshot/… )
Mark E. Haase
1
Sayangnya, tautannya sudah mati: Tidak ada repositori yang ditemukan
gertvdijk
2
URL baru: git.gnome.org/browse/gnome-screenshot/tree/src/… (diambil pada 2013-02-16 18:08 UTC + 0800)
LiuYan 刘 研
Saya berharap kita bisa men-tweak ini secara lokal sebelum pengembang lama GNOME yang baik bangun sedikit lebih cepat untuk masalah-masalah penting yang dilaporkan oleh pengguna ;-)
Sadi
3
Siapa pun yang berpikir itu adalah ide yang bagus untuk nama-nama tangkapan layar hardcode di C, membutuhkan kompilasi ulang dari seluruh lingkungan desktop? Tidak ada yang pernah berpikir bahwa pengguna mungkin ingin mengubah penamaan default? Sekarang ada dconf-editordan semacamnya, dan gnome-screenshotmenggunakannya, mengapa tidak memiliki entri dconf untuk "kebijakan penamaan tangkapan layar" yang dapat Anda atur untuk mengatakan Screenshot-%02d.png, dan jika kosong, maka ikutilah dengan kebijakan penamaan yang di-hardcode? Eh ....
sdaau
10

Ada cara sederhana dan kotor untuk mengganti nama semua tangkapan layar yang diambil segera setelah pembuatan, tetapi Anda harus menginstal inotify-tools ( apt-get install inotify-tools) dan kemudian Anda dapat menjalankan perintah ini:

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

Sementara perintah ini akan berjalan, setiap kali Anda menyimpan tangkapan layar baru di Pictures /, skrip akan mengganti nama setiap file yang berisi :, menggantikannya :dengan.

(Mungkin Anda ingin mengubah direktori, saya tidak tahu direktori mana yang digunakan Gnome 3) Jika Anda benar-benar menyukainya, Anda dapat memulai perintah ini dalam sebuah skrip setiap kali gnome dimulai.

fain182
sumber
3
+1 Ini adalah trik kecil yang rapi, tetapi regex Anda seharusnya 's / \:/\./ g'
Mark E. Haase
Pilihan pengganti lain: gunakan karakter unicode
LiuYan 刘 研
Perhatikan bahwa tangkapan layar disimpan secara default ~/Pictures, bukan ~/Desktop.
MestreLion
9

Alih-alih menginstal perangkat lunak tambahan dan menulis kode ini di alat tangkapan layar, berikut adalah solusi untuk mengubah nama file setelahnya.

Yang perlu Anda lakukan adalah menavigasi ke direktori dan menjalankan perintah berikut

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

Ini akan mengganti semua titik dua dengan tanda hubung di semua nama file yang diakhiri .pngdengan yang ada di direktori saat ini.

tidak tertarik
sumber
Kurang optimal, tetapi solusi yang lebih mudah daripada yang diusulkan oleh fain182 . +1
gertvdijk
6

gnome-screenshottidak mengizinkan pengaturan default global untuk nama file tangkapan layar, tetapi Anda dapat menggunakan -fopsi untuk menentukan nama file pada baris perintah.

Kita dapat menggunakannya untuk menulis skrip bash kecil yang akan menggantikan gnome-screenshotbiner asli dan akan menjalankan yang asli dengan parameter nama file yang benar.

Perhatikan bahwa Anda harus memiliki hak akses root untuk operasi berikut, jadi awali setiap perintah dengan sudoatau buka shell root sudo -i.

  1. Pindahkan gnome-screenshotbiner asli keluar dari jalan:

    dpkg-divert --add --rename --divert /usr/bin/gnome-screenshot.real /usr/bin/gnome-screenshot
  2. Buka /usr/bin/gnome-screenshotdi editor (Anda akan melihat file kosong baru):

    editor /usr/bin/gnome-screenshot
  3. Rekatkan dua baris berikut ke dalam editor:

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

    Anda dapat memasukkan jalur apa pun yang Anda suka setelah -f; pastikan untuk melampirkannya dalam tanda kutip dan untuk menjaga $@setelahnya.
    Dalam contoh ini, tangkapan layar akan disimpan dengan nama file seperti /home/yourusername/Pictures/Screenshots/2011-07-31_12-13-04.png. Lihat man datedetail di date +%…sintaks.

  4. Simpan file dan tutup editor (mis. Menggunakan Ctrl+ Xdi Nano atau :wqdi Vim).

  5. Jadikan skrip yang baru dibuat dapat dijalankan:

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

Shutter adalah aplikasi lain untuk mengambil tangkapan layar yang memungkinkan Anda untuk menyesuaikan nama file: Anda dapat menginstalnya dari Ubuntu Software Center.

Marco Lackovic
sumber
1
Bidik luar biasa dengan sendirinya, dan ini adalah imho ini adalah pendekatan terbaik: alih-alih memperbaiki nama file yang buruk, jangan menghasilkan mereka!
MestreLion
Misalnya, nama file dalam Shutter mungkin memiliki wildcard berikut: $nb_name_%Y-%m-%d-%H%M%S. Anda dapat mengaturnya di Preferensi.
Vladimir S.
1

Jika:

  1. Anda terbiasa dengan alat pengeditan biner seperti bless(lihat paket ubuntu misalnya atau github ),
  2. dan Anda tahu pengubah format string C,
  3. dan Anda tahu perbedaan antara 0x0dan "0",
  4. dan Anda tidak keberatan main-main dengan file biner yang diinstal oleh distribusi pilihan Linux Anda,

maka Anda dapat memodifikasi nama file yang digunakan oleh gnome-screenshot.

Saat mengedit biner gnome-screenshot, Anda akan menemukan dua format string:

  1. %Y-%m-%d %H-%M-%S diikuti oleh byte nol,
  2. dan Screenshot from %s.%sdiikuti oleh byte nol.

Dalam string format kedua, yang pertama %sadalah tanggal, yang kedua %sadalah ekstensi file.

Dari sini, Anda dapat, misalnya, menimpa %Y-%m-%d %H-%M-%S dengan %F-%H%M%Sdiikuti oleh byte nol dan Screenshot from %s.%sdengan shot %s.%sdiikuti dengan byte nol: screenshot kemudian diberi nama "shot 2018-05-05_174857.png"misalnya.

Beradaptasi dengan preferensi Anda.

Ada dua kendala:

  1. format tanggal baru dan format nama file baru tidak boleh lebih lama dari yang asli,
  2. kustomisasi Anda akan dimusnahkan jika Anda menginstal versi baru gnome-screenshot, misalnya saat memperbarui sistem Anda.

Peringatan:

  • Diuji pada Ubuntu 16.04 LTS, jarak tempuh Anda mungkin beragam.
  • Ini adalah retasan , bukan cara bersih untuk memodifikasi nama default yang dihasilkan oleh gnome-screenshot: buat cadangan sebelum melanjutkan.
  • Diposting tanpa jaminan apa pun.
EKP
sumber
0

Di Debian 8.6 KDE → Pengaturan sistem → Shortcut kustom, saya telah mengatur Trigger → PrtScn, dan Action →

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

dan itu bekerja dengan baik.

Flavio R. Cavalcanti
sumber
Saya ingin tahu versi Debian mana yang terakhir lima tahun lalu.
mook765