Автор Тема: Вывод произвольной информации на панель XFCE  (Прочитано 3575 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ek-nfn

  • Местный
  • *****
  • Автор темы
  • Сообщений: 1422
В XFCE есть такой панельный плагин - xfce4-genmon-plugin. Этот модуль периодически запускает указанный сценарий/программу и показывает её текстовый вывод в панели. Полезен для периодического наблюдения за состоянием различных параметров системы и запущенных программ.

Например, меня не устраивают панельные плагины, отражающие информацию о занятости ОЗУ. Какие-то столбики и графики, по которым непонятно когда подвесит машину в очередном свопировании. Желательно иметь четкую информацию о количестве свободной памяти, чтобы успеть что-нибудь закрыть.

Пишем скриптик с такой конвейерной командой - echo $(( $(awk '/MemAvailable:/ { print $2 }' /proc/meminfo) / 1024 )) , отфильтровывающей нужный нам параметр для вывода на панель. В плагине делаем на него ссылку, устанавливаем период запуска скрипта, скажем 5 сек, и ....

Цифры информативней столбиков  ;D

Но чтобы не прозевать момент начала активного сброса в swap и старта связанных с этим процессом тормозов, лучше довериться автоматике.
#!/bin/bash
# Подача сигнала при остатке свободной памяти менее 700 мб и завершения работы Opera при пороге 400 мб

lim=700      # порог для выдачи визуально-звукового сообщения
lim_op=400      # порог завершения работы браузера Opera

mem=$(( $(awk '/MemAvailable:/ { print $2 }' /proc/meminfo) / 1024 ))
 
if [ "$lim" -gt "$mem" ]
then
aplay  /home/nfn/Музыка/Система/low/Ping.wav   # звуковой сигнал
DISPLAY=:0.0 notify-send "свободной памяти менее 700 мб"    # всплывающее сообщение
fi

# Завершение Opera при памяти меньше 400 мб
if [ "$lim_op" -gt "$mem" ]
then
killall opera
aplay /home/nfn/Музыка/Система/low/Ping.wav
DISPLAY=:0.0 notify-send "killall Opera"
fi

По комментариям все понятно. Жертвой выбрана Opera, как самое прожорливое приложение. При достижении лимита свободной памяти ее просто закрывает в случае, если ранее я не среагировал по визуально-звуковому сообщению и не закрыл ненужные окна.
Пороги срабатывания выбираете исходя из общего объема ОЗУ.
« Последнее редактирование: Август 29, 2017, 20:29:31 от ek-nfn »
Devuan ASCII x32..x64