Как я могу изменить имя по умолчанию для снимков экрана, сделанных с помощью gnome-screenshot?

Gnome-screenshot 3.1.2 использует такие имена файлов, как этот

Снимок экрана на 31.07.2011, 12: 13: 04.png

что позволяет легко увидеть, когда оно было снято.

Проблема в том, что он использует символ двоеточия (:), что делает невозможным доступ к такому изображению из Windows.

Учитывая, что я делаю большую часть своих снимков экрана, я может отправить их пользователям Windows, это вызвало некоторые проблемы.

Есть ли способ изменить имя по умолчанию, используемое инструментом для создания снимков экрана, чтобы заменить ":" на "." или ","?

38
задан 12 January 2013 в 15:15

9 ответов

В Debian 8.6 KDE → Системные настройки → Пользовательские ярлыки я установил Триггер → PrtScn и Действие →

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

, и все работает нормально.

0
ответ дан 29 December 2020 в 01:51

Чтобы расширить этот ответ , который применяется к Debian, это относится к Ubuntu 20.04 «Focal Fossa» :

Я установил собственное сочетание клавиш:

gnome-screenshot [--flags] --file=file:///home/User/Pictures/Screenshots/$(date +%F_%H-%M-%S).jpg

(Если вы копируете это, замените [11863 4] Пользователь с вашим собственным именем пользователя.)

- flags может быть любым из вариантов. Вы можете узнать больше о gnome-screenshot из этого руководства .

Я установил запуск ярлыка с помощью кнопки PRINT SCR , и он работает как очарование для меня сейчас.

0
ответ дан 4 January 2021 в 02:21

gnome-screenshot не позволяет установить глобальное значение по умолчанию для имен файлов скриншота, но вы можете использовать -f опцию для указания имени файла в командной строке.

Мы можем использовать это для написания небольшого bash скрипта, который займет место оригинального двоичного скриншота гномов и выполнит оригинал с правильным параметром имени файла.

Обратите внимание, что вы должны иметь права root для следующих операций, поэтому префикс каждой команды с помощью sudo или откройте корневую оболочку с помощью sudo -i.

  1. Переместите оригинальный gnome-screenshot.real /usr/bin/gnome-screenshot.real /usr/bin/gnome-screenshot.com с пути:

    dpkg-divert --add --rename --divert /usr/bin/gnome-screenshot.real
    
  2. Открыть /usr/bin/gnome-screenshot в редакторе (вы должны увидеть новый пустой файл):

    редактор /usr/bin/gnome-screenshot
    
  3. Вставьте следующие две строки в редактор:

    #!/бин/бэш 
    gnome-screenshot.real -f "$HOME/Pictures/Screenshots/$(дата +%F_%H-%M-%S).png" $@
    

    После -f вы можете вставить любой путь, который вам нравится; просто убедитесь, что он заключен в кавычки и сохраните $@ после него.
    . В этом примере скриншоты будут храниться под такими именами файлов, как /home/yusername/Pictures/Screenshots/2011-07-31_12-13-04.png. Смотрите man date для получения подробной информации о синтаксисе date +%....

  4. Сохраните файл и закройте редактор (например. используя Ctrl + X в Nano или :wq в Vim).

  5. Сделайте вновь созданный скрипт исполняемым:

    chmod a+x /usr/bin/gnome-screenshot
    
11
ответ дан 4 January 2021 в 02:21

Вот моя. Я расширил ответ n.st.

Создайте сценарий оболочки для вызова gnome-screenshot

Сохраните это в файл: / usr / bin / area_screenshot

Возможно, вам понадобится использовать sudo . Поэтому используйте vi для его создания. sudo vi / usr / bin / area_screenshot

Скопируйте в него приведенный ниже код.

#!/bin/bash

screenshot_dir="$HOME/Documents/screenshot"
current_year_dir="$screenshot_dir/$(date +%Y)"
current_month_dir="$current_year_dir/$(date +%Y_%m)"
fileout="$current_month_dir/$(date +%Y_%m%d_%H%M%S).png"

# Step 1: Check for screenshot directory 
[ -d "$screenshot_dir" ] || mkdir "$screenshot_dir"

# Step 2: Check year and month directory
[ -d "$current_year_dir" ] || mkdir "$current_year_dir"
[ -d "$current_month_dir" ] || mkdir "$current_month_dir"

# Step 3: Take area screenshot, and save to the current month 
[ -d "$current_month_dir" ] && /usr/bin/gnome-screenshot -a -f "$fileout" $@

Затем отметьте файл как исполняемый. chmod ugo + x / usr / bin / area_screenshot

Затем с помощью сочетаний клавиш установите area_screenshot на кнопку Экран печати . Вам нужно будет создать для этого собственный ярлык (может быть, кто-то еще может связать пример для этого).

