Накатал скриптик вывода скоростей входящего и исходящего трафиков в цифровом виде под панельный плагин
xfce4-genmon-plugin.
Что выдает? До 4 знаков значение скоростей в килобайтах в секунду (с простой коррекцией выдаст и 5, и 6 и сколько надо). Кому надо, могут изменить делитель и выводить в мегабайтах в секунду. Либо в кило-мегабитах. Все необходимые комментарии для коррекции в скрипте есть.
Как пользоваться?
- установить плагин
xfce4-genmon-plugin;
- разместить скрипт в нужном месте (разрешить выполнение);
- В скрипте заменить мой сетевой интерфейс (wlp5s1) на свой - в скрипте он в двух строках с присвоением значений массивам speed. (наименования своих интерфейсов смотрите командами ifconfig, iwconfig, ip, iw и т.д.);
- Вывод скоростей возможен в двух вариантах: в расширенном и в виде голых цифр (для чего комментируются 2 строки ненужного варианта в конце скрипта)
(справа столбики штатного плагина xfce)
- настраиваем плагин
xfce4-genmon-plugin. В нем обязательно выбираем МОНОширинный шрифт (любой, там их несколько). Иначе будет скакать ширина поля вывода и вслед за этим остальные плагины будут двигаться по панели. Вводим путь до скрипта и выставляем период обновления информации (не меньше 2-х сек, зависит от выставленного времени усреднения в скрипте, по умолчанию 1 сек). Неплохо со стабильностью показаний при значениях 4 сек усреднения (меняем в скрипте) и 5 сек в настройках плагина.
Ну и сам скрипт
#! /bin/bash
# Расчет скоростей load и upload сетевого интерфейса wlp5s1 (подставляйте свой)
# вывод в кбайт/сек
# Для работы в панельном плагине xfce4-genmon-plugin. Устанавливать моноширинный шрифт для фиксации ширины поля вывода.
# Интервал обновлениия устанавливать не менее 2 сек. (меньше скачут значения)
# Интервал обновления зависит от установленного в переменной int периода усреднения данных (по усмолчанию 1 сек)
# При увеличении периода усреднения (для сглаживания показаний), время обновления в плагине = int+1 сек
# Скрипт рассчитан для вывода до 4-х значных данных. Для 5-ти значных доработать блоки "Дополнение длины переменной …."
# период усреднения, влияет на выбор времени обновления данных плагина xfce4-genmon-plugin
int=1
# Считывание числа скачанных и переданных байтов с интервалом в 1 сек
speed0=( $(awk '/wlp5s1:/ { print $2,$10}' /proc/net/dev) ) # присвоение текущих значений количества load и upload байтов
sleep $int
speed=( $(awk '/wlp5s1:/ { print $2,$10}' /proc/net/dev) ) # присвоение текущих значений количества load и upload байтов
# Расчет скорости
del=$(( $int * 1024 ))
#
# для входящего трафика
load=$(( (${speed[0]} - ${speed0[0]}) / $del )) # скорость входящего трафика, переход от байт к КиБ
# Дополнение длины переменной до 4-х знаков
lgth=`expr length $load`
case "$lgth" in
[1] ) load=`echo " $load"`;; # добавлено 3 пробела
[2] ) load=`echo " $load"`;; # добавлено 2 пробела
[3] ) load=`echo " $load"`;; # добавлен 1 пробел
[4] ) load=`echo "$load"`;; # без пробела
[*] ) echo "данные не считаны";;
esac
#
# для исходящего трафика
upload=$(( (${speed[1]} - ${speed0[1]}) / $del )) # скорость исходящего трафика, переход от байт к КиБ
# Дополнение длины переменной до 4-х знаков
lgth=`expr length $upload`
case "$lgth" in
[1] ) upload=`echo " $upload"`;; # добавлено 3 пробела
[2] ) upload=`echo " $upload"`;; # добавлено 2 пробела
[3] ) upload=`echo " $upload"`;; # добавлен 1 пробел
[4] ) upload=`echo "$upload"`;; # без пробела
[*] ) echo "данные не считаны";;
esac
# 1-й вариант вывода с указанием типа трафика и размерности (килобайт/сек).
# Раскоментировать нужный вариант.
echo " in-$load kB"
echo "out-$upload kB"
# 2-й вариант вывода - только цифры. Сверху входной трафик, снизу выходной в килобайтах/сек.
#echo "$load"
#echo "$upload"
Движок почему-то корежит текст скрипта, поправьте у себя, должно быть так: