Я НЕ хочу, чтобы снимки экрана сохранялись в файл.

Вопрос или проблема

При создании снимка экрана в Ubuntu 22.04 с помощью клавиши PrtSc изображение всегда сохраняется в каталоге ~/Pictures/Screenshots/. Однако я почти всегда вставляю это изображение в другое приложение и не хочу, чтобы оно сохранялось как файл. Кроме засорения этого каталога ненужными файлами, я не хочу, чтобы некоторая конфиденциальная информация со снимков экрана попадала в файловую систему.

Обратите внимание, что я говорю о новой “встроенной” функции создания снимков экрана GNOME 42.x, которая активируется с помощью клавиши PrtSc, а не о старом приложении Screenshot (gnome-screenshot).

Есть ли какая-либо скрытая опция, чтобы отключить или хотя бы изменить каталог назначения? Если нет, мне придется переключиться на старые приложения, такие как gnome-screenshot или flameshot.

Кажется, что это работает для меня, если я создаю символическую ссылку на каталог снимков экрана на /dev/null:

mv ~/Pictures/Screenshots ~/Pictures/Screenshots.old
ln -s /dev/null ~/Pictures/Screenshots

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

Вы можете назначить печать экрана (или любую комбинацию клавиш) на эту утилиту, называемую xfce4-screenshooter – вы можете использовать ее, даже если не используете рабочий стол xfce. По умолчанию она спросит, что нужно захватить (весь экран, активное окно, выбрать область и т.д.), и по умолчанию спросит, что делать со снимком экрана (сохранить на диск, скопировать в буфер обмена и т.д.), но вы можете добавить переключатели в команду, которая выполняется при нажатии клавиши PrintScreen. Например, “xfce4-screenshooter -c -f” сделает снимок всего экрана и скопирует его в буфер обмена.

В репозиториях mint пакет называется xfce4-screenshooter, я подозреваю, что он будет аналогичным во всех вариантах ubuntu.

В качестве альтернативы xfce4-screenshooter я мог бы рекомендовать Flameshot. У него много “наворотов”, и для меня самым полезным является возможность точно настроить область, которую я хочу скопировать.

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

При создании пользовательской горячей клавиши в настройках добавьте следующий код в раздел Command:

bash -c "gnome-screenshot -af ~/Pictures/Screenshots/_custom_screenshot && xclip ~/Pictures/Screenshots/_custom_screenshot -selection clipboard -target image/png; rm ~/Pictures/Screenshots/_custom_screenshot"

Убедитесь, что у вас установлены gnome-screenshot и xclip.

Вот идеальное решение для этого:
https://forum.zorin.com/t/take-area-screenshot-without-saving-in-disk-in-gnome-screenshot/43996/11?u=sh_fahim

по сути, добавьте эту команду как свою пользовательскую горячую клавишу, и вы в деле:
bash -c 'gnome-screenshot -af "$XDG_RUNTIME_DIR"/_custom_screenshot && xclip "$XDG_RUNTIME_DIR"/_custom_screenshot -selection clipboard -target image/png; rm "$XDG_RUNTIME_DIR"/_custom_screenshot'

Еще одно решение, если вы тоже не хотите иметь каталог Pictures, это установить XDG_PICTURES_DIR="/tmp" или XDG_PICTURES_DIR="/dev/null" в ~/.config/user-dirs.dirs, так как каталог Screenshots создается внутри Pictures.

.

Ответ или решение

В контексте использования Ubuntu 22.04 и нового встроенного функционала GNOME 42.x для снятия скриншотов, часто возникает необходимость копирования изображения в буфер обмена без его сохранения на диск. Наличие "лишних" файлов может не только заполнять дисковое пространство, но и вызывать риски безопасности, особенно если скриншоты содержат конфиденциальную информацию. Рассмотрим, как можно решить эту задачу более эффективно.

  1. Использование символической ссылки на /dev/null:
    Один из простых способов заключается в создании символической ссылки (symlink) для директории скриншотов, направляющей файлы в /dev/null. Команда для этого будет следующей:

    mv ~/Pictures/Screenshots ~/Pictures/Screenshots.old
    ln -s /dev/null ~/Pictures/Screenshots

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

  2. Настройка клавиатурных сокращений с использованием gnome-screenshot и xclip:
    Создание пользовательской команды для снятия скриншота и копирования его в буфер обмена без сохранения на диск с помощью gnome-screenshot и xclip обеспечит нужную функциональность:

    bash -c 'gnome-screenshot -af "$XDG_RUNTIME_DIR"/_custom_screenshot && xclip "$XDG_RUNTIME_DIR"/_custom_screenshot -selection clipboard -target image/png; rm "$XDG_RUNTIME_DIR"/_custom_screenshot'

    Для этого убедитесь, что у вас установлены пакеты gnome-screenshot и xclip.

  3. Переназначение директории XDG_PICTURES_DIR:
    Если вы не хотите, чтобы директория Pictures вообще существовала или содержала скриншоты, можно изменить переменную XDG_PICTURES_DIR в файле ~/.config/user-dirs.dirs:

    XDG_PICTURES_DIR="/tmp"

    или

    XDG_PICTURES_DIR="/dev/null"

    Это обеспечит создание директории Screenshots в альтернативном месте, уводя ненужные файлы в системные директории, такие как временные папки.

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

Эта информация поможет лучше интегрировать возможности снятия скриншотов с учетной записью Ubuntu на базе GNOME 42.x, улучшая управление данными и обеспечивая безопасность при работе с конфиденциальной информацией.

Оцените материал
Добавить комментарий

Капча загружается...