Изменить местоположение сохраненного снимка экрана, когда снимок экрана сделан кнопкой printscreen

Я хочу изменить местоположение по умолчанию " Сохранить снимок экрана для изображений ", чтобы сохранить его на рабочем столе.

Если это невозможно, есть ли другой способ сделать это? Я использую Ubuntu GNOME 17.04.

ПРИМЕЧАНИЕ: я не хочу менять местоположение с помощью dconf-editor так как он меняет расположение апплета скриншота, а не ярлыка, который мне нужен.

5 ответов

Решение

Оказывается, это не так просто. Сначала вы можете попытаться установить ~/Desktop в качестве каталога автосохранения для gnome-screenshot следуя инструкциям ниже.

  1. Откройте редактор dconf.
  2. Перейдите к /org/gnome/gnome-screenshot/auto-save-directory,
  3. Отключить Использовать значение по умолчанию.
  4. Положил file:///home/YOUR_USERNAME/Desktop в поле Пользовательское значение.

В качестве альтернативы вы можете просто запустить следующую команду в Терминале:

gsettings set org.gnome.gnome-screenshot auto-save-directory 'file:///home/YOUR_USERNAME/Desktop'

Но даже после этого, если вы нажмете " Печать", сделанные снимки экрана будут сохранены в ~\Pictures (см. этот отчет об ошибке). В качестве обходного пути вы можете добавить еще одно сочетание клавиш для gnome-screenshot который сохранит снятые скриншоты в ~/Desktop, Для этого следуйте инструкциям.

  1. Откройте " Настройки"> "Клавиатура" и прокрутите вниз.
  2. Нажмите на символ +. Коробка должна появиться.
  3. Введите любое имя в поле " Имя".
  4. Войти gnome-screenshot в поле команд.
  5. Нажмите кнопку Set Shortcut... и установите любую комбинацию клавиш, которая не вызывает конфликтов, например Super+Print.

Затем выйдите и войдите снова. Теперь Super+Print должен сохранить захваченный скриншот в ~/Desktop,

PS для удобства вы можете сначала изменить ярлык "Сохранить снимок экрана для изображений" на что-то другое, например Super+Print, и назначить для печати только что созданный вами ярлык.


Вы можете уточнить, какой тип скриншота вы хотите, используя следующие флаги в командной строке (gnome-screenshot <FLAGS>):

  • -a (для 'area') позволит вам выбрать область, чтобы сделать снимок экрана с использованием мыши;
  • -w (для 'окна') будет делать скриншот только активного в данный момент окна (а не всего экрана);
    • -b будет включать границу окна на скриншоте,
    • -B не будет включать границу,
  • -p (для "указателя") будет включать указатель мыши на скриншоте (не будет иметь никакого эффекта с -a очевидно);
  • -i (для "интерактивного") позволит вам установить параметры во всплывающем диалоге.

Вы можете комбинировать флаги вместе: например, gnome-screenshot -wB сделает скриншот текущего активного окна без его границы.

Вы можете получить исчерпывающий список доступных опций / флагов через man gnome-screenshot,

Установите расширение для гномов Скриншоты локаций от TimurKiyivinski. Престижность ему за упаковку изменений, которые разработчики команды GNOME не хотели внедрять в расширение и, таким образом, облегчающих решение проблемы. РЕДАКТИРОВАТЬ: Вам все еще нужно изменить путь по умолчанию с помощью редактора dconf, очевидно.

Поскольку приложение скриншотов по умолчанию всегда сохраняет скриншоты ниже $HOME/Pictures и нет никакого очевидного способа перенастроить этот каталог, я написал комбинацию systemd пользовательские блоки для мониторинга каталога $HOME/Pictures, Всякий раз, когда что-то в этом каталоге изменяется, все файлы с именем $HOME/Pictures/"Screenshot from"* перемещены в подкаталог $HOME/Pictures/Screenshots,

Вот что я сделал:

Создать файл /etc/systemd/user/screenshot-mover.path:

[Unit]
Description=Screenshot Watcher
Documentation=man:systemd.path
AssertPathIsDirectory=%h/Pictures
AssertPathIsDirectory=%h/Pictures/Screenshots

[Path]
PathChanged=%h/Pictures

[Install]
WantedBy=default.target

Создать файл /etc/systemd/user/screenshot-mover.service:

[Unit]
Description=Screenshot Mover
Documentation=man:systemd.service
AssertPathIsDirectory=%h/Pictures
AssertPathIsDirectory=%h/Pictures/Screenshots
ConditionPathExistsGlob=%h/Pictures/Screenshot\ from*

[Service]
Type=oneshot
WorkingDirectory=%h/Pictures
ExecStart=/bin/sh -c '/bin/mv -v -t Screenshots "Screenshot from"*'

Затем для каждого пользователя, который хочет этот механизм, выполните:

systemctl --user daemon-reload
systemctl --user enable --now screenshot-mover.path

Не запускайте эти команды как пользователь root, но как пользователь.

Что оно делает:

Всякий раз, когда что-то на пути $HOME/Pictures изменения, единица screenshot-mover.service вызывается и перемещает каждый файл, который соответствует $HOME/Pictures/"Screenshot from"* в подкаталог $HOME/Pictures/Screenshots, Я знаю, что это взлом, но этот подход работает для меня уже несколько месяцев, и я просто хотел поделиться им.

Этот ответ является скорее дополнением к pomsky.

В Ubuntu 18.04 Bionic Beaver можно использовать AltGr для изменения поведения по умолчанию. Например, мои текущие настройки имеют:

  1. Печать для gnome-screenshot command
  2. Shift + Печать для gnome-screenshot -a
  3. Супер + Принт для gnome-screenshot -wB (нет возможности переопределить Alt + Print)

Чтобы установить их, я использовал AltGr в дополнение к самим ярлыкам. (Спасибо, что спросили RichieHH)

Кроме того, команды по умолчанию отключены.

И небольшая заметка. Очевидно, что нет смысла менять ярлыки для копирования скриншотов в буфер обмена.

На Elementary OS Juno, которая основана на Ubuntu 18.04, даже после удаления всех инструментов для создания скриншотов, таких как gnome-screenshot или screenshot-tool, вы все равно можете использовать PrtSc или же Shift+PrtSC сделать скриншот. Итак, когда PrtScна самом деле вызывается другой инструмент для создания скриншотов, и по умолчанию картинка сохраняется в XDG_PICTURES_DIR, Вы можете изменить эту переменную среды XDG_PICTURES_DIR в ~/.config/user-dirs.dirs,

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
# 
XDG_DOWNLOAD_DIR="$HOME/Downloads"
...
XDG_PICTURES_DIR="$HOME/Pictures/screenshots"

Так что, возможно, в Ubuntu GNOME 17.04 это тоже так. Затем вы также можете использовать вышеуказанный метод, чтобы изменить местоположение сохраненного скриншота.

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