Użytkownicy telefonów
Windows Phone 8.1 doskonale znają zakładkę Czujnik
Danych, w której znaleźć można informację, o ilości pobranych danych
poprzez siec komórkową oraz łącze Wi-Fi. Okazuje się, że tworząc punkt
dostępowy do Internetu dla innych urządzeń na komputerze z zainstalowanym
systemem Linux, np. dystrybucją Lubuntu 14.04 można osiągnąć efekt podobny, a
nawet lepszy. Jest to bardzo przydatne, ponieważ możemy zaraz po uruchomieniu,
np. naszego laptopa, który wcześniej skonfigurowaliśmy w taki sposób, że
pierwszym interfejsem sieciowym łączymy się z odległą siecią Wi-Fi, a drugim
rozgłaszamy nasz Internet, sprawdzić ilość zużytego transferu. Zacznijmy od instalacji vnstat i vnsati.
Instalacja vnstat & vnstati
sudo apt-get install vnstat
sudo apt-get install vnstati
Teraz należy utworzyć
bazę danych, (jako root, czyli Start=>Uruchom=>gksudo lxterminal), w
której vnstat zgromadzi statystyki, podając nazwę interfejsu sieciowego, dla którego
chcemy zgromadzić statystyki:
vnstat -u -i ppp0 /* dla połączenia typu gsm
vnstat -u -i wlan1 /* dla karty wifi o interface wlan1
Nazwę interfacu sprawdzimy poleceniem iwconfig lun ifconfig.
Można też wpisać vnstat -u
-i eth0 lub vnstat -u -i lo jeżeli potrzebujemy wyniki dla
połączenia kablowego.
Po utworzeniu bazy
danych, należy ponownie uruchomić demona programu:
/etc/init.d/vnstat
restart
Polecenie
/etc/init.d/vnstat start przydatne jest także w
przypadku otrzymania komunikatu:
„Error:
Unable to read database“ lub w sytuacji, kiedy przez długi czas nie aktualizują
się dane zbierane przez program vnstat.
Sprawdźmy czy daemon
działa:
ps -f | grep vnst
Daeomona vnstat wypadałoby też dodać do autostartu, tak by ładował
się wraz ze startem systemu. Proponuje, zatem wydanie polecenie:
Rysunek 1. Jak widać daemon działa. |
sudo
update-rc.d vnstat defaults
Po jakimś czasie, kiedy
zebrane już zostaną statystyki, będziemy mieli do nich wgląd.
Vnstat wyniki
Wpisujemy w konsolę np.
vnstat -m /* wyniki miesięczne
vnstat -d /* wyniki dzienne
vnstat -w /* wyniki tygodniowe
vnstat -h /* wyniki godzinowe
vnstat /* ogólne podsumowanie statystyk (raport z ostatniego miesiąca oraz dzisiejszego i wczorajszego dnia):
vnstat -s /* raport ogólny w skróconej formie
vnstat -d -i wlan1 /*wynik dzienny dla wybranego interfacu, w tym przypadku dla wlan1
vnstat -l -i wlan1 /* raport na żywo dla interfacu wlan1, ctrl+c zatrzymuje raport na żywo
Vnstati wyniki
Wpisujemy w konsolę np.
vnstati
-i wlan1 -o plik.png -m /*utworzy plik o nazwie plik.png z
wynikami miesięcznymi dla interfacu wlan1
vnstati -i wlan1 -o
plik.png –d /*utworzy plik o
nazwie plik.png z wynikami dziennymi dla interfacu wlan1
vnstati -i wlan1 -o
plik.png -h /*utworzy plik o
nazwie plik.png z wynikami godzinowymi dla interfacu wlan1
vnstati -i wlan1 -o
plik.png -s /*utworzy plik o
nazwie plik.png z podsumowaniem dla interfacu wlan1
vnstati -i wlan1 -o
plik.png -hs /*utworzy plik o nazwie plik.png z
podsumowaniem dla interfacu wlan1 rozmieszczonym poziomo
vnstati -i wlan1 -o
plik.png -vs /*utworzy plik o nazwie plik.png z
podsumowaniem dla interfacu wlan1 rozmieszczonym pionowo
vnstati -i wlan1+wlan0 -o plik1.png -vs /* łączny (zsumowany) transfer z interfaceu wlan1 i wlan0
Instalacja
Conky Managera
Conky Manager to program
pozwalający wyświetlać informację na pulpicie zainstalowanego systemu Linux.
Instalujemy go za pomocą Software Center, a jeżeli to nie działa to korzystamy
z poniższych poleceń.
Wpisujemy w konsoli:
sudo
apt-add-repository ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install conky-manager
Teraz klikamy Start
=> Akcesoria => Conky Manager
Wybieramy Applications
settings i ustawiamy przełącznik „Run Conky at system startup „ w pozycja ON
oraz ustawiamy czas Startup Delay (seconds) na 10s.
Teraz klikamy Start=>
Uruchom i wpisujemy „gksudo pcmanfm“. Po lewej wybieramy „Drzewo katalogów“ i
przechodzimy do lokalizacji „/home/aa“. Teraz Ctrl+H pokaże ukryte pliki i
foldery. Wybieramy folder „.conky“ i pod folder TeejeeTech. Teraz klikamy
Prawym przyciskiem myszy i wybieramy Utwórz nowy =>Pusty plik. Utworzony
nowy plik nazywamy „Network Panel conky“
Teraz klikamy Start
=> Uruchom i wpisujemy „gksudo leafpad“ W otwartym edytorze z uprawnieniami
roota otwieramy utworzony plik o nazwie „Network Panel conky“. Jeżeli nie
widzimy go w lokalizacji /home/aa/.conky/TeejeeTech używamy ctrl+h, aby
zobaczyć ukryte pliki i foldery.
Kopiujemy do pliku w
otwartym edytorze kod:
#
**********************************************************************
#
"CPU Panel (8-core)" theme for Conky by Tony George
(teejee2008@gmail.com)
#
#
Webpage: http://teejeetech.blogspot.in/
#
**********************************************************************
background
yes
double_buffer
yes
alignment
top_left
border_width
1
cpu_avg_samples
2
default_color
white
default_outline_color
white
default_shade_color
white
draw_borders
no
draw_graph_borders
yes
draw_outline
no
draw_shades
no
gap_x
550
gap_y
30
net_avg_samples
2
no_buffers
yes
out_to_console
no
out_to_stderr
no
extra_newline
no
own_window
yes
own_window_type
normal
own_window_transparent
yes
own_window_colour
000000
own_window_argb_visual
no
own_window_argb_value
0
own_window_hints
undecorated,below,sticky,skip_taskbar,skip_pager
minimum_size
450 0
stippled_borders
0
update_interval
5.0
uppercase
no
use_spacer
none
show_graph_scale
no
show_graph_range
no
use_xft
yes
xftalpha
0.1
xftfont
Droid Sans:size=10
color0
white
color1
EAEAEA
color2
FFA300
color3
grey
TEXT
${color
orange}${voffset 2}${hr 1}
${color1}Network
using vnStat "-i", "-w" and "-m"
${color}${goto
5}Dziś ${goto 100}Wczoraj ${goto 225}Tydzień ${goto 325}Miesiąc
${color
green}${execi 300 vnstat -i wlan1 | grep "today" | awk '{print
$8" "substr ($9, 1, 1)}'} ${goto 110}${execi 300 vnstat -i wlan1 |
grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'}
${goto 220}${execi 300 vnstat -i wlan1 -w | grep "current week" | awk
'{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 300 vnstat -i
wlan1 -m | grep "`date +"%b '%y"`" | awk '{print $9"
"substr ($10, 1, 1)}'}
${color orange}${voffset 2}${hr 1}
Zapisujemy ctrl+s.
Otwieramy Conky Managera i w Widżetach widzimy nową pozycję Network Panel
conky. Po zaznaczeniu jej powinniśmy zobaczyć po prawej stronie ekranu pasek z
informacjami o transferze zebrane przez daeomon vnstat.
Rysunek 2. Efekt użycia vnstat w Conky Managerze widoczny na pulpicie Lubuntu |
Teraz
sposób na cały wykres w Conky Managerze
Przykładowy wykres,
którego wyniki są aktualizowane, co 5minut wygląda w ten sposób:
Rysunek 3. Wykres vnstati w Conky Managerze |
Mając już skonfigurowany według wcześniejszych akapitów program Conky Manager oraz vnstat i vnstati klikamy System=>Uruchom=>wpisujemy „gksudo pcmanfm“
Przechodzimy do
lokalizacji /home/aa [jeżeli nie widzimy
.conky to naduszamy ctrl+H] i dalej /.conky/TeejeeTech/ Teraz klikamy Prawym przyciskiem myszy i
wybieramy Utwórz nowy =>Pusty plik. Utworzony nowy plik nazywamy „vnstati
conky“. Teraz klikamy Start => Uruchom i wpisujemy „gksudo leafpad“ W
otwartym edytorze z uprawnieniami roota otwieramy utworzony plik o nazwie
„vnstati conky“. Jeżeli nie widzimy go w lokalizacji /home/aa/.conky/TeejeeTech
używamy ctrl+h, aby zobaczyć ukryte pliki i foldery.
Kopiujemy do pliku w
otwartym edytorze kod:
#
**********************************************************************
# "CPU Panel (8-core)" theme for
Conky by Tony George (teejee2008@gmail.com)
#
# Webpage: http://teejeetech.blogspot.in/
#
**********************************************************************
background yes
double_buffer no
alignment top_left
border_width 1
cpu_avg_samples 2
default_color white
default_outline_color white
default_shade_color white
draw_borders no
draw_graph_borders yes
draw_outline no
draw_shades no
gap_x 550
gap_y 300
net_avg_samples 2
no_buffers yes
out_to_console no
out_to_stderr no
extra_newline no
own_window yes
own_window_type normal
own_window_transparent yes
own_window_colour 000000
own_window_argb_visual no
own_window_argb_value 0
own_window_hints
undecorated,below,sticky,skip_taskbar,skip_pager
minimum_size 450 0
stippled_borders 0
update_interval 60.0
imlib_cache_size 0
uppercase no
use_spacer none
show_graph_scale no
show_graph_range no
use_xft yes
xftalpha 0.1
xftfont Droid Sans:size=10
color0 white
color1 EAEAEA
color2 FFA300
color3 grey
TEXT
${color orange}${voffset 2}${hr 1}
${image /home/aa/plik1.png -p 20,20 -s
400x300}
${color1 }
${color1 }
${color1 }
${color1 }
${color1 }
${color1 }
${color1 }
${color1 }
${color1 }
${color1 }
${color1 }
${color1 }
${color1 }
${color1 }
${color orange}${voffset 2}${hr 1}
Zapisujemy ctrl+s.
Otwieramy Conky Managera i w Widżetach widzimy nową pozycję vnstati conky.
Teoretycznie po zaznaczeniu jej powinniśmy zobaczyć po prawej stronie ekranu
pasek z informacjami o transferze zebrane przez daeomon vnstati. Musimy jednak
jeszcze zadbać, żeby nasz skrypt został uruchomiony automatycznie po starcie
systemu Lubuntu 14.04. Wspomniany skrypt ma za zadnie generować przy pomocy
programu vnstati plik o nazwie plik1.png w lokalizacji /home/aa/ Plik ten
dodatkowo musi być generowany np., co 10 sekund. Plik ten (jest on, co 5 minut
aktualizowany przez program vnstati. Program vnstati co 5 minut aktualizuje
swoją bazę danych o transferze) jest wyświetlany przez Conky Managera co 60
sekund, o czym decyduje parametr: update_interval
60.0 . Warto zauważyć, że zastosowany w kodzie parametr imlib_cache_size 0 w ogóle
pozwala nam wczytywać obrazek, co kilka minut (bez niego ten kod nie działa).
Łatwo zauważyć, że można sprawić, aby plik był generowany rzadziej, np., co 300
sekund (5minut) skoro i tak vnstati aktualizuje go, co 5 minut. Ja jednak, aby
maksymalnie skrócić czas oczekiwania na pojawienie się nowych wykresów (ich aktualizację
w pewnym sensie w miarę na bieżąco) postanowiłem zastosować tak małe wartości
(tylko 10 sekund. Równie dobrze może być 60 lub 120 sekund).
Mając uprawnienia roota
o otwieramy lokalizację /usr/bin/ i tworzymy tutaj plik staticonky.sh W ten
plik wklejamy:
#!/bin/sh
### BEGIN INIT INFO
# Provides: staticonky
# Required-Start: $remote_fs $syslog $all
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Krótki opis działania
# Description: Dłuższy opis działania
### END INIT INFO
### START config here:
ZMIENNA="staticonky"
### END config here.
start() {
echo
"Start $ZMIENNA"
watch
-n 10 -x vnstati -i wlan1 -o /home/aa/plik1.png -vs
}
stop() {
echo "Stop $ZMIENNA"
kill
staticonky
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: /etc/init.d/staticonky {start|stop|restart}"
exit 1
esac
exit 0
Zapisujemy ctrl+s.
Leafpad musi być uruchomiony poprzez wpisanie „gksudo leafpad“.
Teraz przechodzimy do
lokalizacji /etc/rc.local i przed exit 0 dopisujemy linijkę kodu
/usr/bin/staticonky.sh,
która wskazuje położenie naszego skryptu uruchamiającego generowanie skryptu
zaraz po starcie systemu. Zapisujemy ctrl+s.
Należy zauważyć, że większość
podanych w Internecie skryptów nie zadziała, ponieważ nie zwierają one
stosownej formy. Powyższy skrypt zwiera sekcję nagłówkową opisującą skrypt i
tylko taki skrypt może zostać uruchomiony przy starcie. Przykładowe:
#!/bin/bash
watch -n 10 -x
vnstati -i wlan1 -o /home/aa/plik1.png -vs
zadziała w terminalu,
ale nie uruchomi się wraz ze startem systemu.
Dodatkowo powinniśmy też
przejść do lokalizacji /etc/init.d/ i w niej utworzyć także plik staticonky.sh
W jego zawartość wklejamy kod:
#!/bin/sh
### BEGIN INIT INFO
# Provides: staticonky
# Required-Start: $remote_fs $syslog $all
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Krótki opis działania
# Description: Dłuższy opis działania
### END INIT INFO
### START config here:
ZMIENNA="staticonky"
### END config here.
start() {
echo
"Start $ZMIENNA"
watch
-n 10 -x vnstati -i wlan1 -o /home/aa/plik1.png -vs
}
stop() {
echo "Stop $ZMIENNA"
kill
staticonky
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: /etc/init.d/staticonky {start|stop|restart}"
exit 1
esac
exit 0
Kod powinien być
identyczny jak we wcześniej stworzonym skrypcie, dlatego możemy go skopiować
stąd lub przekopiować plik staticonky.sh z lokalizacji /usr/bin/staticonky.sh
do lokalizacji /etc/init.d/
Dalej zapisujemy zmiany
ctrl+s. Teraz wpisujemy w terminal [uruchomiony przez System=>Uruchom =>
„gksudo lxterminal“] polecenie sudo chmod +x /etc/init.d/staticonky.sh Ustawiamy
dzięki temu typ pliku na wykonywalny. Teraz jeszcze tylko polecenie sudo update-rc.d staticonky.sh defaults 80 Po 5 minutach od
startu Lubuntu powinien wyświetlić zaktualizowany wykres. Jeśli tego nie zrobi
może pomóc wpisanie w terminal sudo /etc/init.d/staticonky.sh start
lub sudo /etc/init.d/staticonky start albo ostatecznie sudo service staticonky start
W kodzie skryptu
najważniejsza jest linijka watch -n 10 -x vnstati -i wlan1 -o
/home/aa/plik1.png -vs
Dodatkowo w linijce tej
może dopisać na jej początku przed watch wyrażenie sleep 15 co opóźni wykonanie
skryptu o 15 sekund od startu systemu. Samo polecenie watch służy do
powtarzania jakiegoś polecenia w terminalu lub kodu, co określony interwał
wyrażony w sekundach. Znacznik -n 10 oznacza powtarzanie, co 10 sekund.
Znacznik -x pozwala określić, co ma być powtarzane. W naszym przypadku
regularnie powtarzamy generowanie obrazka plik1.png w lokalizacji /home/aa/ dla
interfacu wlan1 przez zainstalowany wcześniej program vnstati. Znacznik -vs to
znacznik programu vnstati oznaczający sposób generowania wykresu. Równie dobrze
możemy generować inny wykres zmieniając ten znacznik według parametrów
przyjmowanych przez daemon vnstati. Szczegółowe parametry można znaleźć w
opisie lub poradnikach do programu vnstati.
Brak komentarzy:
Prześlij komentarz