Для чего это нужно?

Снимок экрана будет создан в HOME / Documents / YEAR / YEAR_MONTH / filex.png .

Где filex.png имеет формат ГГГГ_MMDD_HHMMSS.png . Так, например, 2019_1220_121314.png .

Чем это полезно? Я считаю, что этот метод очень полезен для создания снимков экрана с комментариями и статьями. Со временем я много снимаю, поэтому очень удобно автоматически распределять их по подпапкам. Затем с годами они продолжают накапливаться, а подпапка год поддерживает ее в хорошей организации. Я обычно помещаю текущий месяц в избранное (в Windows) и вручную обновляю его каждый месяц, так как обычно мне нужно смотреть только на текущий месяц.

Было бы здорово, если бы Ubuntu, Fedora и т. Д. Сделали что-то подобное в качестве стандарта для Linux. Пожалуйста, возьмите мой пример кода и сделайте его таким! Это поможет всем, если их скриншоты будут хорошо организованы.

0
ответ дан 4 January 2021 в 02:21

Если:

  1. вы знакомы с такими инструментами редактирования двоичных файлов, как bless (например, см. пакет ubuntu или github ]),
  2. и вы знаете модификаторы формата строки C,
  3. , и вы знаете разницу между 0x0 и «0» ,
  4. , и вы не возражаете с двоичными файлами, установленными выбранным вами дистрибутивом Linux,

затем вы можете изменить имя файла, которое используется gnome-screenshot .

При двоичном редактировании gnome-screenshot , вы найдете две строки формата:

  1. % Y-% m-% d% H-% M-% S , за которым следует нулевой байт,
  2. и Снимок экрана с% s.% s , за которым следует нулевой байт.

Во второй строке формата первый % s - это дата, второй % s - это расширение файла.

] Отсюда вы можете, например, перезаписать % Y-% m-% d% H-% M-% S с помощью [111 10294]% F-% H% M% S , за которым следует нулевой байт и Скриншот из% s.% S , выстрел% s.% S , за которым следует нуль byte: снимки экрана будут называться "shot 2018-05-05_174857.png" , например.

Адаптировать под свои предпочтения.

Есть два ограничения:

  1. новый формат даты и новый формат имени файла не должен быть длиннее исходного,
  2. ваши настройки будут уничтожены, если вы установите новую версию gnome-screenshot , например, при обновлении вашей системы.

Предупреждения :

  • Протестировано на Ubuntu 16.04 LTS, ваш пробег может отличаться.
  • Это хак , а не чистый способ изменения имени по умолчанию, сгенерированного gnome-screenshot : прежде чем продолжить, сделайте резервную копию .
  • Размещено без каких-либо гарантий.
1
ответ дан 4 January 2021 в 02:21

Существует простой и грязный способ переименовать все скриншоты, сделанные сразу после создания, но вам нужно будет установить inotify-tools ( apt-get install inotify-tools), после чего вы сможете выполнить эту команду:

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

Пока будет выполняться эта команда, каждый раз, когда вы сохраняете новый снимок экрана в Pictures/, скрипт будет переименовывать каждый файл, содержащий :, заменяя : на .

(Может быть, вы хотите изменить каталог, я не знаю, какой каталог использует Gnome 3). Если вам действительно нравится, вы можете запускать эту команду в скрипте каждый раз, когда gnome запускается.

9
ответ дан 4 January 2021 в 02:21

Вместо установки дополнительных программного обеспечения и написав этот код в инструменте создания снимков экрана, вот обходной путь, чтобы впоследствии переименовать файлы.

Все, что вам нужно сделать, это перейти в каталог и выполнить следующую команду

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

Это заменит все двоеточия на тире во всех имена файлов, оканчивающиеся на .png из тех, что есть в текущем каталоге.

8
ответ дан 4 January 2021 в 02:21

ಶಟರ್ ಮತ್ತೊಂದು ಅಪ್ಲಿಕೇಶನ್ ಫೈಲ್ ಹೆಸರನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಸ್ಕ್ರೀನ್‌ಶಾಟ್‌ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು: ನೀವು ಅದನ್ನು ಉಬುಂಟು ಸಾಫ್ಟ್‌ವೇರ್ ಕೇಂದ್ರದಿಂದ ಸ್ಥಾಪಿಸಬಹುದು.

5
ответ дан 4 January 2021 в 02:21

На самом деле это невозможно легко изменить, возможно, вы сможете помочь с этим сообщением об ошибке.

(для любопытных, проверьте исходный код . В настоящее время соответствующей строкой является 134)

Обновление: Ошибка была исправлена на 2015-01-28 , заменив двоеточия на тире, что помогло. Но они, к сожалению, не убрали место.

14
ответ дан 4 January 2021 в 02:21

Другие вопросы по тегам:

Похожие вопросы: