Как отключить звук затвора gnome-screenshot?

Как отключить звук затвора gnome-screenshot?

После недавнего обновления моегоЛМДЭ, gnome-screenshotинструмент начал издавать раздражающий звук затвора камеры каждый раз, когда делается снимок экрана. Это одновременно раздражает и пугает (особенно если вы случайно надели наушники, когда делали снимок экрана).

Я проверил manстраницу gnome-screenshot`, но там не было соответствующих опций. Как мне сделать тихие скриншоты?

решение1

Я нашел решение.здесь. Воспроизводимый звук — /usr/share/sounds/freedesktop/stereo/camera-shutter.oga. Поэтому простое переименование этого файла остановит его воспроизведение:

sudo mv /usr/share/sounds/freedesktop/stereo/camera-shutter.oga \
    /usr/share/sounds/freedesktop/stereo/damn-camera-shutter.oga

Вот и все, в следующий раз, когда вы сделаете снимок экрана, это будет сделано в тишине.

решение2

Другое решение 1 имеет некоторые неудобства:
- требует прав root
- это глобальное изменение, поэтому оно затрагивает всех пользователей
- обновление sound-theme-freedesktopвосстанавливает файл

Для справки, правильный способ сделать это (и избежать всего вышеперечисленного) — черезпользовательская звуковая темакоторый отключает 2 звуковой файл по умолчанию, используемый gnome-screenshot(имя файла screen-capture.ogaсоответствует событию screen-capture- жестко закодировано вgnome-settings-daemonиgnome-screenshot).
Создайте каталог пользовательской темы:

mkdir -p ~/.local/share/sounds/__custom

создайте .disabledфайл:

touch ~/.local/share/sounds/__custom/screen-capture.disabled

добавить index.theme:

cat << 'EOF' > ~/.local/share/sounds/__custom/index.theme
[Sound Theme]
Name=__custom
Inherits=freedesktop
Directories=.
EOF

установить __customв качестве имени темы по умолчанию:

gsettings set org.gnome.desktop.sound theme-name '__custom'

Или, если вы используете корицу:

gsettings set org.cinnamon.desktop.sound theme-name '__custom'

и наслаждайтесь тишиной...


1: Да, я знаю, что это на самом деле мое решение, но когда я размещал его на форумах Arch, мне было просто лень...

2: Формат псевдофайла ".disabled" используется для отключения звуков в теме, которая наследует от другой темы. Если алгоритмы поиска звука обнаруживают файл с суффиксом ".disabled", он немедленно прекращает логику поиска и считает звук недоступным. Все файлы с суффиксом ".disabled" должны иметь нулевую длину.

решение3

Переименование файла звука затвора допустимо, но, вероятно, не сработает, если у вас нет root-доступа к системе. Вот альтернативный подход:

#!/bin/bash
volume=$(amixer sget Master | awk -F '[],[,%]'  '/%/{print $2 }')
amixer sset Master 0
gnome-screenshot
amixer sset Master "$volume"%

Этот скрипт запоминает процент громкости, временно устанавливает громкость на 0, делает снимок экрана, а после gnome-screenshotзавершения процесса громкость восстанавливается до исходного процента.

Преимущество этого подхода в том, что он гибкий и может быть настроен в соответствии с вашими потребностями. Этот скрипт можно привязать к кнопке PrntScr или к пользовательскому сочетанию клавиш.

Протестировано на Ubuntu 16.04 LTS

решение4

При использовании инструментов Gnome лучшим вариантом может быть использование настроек Gnome. Отключение "системных звуков" в настройках звука делает их тихими, и они не являются глобальными, а начиная с gnome-44 и далее выбор "none" для звуковой темы дает тот же эффект: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6376

или, изhttps://www.reddit.com/r/gnome/comments/udjdi9/remove_screenshot_capture_sound/:

В gnome-control-centerразделе звуков переключитесь на любой звук будильника, отличный от текущего, и переключитесь обратно. Это обеспечит создание структуры каталогов и файлов, необходимых для следующего шага. Затем выполните:

touch ~/.local/share/sounds/__custom/screen-capture.disabled
touch ~/.local/share/sounds/

Связанный контент