Как можно сказать именем, я - дополнительная параноидальная Panda и для защиты моего бамбука, я не хочу, чтобы мой входной объем шел на всякий случай, если я получаю некоторое шпионское ПО, которое слушает мой звуковой вход. В основном я просто хочу быть максимально в безопасности так, чтобы никакая другая Panda не слушала в на моих бамбуковых секретах Panda (куда я поместил все это).
Таким образом, в основном это - то, что я хочу, сценарий который:
Проверки, является ли входной объем для моего микрофона (или какие-либо звуковые устройства ввода данных) на 0% равномерно
Предупреждает меня через notify-send
каждые 5 минут, если это идет
Опция в рамках сценария (как булевская переменная или что-то), который не находится на по умолчанию, но если это включено, сделает его так, чтобы, когда входной объем идет, я был предупрежден, что это шло и было выключено, и для сценария, очевидно, также (вероятно, прежде, чем предупредить меня) для выключения входного объема
Может просканировать несколько входных источников так, чтобы, например, если у меня есть 2 микрофона, 1, был отключен звук, но другой не, это не просто предполагает, что все хорошо
Я выполняю Ubuntu GNOME 15.10 с GNOME 3.18. Как это может быть сделано? Я не ожидаю там быть одним (вот почему, я прошу сценарий), но если существует приложение, которое может сделать это, затем рекомендуйте это.
Вот простой сценарий, который сканирует данный входной источник pulseaudio для того, чтобы быть muted*.
Источник может быть дан как pulseaudio исходный индекс, как может быть перечислен с:
pactl list sources
Если источник не был отключен звук, предупреждающее сообщение будет отображено в настольном уведомлении.
#!/bin/bash
#
# Forces a pulseaudio source to be muted
#
# Usage:
# micmute <source> <wait> <--force>
# <source>: pulseaudio source index number
# <wait>: seconds to wait for checking
# <--force>: force muting microphone and notify
source="$1"
wait="$2"
force="$3"
echo "Scanning input #$source every $wait seconds."
while true; do
if ! (pactl list sources | sed -n '/^Source #'"$source"'/,/^$/p' | grep "Mute: yes"); then
if [[ $force == "--force" ]]; then
pactl set-source-mute $source 1
notify-send "Muting input $source"
else
notify-send "WARNING - input $source is not muted"
fi
fi
sleep $wait ## CLI option seconds to wait
done
Сохраните тот сценарий с любым именем (например. micmute
) и дайте ему исполняемое разрешение. Со сценарием затем можно назвать
./micmute <source> <wait> [--force]
<source>
индекс источника микрофона, который будет просканирован.
<wait>
определит время в секундах, после которых мы повторяем наш запрос для исходного устройства с отключенным звуком.
--force
дополнительный флаг должен вызвать отключение звука нашего источника.
Для меня следующая строка в качестве примера запросит бесшумное состояние моего микрофона (индекс 2
) каждые 5 минут, и это вынужденно отключит звук его, если это было нес отключенным звуком.
./micmute 2 300 --force
* я предпочел отключать звук по регулированию громкости к 0
из-за преимущества для восстановления предыдущих параметров громкости на неотключении звука.