Запустить этот скрипт (или настроить автозапуск этого скрипта при входе в систему):
#!/bin/bash -euET
{
set -o pipefail
export DBUS_SESSION_BUS_ADDRESS="${DBUS_SESSION_BUS_ADDRESS:-unix:path=/run/user/$(id -u)/bus}"
export DISPLAY="${DISPLAY:-:0}"
xscreensaver-command -watch | while read -r line ; do
echo "handling event: $line"
if [[ $line = LOCK* ]]; then
volume=$(pamixer --get-volume)
echo "current volume is $volume"
pamixer --set-volume 0
fi
if [[ $line = UNBLANK* ]]; then
echo "setting volume to $volume"
pamixer --set-volume "$volume"
fi
done
exit
}
Объяснение:"демон" часть этого скрипта xscreensaver-command -watch
будет зависать и ждать каких-либо событий от xscreensaver. Всякий раз, когда происходит событие "LOCK" или "UNBLANK", громкость звука обнуляется и восстанавливается соответственно.
Я не думаю, что GNU ls
может раскрашивать условно на основе владельца группы.
Однако вы можете использовать программу-фильтр, например GRC(Generic Colouriser ). GRC дополнительно окрашивает выходные данные команд, в том числе делает владельца root/группы красным :
.Итак, в Debian/Ubuntu это sudo apt install grc
, а затем alias ls='grc -es ls -ph --color=auto'
,затем вы можете запустить ls -l
или ll
(, предполагаяalias ll='ls -l'
).