Conky — это системный монитор который способен выводить любую информацию о состоянии системы в удобном для Вас виде и месте на экране.
С недавних пор conky перестал отображать уровень громкости в строке информации на моем нетбуке. Это не такой важный параметр, но все же решил восстановить справедливость работоспособность чисто из любопытства.
На официальной страничке посвященной conky разработчик пишет, что начиная с версии 1.8.1 весь код связанный с ALSA Mixer будет удален, так как в системах выводящих звук не через ALSA всегда имеется легкий путь получить этот параметр, а там где выводом звука занимается ALSA — conky выдает неверные показания. Будет ли поддержка ALSA Mixer через переменную $mixer в будущих версиях сказать трудно, такой информации от разработчиков не поступало и я склонен думать, что она и не появится вовсе.
Не все так плохо и по прежнему можно взять уровень системной громкости и отобразить его в conky, просто инструменты нужны другие. Общая схема будет такая:
- Пишем скрипт который будет запрашивать параметры и парсить вывод
- Помещаем скрипт в удобное место
- Conky запускает скрипт и выводит информацию на экран
Теперь детали, код скрипта и прочее.
amixer get Master | awk -F'[]%[]' '/%/ {if ($7 == "off") { print "Master Mute" } else { print $2"%" }}'
Этот код нужно вставить в файл скрипта с расширением .sh расположив его в любом удобном месте, главное чтобы раздел был смонтирован с exec. В моем случае скрипт с названием get_volume.sh лежит в /opt.
Присвоим скрипту права 744, или 755 если использовать его будут и другие пользователи системы. Теперь добавим код в .conkyrc
Volume: ${color white}${execi 10 /opt/get_volume.sh}
При добавление кода в конфиг conky системный монитор сам перезапустится уже с отображением громкости.