Conky i pusty wiersz przy niespełnionym warunku

Tematy związane z oprogramowaniem, instalacją, konfiguracją
Awatar użytkownika
arturromarr
Beginner
Posty: 190
Rejestracja: 14 sierpnia 2015, 01:21

Conky i pusty wiersz przy niespełnionym warunku

Post autor: arturromarr »

Witam,
Robię własną konfigurację dla conky. Chciałbym aby dane informację się wyświtlały w zależności czy występuje dany sprzęt czy też nie.
Dla przykładu bateria:

Kod: Zaznacz cały

${color grey}Bateria:${color LightBlue}$battery${goto 200}$color${battery_bar BAT0 11,0}
${if_match ${battery_percent BAT0} <=10}${if_match ${battery_percent BAT0} >=7}${color yellow}Podłącz zasilanie ${endif}${endif}${if_match ${battery_percent BAT0} <7}${color red}Natychmiast podłącz zasilanie ${endif}
Jest tak że poniżej poziomu naładowania wyświetlają się informacje o podłączenu zasilania. Jeśli jednak poziom jest powyżej i warunek jest niespełniony to pozostaje wyświetlony pusty wiersz jak można tego uniknąć?
Druga sprawa to jak sprawdzić w warunku czy jest ładowanie tak by napisy znikały po podłaczeniu zasilania a nie dopiero po zwiększeniu poziomu naładowania?
Jeśli można było by sprawdzać w warunku stan : ładowanie, rozładowywanie itd to mógłbym spolonizować te opisy bo teraz wyświetlają się po angielsku.
Czy da się takie rzeczy zrobić w ramach pliku konfiguracyjnego czy potrzebne by były osobne skrypty?

Proszę o jakieś wskazówki i pozdrawiam.
Awatar użytkownika
arturromarr
Beginner
Posty: 190
Rejestracja: 14 sierpnia 2015, 01:21

Re: Conky i pusty wiersz przy niespe

Post autor: arturromarr »

Witam, ponieważ problem rozwiązałem to odpowiem sobie sam może ktoś skorzysta:

Kod: Zaznacz cały

${if_match "${exec df -h | grep "/media/user" | awk '{ printf "%s : %s z %s,  %s (wolne: %s)\n", $7, $3, $2, $5, $4 }' }" == ""}${voffset -15}${else}${color grey}${font Ubuntu:style=Bold:size=8}WYMIENNE$stippled_hr$color${font}
${exec df -h | grep "/media/artur" | awk '{ printf "%s : %s z %s,  %s (wolne: %s)\n", $7, $3, $2, $5, $4 }' }${endif}
W warunku jeśli nie ma urządzenia np Pendrive kursor jest przesuwany o wysokość czcionki w górę "voffset -15".

Mam jednak nowe pytanie. Ponieważ korystam z różnych urządzeń szeregowych wpinanych do USB zrobiłem sobie instrukcję która wypisuje informację co podpięto czyli dla przykładu konwerter RS232 na USB.

Kod: Zaznacz cały

${color}${voffset 4}${font Ubuntu:style=Bold:size=8}URZĄDZENIA $stippled_hr${font}
#${color slate grey}serial:  ${color} ${exec lsusb | grep -i serial |awk '{print $9 $10 $11}'}
${if_match " ${exec lsusb | grep -i serial}" == " "}${voffset -15}${else}${color slate grey}serial:  ${color} ${exec lsusb | grep -i serial |awk '{print $9 $10 $11}'}${endif}
Chciałbym jeszcze mieć informację któremu portowi szeregowemu zostało przypisane urządzenie czyli np /dev/ttyUSB0.
Wie ktoś gdzie i jak to odczytać?

Pozdrawiam
Awatar użytkownika
dedito
Moderator
Posty: 3515
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Conky i pusty wiersz przy niespe

Post autor: dedito »

np. w dmesg
Awatar użytkownika
arturromarr
Beginner
Posty: 190
Rejestracja: 14 sierpnia 2015, 01:21

Re: Conky i pusty wiersz przy niespe

Post autor: arturromarr »

ale jak to wykorzystać w conky?
Samo np dmesg | grep -i tty wypisuje czy coś podłączono lub odłączono. Trzeba by chyba sprawdzać czy nie pojawiło się disconnected?
Teraz przy lsusb autoamtycznie znika mi informacja o urządzeniu jak je usunę. Codzi mi tylko żeby poza nawą pojawiała się informacja na którym porcie jest podłączone.
Awatar użytkownika
dedito
Moderator
Posty: 3515
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Conky i pusty wiersz przy niespe

Post autor: dedito »

Przykładowo zbuduj warunek kolejny, jeśli istnieje w lsusb to szukaj numer tty przez dmesg i grep.
Awatar użytkownika
arturromarr
Beginner
Posty: 190
Rejestracja: 14 sierpnia 2015, 01:21

Re: Conky i pusty wiersz przy niespełnionym warunku

Post autor: arturromarr »

Tylko nie wiem właśnie jak to zrobić. Jak jak korelować ze sobą wpisy jednego i drugiego polecenia?
Robiłem próbę podłączania i odłączania dwóch urządzeń konwertera usb-serial oraz drukarki RepRap. wyświetlane są i innej kolejność w każdym z poleceń a odłączenia drukarki dmesg nie zarejestrował

