«

»

Zář 22

OpenBox XX. – Systémové informácie v OpenBox menu

openbox_logoV poradí 20. diel o OpenBoxe sa venuje zobrazeniu systémových informácii z priamo menu. Z tohto servera sa dá stiahnuť archív, ktoré súčasťou sú 3 súbory: my_sysinfo.sh, sysinfo.sh a sysinfo.sh (batéria).

 

 

 

 

my_sysinfo.sh

my_systeminfo.sh je mnou upravený skript. Výstup je na obrázku. Niektoré konkrétne skripty som prevzala, niektoré som vytvorila. Samozrejme je preložený do slovenčiny. Súčasťou je možnosť zobrazenie informácií o CPU. Ak ich chceme mať vo výstupe, stačí príslušné riadky odkomentovať (odstrániť #):

echo „<separator label=\“CPU \“/>“
echo „<item label=\“$CPUmodel\“/>“
echo „<item label=\“Frekvencia a Cache: $CPUfreq MHz a $CPUcache\“/>“

 

Nastavenie súborového systému:

Pre správne zobrazenie informácií je potrebné v prípade potreby prispôsobiť cesty. Na zistenie rozloženia súborového systému (oddielov a ich prípojných bodov) zadáme v terminály jednoduchý príkaz:
lsblk

lsblk

 

Sústredíme sa na tieto riadky:

MountPoint1=$(echo /dev/sda1)
MountPoint2=$(echo /dev/sda3)
SizeMountPoint1=$(df -HlT | grep „$MountPoint1“)
SizeMountPoint2=$(df -HlT | grep „$MountPoint2“)

MountPoint1 nastavuje prvý oddiel (sda1 s prípojným bodom /).
MountPoint2 nastavuje druhý tretí oddiel (s prípojným bodom /home).
SizeMountPoint1 nastavuje výpočet veľkosť pre prvý oddiel (sda1 s prípojným bodom /).
SizeMountPoint2 nastavuje výpočet veľkosť pre tretí oddiel (sda3 s prípojným bodom /home).

 

Ak náš súborový systém obsahuje viac oddielov, stačí podobným spôsobom nadefinovať nové. Samozrejme použijeme svoje prípojné body:

MountPoint3=$(echo /dev/sdb1)
MountPoint4=$(echo /dev/sdb2)
SizeMountPoint3=$(df -HlT | grep „$MountPoint3“)
SizeMountPoint4=$(df -HlT | grep „$MountPoint4“)

 

Ako druhé musíme upraviť i časť, ktorá zodpovedá za samotný výstup. Zmeníme ho napríklad takto (v prípade, že pridávame dva nové oddiely):

echo „<separator label = \“Súborový systém\“/>“
echo „<item label=\“$SizeMountPoint1\“/>“
echo „<item label=\“$SizeMountPoint2\“/>“
echo „<item label=\“$SizeMountPoint3\“/>“
echo „<item label=\“$SizeMountPoint4\“/>“

 

Informácie o stavu batérie:

Ak ich chceme zobraziť, potrebujeme odkomentovať prislúchajúcu časť:

echo „<separator label=\“ Batéria \“/>“
echo „<item label=\“Stav: $BatStatus\“/>“
echo „<item label=\“Nabitie: $BatPercentCharge%\“/>“
if [ „$BatStatus“ == „Nabíjanie“ ]; then
echo „<item label=\“Čas nabájania: $BatChargeTime minutes\“/>“
fi
echo „<item label=\“Zostáva: $BatTimeRemaining minút\“/>“

 

Informácie o využití RAMky a SWAPu:

Prispôsobiť si môžeme percentuálny výstup Ja som zvolila zaokrúhlenie na jednu desatinnú čiarku. Ak niekto uprednostňuje zaokrúhlenie na dve či celé číslo, stačí ak odkomentuje zvolený výstup a zakomentuje pôvodný.

MemUsedPercent je pamäť
SwpUsedPercent je odkladací priestor

 

Zaokrúhlenie na jednu desatinnú čiarku:

MemUsedPercent=$(free -m | awk ‚NR==2{printf „%0.1f\n“,$3/$2*100}‘)
SwpUsedPercent=$(free -m | awk ‚NR==3{printf „%0.1f\n“,$3/$2*100}‘)

 

Zaokrúhlenie na celé číslo:

#MemUsedPercent=$(free -m | awk ‚NR==2{printf „%0.0f\n“,$3/$2*100}‘)
#SwpUsedPercent=$(free -m | awk ‚NR==3{printf „%0.0f\n“,$3/$2*100}‘)

 

Zaokrúhlenie na dve desatinné čiarky:

#MemUsedPercent=$(free -m | awk ‚NR==2{printf „%0.2f\n“,$3/$2*100}‘)
#SwpUsedPercent=$(free -m | awk ‚NR==3{printf „%0.2f\n“,$3/$2*100}‘)

 

Bez zaokrúhlenia (celý percentuálny výstup):

#MemUsedPercent=$(free -m | awk ‚NR==2{print $3/$2*100}‘)
#SwpUsedPercent=$(free -m | awk ‚NR==3{print $3/$2*100}‘)

 

Mesačný prenos dát a Odhad prenosu dát:

Táto časť je závislá na vnstat. Pre korektné zobrazenie ho potrebujeme nainštalovať a nakonfigurovať.

sudo pacman -S vnstat

 

Poprípade, ak nemáme záujem o tento typ informácii, stačí ak zakomentujeme časť zodpovednú za výstup:

#echo „<item label=\“Mesačný prenos dát: $download $download4 ~ $upload $upload4 ~ $total $total4\“/>“
#echo „<item label=\“Odhad prenosu dát: $download2 $download3 ~ $upload2 $upload3 ~ $total2 $total3\“/>“

Poprípade môžeme vymazať tieto riadky:

download=$(vnstat -m | awk ‚{print $3}‘ | tail -n 3 | sed ‚s/\GiB//‘ | sed ‚s/\MiB//‘)
upload=$(vnstat -m | awk ‚{print $6}‘ | tail -n 3 | sed ‚s/\GiB//‘ | sed ‚s/\MiB//‘)
total=$(vnstat -m | awk ‚{print $9}‘ | tail -n 3 | sed ‚s/\GiB//‘ | sed ‚s/\MiB//‘)
download2=$(vnstat -m | awk ‚{print $2}‘ | tail -n 1)
upload2=$(vnstat -m | awk ‚{print $5}‘ | tail -n 1)
total2=$(vnstat -m | awk ‚{print $8}‘ | tail -n 1)
download3=$(vnstat -m | awk ‚{print $3}‘ | tail -n 1)
upload3=$(vnstat -m | awk ‚{print $6}‘ | tail -n 1)
total3=$(vnstat -m | awk ‚{print $9}‘ | tail -n 1)
download4=$(vnstat -m | awk ‚{print $4}‘ | tail -n 3 | sed ‚s/^|//‘)
upload4=$(vnstat -m | awk ‚{print $7}‘ | tail -n 3 | sed ‚s/^|//‘)
total4=$(vnstat -m | awk ‚{print $10}‘ | tail -n 3 | sed ‚s/^|//‘)

echo „<item label=\“Mesačný prenos dát: $download $download4 ~ $upload $upload4 ~ $total $total4\“/>“
echo „<item label=\“Odhad prenosu dát: $download2 $download3 ~ $upload2 $upload3 ~ $total2 $total3\“/>“

Mesačný prenos dát: Prvá položka je objem stiahnutých dát, druhá je objem odoslaných dát a tretia sumár oboch.
Odhad prenosu dát: Prvá položka je mesačný odhad stiahnutých dát, druhá odoslaných a tretia je ich súčet.

 

Ďalej sa v skripte nachádza iný výstup pre prenos dát a ich odhad. Ten nie je v dvoch riadkoch. Ale každý výstup má vlastný. Spolu je ich šesť. Táto možnosť je zakomentovaná pomocou mriežky. Ak niekomu vyhovuje takýto spôsob, stačí vymazať tie spomenuté mriežky a pridať ich do pôvodného výstupu.

#echo „<item label=\“Mesačný objem stiahnutých dát: $download $download4\“/>“
#echo „<item label=\“Mesačný objem odoslaných dát: $upload $upload4\“/>“
#echo „<item label=\“Mesačný objem všetkých dát: $total $total4\“/>“
#echo „<item label=\“Mesačný odhad objemu stiahnutých dát: $download2 $download3\“/>“
#echo „<item label=\“Mesačný odhad objemu odoslaných dát: $upload2 $upload3\“/>“
#echo „<item label=\“Mesačný odhad objemu všetkých dát: $total2 $total3\“/>“

Poznámka: Pri žiadnych prenesených dátach výstup vyzerá nekorektne. Skript je robený na pôvodnom výstupe z terminálu, čiže s orámovaním.

 

Rýchlosť prenosu dát:

Táto časť je opäť závislá na externej terminálovej utilitke s názvom sysstat. Balíček obsahuje niekoľko samostatných utilitiek: iostat, mpstat, pidstat, sar, sadc, sa1, sa2, sadf, tapestat a cifsiostat. Pre každú z nich je možné získať pomoc či manuálovú stránku. Nainštalujeme si ju pomocou pacman:

sudo pacman -S sysstat

 

Ak nemáme záujem o tento typ informácií, stačí zakomentovať riadky zodpovedné za samotný výstup:

echo „<item label=\“Rýchlosť prenosu dát: $speeddown ~ $speedup\“/>“

Alebo ho spolu so skriptom vymazať:

speeddown=$(sar -n DEV 1 1 | grep enp3s0 | awk ‚{print $5}‘ | tail -n 1)
speedup=$(sar -n DEV 1 1 | grep enp3s0| awk ‚{print $6}‘ | tail -n 1)

enp3s0 v oboch riadkoch definuje označenie siete. Pre zistenie informácií, stačí v termináli zadať jednoduchý príkaz:

ifconfig

Čo sa týka spôsobu výstupu, znovu sú na výber dve možnosti. Prvá je v jednom riadku, druhá (zakomentovaná) v dvoch. Stačí si len vybrať a správne umiestniť mriežku.

#echo „<item label=\“Rýchlosť sťahovania: $speeddown\“/>“
#echo „<item label=\“Rýchlosť odosielania: $speedup\“/>“

 

Inštalácia a nastavenie vnstat:

Ako prvé si terminálovú utitlitku potrebujeme nainštalovať:

sudo pacman -S vnstat

 

Ako druhé si musíme upraviť konfiguračný súbor:

sudo pluma /etc/vnstat.conf

 

V ňom je potrebné skontrolovať Interface.
Riadok má vyzerať takto:

Interface „enp3s0“

 

Štart služby:

sudo systemctl start vnstat.service

 

Povolenie načítania služby pri štarte:

sudo systemctl enable vnstat.service

 

sysinfo.sh a sysinfo.sh (batéria) sú taktiež upravené… preložené do slovenčiny. Ide o skripty, z ktorých som použila niektoré časti. Konkrétne informácie o súborovom systéme, CPU batérii. A svojim spôsobom aj informácie o systéme.

 

Pomoc a manuálová stránka:

vnstat -h
vnstat --longhelp
man vnstat

 

Skript pre zobrazenie vnútornej IP adresy, môže mať aj takúto podobu:

ifconfig | grep „inet “ | grep -v 127.0.0.1 | awk ‚{print $2}‘

 

Skript pre vonkajšiu (verejnú) IP adresu:

curl -s ipecho.net/plain;echo
curl -s http://whatismyip.akamai.com/

A mnoho ďalších.

 

Pridanie položky do menu:

Pomocou nejakého textového editoru si otvoríme menu.xml:

pluma ~/.config/openbox/menu.xml

 

Na miesto dľa svojho výberu vložíme jednu z možností:

<menu icon=“/usr/share/icons/AwOken/clear/24×24/apps/lshw-gtk.png“ execute=“~/.config/openbox/pipemenus/my_sysinfo.sh“ id=“Sysinfo“ label=“Systémové informácie“/>

 

<menu icon=“/usr/share/icons/AwOken/clear/24×24/apps/lshw-gtk.png“ execute=“~/.config/openbox/pipemenus/sysinfo.sh“ id=“Sysinfo“ label=“Systémové informácie“/>

Skript je umiestnený v ~/.config/openbox/pipemenus/.

 

Pre správne fungovanie skriptu, je potrebné mu prideliť potrebné práva (spúšťanie ako programu) buď cez grafické klikacie prostredie alebo pomocou terminálu:

chmod +x my_sysinfo.sh
chmod +x /cesta/ku/my_sysinfo.sh
chmod +x ~/.config/openbox/pipemenus/my_sysinfo.sh

 

chmod +x sysinfo.sh
chmod +x /cesta/ku/sysinfo.sh
chmod +x ~/.config/openbox/pipemenus/sysinfo.sh

sysinfo

 

Zmena sa prejaví až po rekonfigurovaní. Buď cez položku v menu, ktorá sa volá Reconfigure alebo cez terminál:

openbox --reconfigure

O autorovi

lombardo1981

Ja som proste ja. Baba zamilovaná do Archu, kyberpunku, metalu, spevu a Slovenských čuvačov.

Napsat komentář

%d blogerům se to líbí: