Как изменить цвета для файлов, владельцем которых является `root `?

Запустить этот скрипт (или настроить автозапуск этого скрипта при входе в систему):

#!/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", громкость звука обнуляется и восстанавливается соответственно.

0
16.06.2021, 21:48
1 ответ

Я не думаю, что GNU lsможет раскрашивать условно на основе владельца группы.

Однако вы можете использовать программу-фильтр, например GRC(Generic Colouriser ). GRC дополнительно окрашивает выходные данные команд, в том числе делает владельца root/группы красным :

.

screenshot of GRC with a directory listing

Итак, в Debian/Ubuntu это sudo apt install grc, а затем alias ls='grc -es ls -ph --color=auto',затем вы можете запустить ls -lили ll(, предполагаяalias ll='ls -l').

1
28.07.2021, 11:24

Теги

Похожие вопросы