Nic nie podłączone

Kod: Zaznacz cały

root@debian:/home/artur# lsusb
Bus 002 Device 003: ID 0bda:0158 Realtek Semiconductor Corp. USB 2.0 multicard reader
......
root@debian:/home/artur# dmesg | grep -i tty
[    0.000000] console [tty0] enabled
Podłączone urządzenie 1

Kod: Zaznacz cały

root@debian:/home/artur# lsusb
Bus 002 Device 003: ID 0bda:0158 Realtek Semiconductor Corp. USB 2.0 multicard reader
...........
Bus 006 Device 002: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
............
root@debian:/home/artur# dmesg | grep -i tty
[    0.000000] console [tty0] enabled
[10698.879265] usb 6-1: ch341-uart converter now attached to ttyUSB0
Podłączone urządzenie 2

Kod: Zaznacz cały

root@debian:/home/artur# lsusb
Bus 002 Device 003: ID 0bda:0158 Realtek Semiconductor Corp. USB 2.0 multicard reader
.........
Bus 006 Device 003: ID 16c0:0483 Van Ooijen Technische Informatica Teensyduino Serial                                                      
Bus 006 Device 002: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter                                                             
........
root@debian:/home/artur# dmesg | grep -i tty
[    0.000000] console [tty0] enabled
[10698.879265] usb 6-1: ch341-uart converter now attached to ttyUSB0
[10742.350498] cdc_acm 6-2:1.0: ttyACM0: USB ACM device
Usunięte urządzenie 1

Kod: Zaznacz cały

root@debian:/home/artur# lsusb
Bus 002 Device 003: ID 0bda:0158 Realtek Semiconductor Corp. USB 2.0 multicard reader
.....
Bus 006 Device 003: ID 16c0:0483 Van Ooijen Technische Informatica Teensyduino Serial
.....
root@debian:/home/artur# dmesg | grep -i tty
[    0.000000] console [tty0] enabled
[10698.879265] usb 6-1: ch341-uart converter now attached to ttyUSB0
[10742.350498] cdc_acm 6-2:1.0: ttyACM0: USB ACM device
[10794.348553] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
Usunięte urządzenie 2

Kod: Zaznacz cały

root@debian:/home/artur# lsusb
Bus 002 Device 003: ID 0bda:0158 Realtek Semiconductor Corp. USB 2.0 multicard reader
.....
root@debian:/home/artur# dmesg | grep -i tty
[    0.000000] console [tty0] enabled
[10698.879265] usb 6-1: ch341-uart converter now attached to ttyUSB0
[10742.350498] cdc_acm 6-2:1.0: ttyACM0: USB ACM device
[10794.348553] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
Rozdzielaj bloki kodu dla lepszej czytelności.
Awatar użytkownika
dedito
Moderator
Posty: 3515
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Conky i pusty wiersz przy niespełnionym warunku

Post autor: dedito »

Nie widać aby ttyACM0 był przypisany do jakiegokolwiek numeru portu (rozumiem, że to drukarka).
No i w sumie nie wiem z czym masz problem, skoro poradziłeś sobie z baterią, to tym bardziej z tym nie powinieneś mieć problemu.
Awatar użytkownika
arturromarr
Beginner
Posty: 190
Rejestracja: 14 sierpnia 2015, 01:21

Re: Conky i pusty wiersz przy niespełnionym warunku

Post autor: arturromarr »

ttyACM0 to właśnie port.
Może i sobie poradziłem, ale zajęło mi to dużo czasu bo nie grzebię w Linuxie na co dzień.
Pytając na form miałem nadzieję że ktoś obeznany mnie naprowadzi, żebym poradził sobie szybciej.
Poklepanie po ramieniu że dam radę wiele nie wnosi.
Awatar użytkownika
dedito
Moderator
Posty: 3515
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Conky i pusty wiersz przy niespełnionym warunku

Post autor: dedito »

Wskazówki otrzymałeś, nic tylko wdrożyć je.
Ale kolega chyba oczekuje gotowca.
No to mogę jedynie "poklepać" po ramieniu. :)

Uprzedzając: zanim kolega po raz kolejny wyleje swoje frustracje, proszę sobie przypomnieć co ostatnio na ten temat pisałem.
Awatar użytkownika
arturromarr
Beginner
Posty: 190
Rejestracja: 14 sierpnia 2015, 01:21

Re: Conky i pusty wiersz przy niespełnionym warunku

Post autor: arturromarr »

Jak forumowicz zwraca się o pomoc to może oznaczać że nie daje z czymś rady, nie koniecznie że czeka na gotowca.
Pewnie, że prędzej czy później z pomocą lub bez poradzę sobie z tym problem, ale nie trzeba mnie w tym utwierdzać bo jestem raczej daleki od frustracji.
Tak użyteczne polecenie jak "dmesg" znam tylko nie wiem jak go użyć w tym przypadku.
Pisałem wyżej jak reaguje na podłączanie i odłączanie urządzeń i nie wiem jak powiązać to z lsusb (ubiegając odpowiedź "warunkiem" to mnie nie naprowadzi)
Jeśli ktoś chciałby pomóc troszkę precyzyjniej to będę wdzięczy jeśli nie to trudno, nabijać nic nie wnoszące posty chyba nie warto.
ODPOWIEDZ