Conky - zastosowanie komend "if_..."

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
igotit4free
Przyjaciel
Przyjaciel
Posty: 6453
Rejestracja: 29 paź 2008, 22:51
Płeć: Mężczyzna
Architektura: x86_64
Lokalizacja: KRK

[SOLVED] Conky - zastosowanie komend "if_..."

Post autor: igotit4free »

Witam.
Wypociłem swój własny, skromny konfig ale trafiłem na mur ... mam pytanie odnośnie możliwości "warunkowych" konfiguracji Conky'ego.

To mój Conky z aktywną siecią lokalną i pendrive o nazwie PYN podpiętym przy użyciu "if_mounted".
http://krasnoludy.republika.pl/jeden.png

A tutaj, z siecią wyłączoną i pendrive wyjętym, albo włożonym innym, o nazwie KORSARZ.
http://krasnoludy.republika.pl/zero.png

Za wyświetlanie parametrów pena odpowiada :

Kod: Zaznacz cały

${alignr}${if_mounted /media/PYN}${color grey}USB:${color yellow}${fs_free /media/PYN} ${color grey}/ ${color orange}${fs_size /media/PYN}${endif} 
A za połączenie lokalne :

Kod: Zaznacz cały

${alignr}${color grey}Local: $alignr${wireless_essid wlan1}
${alignr}${color grey}Quality: ${wireless_link_qual wlan1}% $alignr${wireless_link_bar 8,60 wlan1}
Jak widać, po odłączeniu podanego w konfigu pena PYN, robi się w panelu "pustka" a podpięcie paluszka innego niż skonfigurowany nie skutkuje wyświetleniem jego parametrów. Teraz pytania :
1. czy istnieje sposób skonfigurowania odczytu parametrów pendrive przy użyciu np. /dev/sdb1 - bo tak są montowane wszystkie moje peny, zamiast po konkretnej nazwie ? Mnie to jakoś nie chce wejść ...
2. czy tą "pustkę" można zniknąć, na czas gdy żaden pen nie jest podpięty ?
3. czy da się spowodować, żeby przy wyłączonym połączeniu lokalnym nie wyświetlało się "Local: off/any" i pusty bar ? Próbowałem użyć :

Kod: Zaznacz cały

if_up (interface) oraz if_up_strictness
ale nic się nie zmienia w sposobie wyświetlania.:sad:
4. na koniec, czy jest sposób, żeby wyświetlane wartości zmieniały kolor ? Żeby jakieś "normalne" były np. zielone a powyżej pewnego progu np. czerwone ? Znalazłem w manualu "colorN" ale on robi coś całkiem innego.

Przepraszam, że 4 pytania w jednym, ale nie chciałem zaśmiecać forum.:oops:
Hagal
Sędziwy Jeż
Sędziwy Jeż
Posty: 41
Rejestracja: 11 sty 2009, 01:35
Płeć: Mężczyzna
Środowisko graficzne: Brak

Odp: Conky - zastosowanie komend "if_..."

Post autor: Hagal »

igotit4free pisze:1. czy istnieje sposób skonfigurowania odczytu parametrów pendrive przy użyciu np. /dev/sdb1 - bo tak są montowane wszystkie moje peny, zamiast po konkretnej nazwie ? Mnie to jakoś nie chce wejść ...
Podpowiedź:
${if_existing /dev/sdb1}
igotit4free pisze:2. czy tą "pustkę" można zniknąć, na czas gdy żaden pen nie jest podpięty ?
3. czy da się spowodować, żeby przy wyłączonym połączeniu lokalnym nie wyświetlało się "Local: off/any" i pusty bar ? Próbowałem użyć :

Kod: Zaznacz cały

if_up (interface) oraz if_up_strictness
ale nic się nie zmienia w sposobie wyświetlania.:sad:
Podpowiedź:
${if_coś tam} rób to $else rób tamto ${endif}
Zainteresuj się opcją $else


Pozdrawiam
Awatar użytkownika
igotit4free
Przyjaciel
Przyjaciel
Posty: 6453
Rejestracja: 29 paź 2008, 22:51
Płeć: Mężczyzna
Architektura: x86_64
Lokalizacja: KRK

Odp: Conky - zastosowanie komend "if_..."

Post autor: igotit4free »

Dzięki piękne, jutro o tym poczytam, bo szukając ww. rozwiązań jakoś tak po drodze zrobiłem sensory => http://krasnoludy.republika.pl/jeden.jeden.png i takiego druta na USB poprzez prymitywne dwukrotne powtórzenie w jednej linii ciągów ${if_mounted /}${endif} ... toporne ale działa, kodu nie wkleję bo się forum rozjedzie;-) Trzeba pospać, jutro do robala:???: Pozdr.
Awatar użytkownika
rryk
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 206
Rejestracja: 04 mar 2008, 16:00
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME
Kontakt:

Odp: Conky - zastosowanie komend "if_..."

Post autor: rryk »

sorka ze sie wtrące ale mam podobny problem mam dysk zewnętrzny USB po zastosowaniu komendy ${if_existing /dev/sdb1} $endif działa znakomicie tzn pojawai się i znika lecz w logach
Conky: statfs '/media/FreeAgent Drive': No such file or directory
przez co podczas pojawiania się tego komunikatu laguje sie conky co widać np podczas wyświetlania sekund w zegarze

EDIT:
czemu nikt mi nieodpisuje
Awatar użytkownika
igotit4free
Przyjaciel
Przyjaciel
Posty: 6453
Rejestracja: 29 paź 2008, 22:51
Płeć: Mężczyzna
Architektura: x86_64
Lokalizacja: KRK

Odp: Conky - zastosowanie komend "if_..."

Post autor: igotit4free »

rryk pisze:sorka ze sie wtrące ale mam podobny problem mam dysk zewnętrzny USB po zastosowaniu komendy ${if_existing /dev/sdb1} $endif działa znakomicie tzn pojawai się i znika lecz w logach
Conky: statfs '/media/FreeAgent Drive': No such file or directory
przez co podczas pojawiania się tego komunikatu laguje sie conky co widać np podczas wyświetlania sekund w zegarze

EDIT:
czemu nikt mi nieodpisuje
Hmm, a możesz wkleić ten kawałek kodu z "if_existing" ?
Poza lagowaniem innych negatywnych skutków nie ma ? Jaką masz wartość odświeżania Conky`ego ?
Awatar użytkownika
rryk
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 206
Rejestracja: 04 mar 2008, 16:00
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME
Kontakt:

Odp: Conky - zastosowanie komend "if_..."

Post autor: rryk »

oto mój conkyrc

Kod: Zaznacz cały

# set to yes if you want tormo to be forked in the background
#background yes
font Snap.se:size=8
xftfont Snap.se:size=8
use_xft yes
xftalpha 0.1
update_interval 1.0
total_run_times 0
own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
draw_shades yes
draw_outline no
draw_borders no
draw_graph_borders no
minimum_size 206 5
maximum_width 306
default_color ffffff
default_shade_color 000000
default_outline_color 000000
alignment top_right
gap_x 6
gap_y 22
no_buffers yes
cpu_avg_samples 2
override_utf8_locale no
uppercase no # set to yes if you want all text to be in uppercase
use_spacer none

TEXT
${font LCD:style=Bold:pixelsize=56}${alignc}${time %H:%M}${font Snap.se:size=7}
${font LCD:style=Bold:pixelsize=20}${alignc}${time %a %e %B %G}${font Snap.se:size=7}


${font Aerial:style=Bold:pixelsize=12}SYSTEM${font Snap.se:size=8} ${hr 1 }

Hostname: $alignr$nodename
System: $alignr${execi 99999 lsb_release -d -s -c | tr -s "\n" " "}
Kernel: $alignr$kernel
Motherboard: $alignr Gigabyte GA-7VT600 1394
Processor: $alignr ${execi 99999 cat /proc/cpuinfo | grep name | cut -d: -f2}
Graphics Card: $alignr nVidia GeForce 7300 GT
Uptime: $alignr$uptime
Processes: ${alignr}$processes ($running_processes running)
Load: ${alignr}$loadavg

CPU       ${alignc} ${freq}MHz ${alignr}(${cpu cpu1}%)
${cpubar 4 cpu1}
${cpugraph cccccc ffffff}

RAM ${alignr}$mem / $memmax ($memperc%)
${membar 4}

SWAP ${alignr}$swap / $swapmax ($swapperc%)
${swapbar 4}

Highest CPU $alignr CPU% MEM%
${hr 1}
${top name 1}$alignr${top cpu 1}${top mem 1}
${top name 2}$alignr${top cpu 2}${top mem 2}
${top name 3}$alignr${top cpu 3}${top mem 3}

Highest MEM $alignr CPU% MEM%
${hr 1}
${top_mem name 1}$alignr${top_mem cpu 1}${top_mem mem 1}
${top_mem name 2}$alignr${top_mem cpu 2}${top_mem mem 2}
${top_mem name 3}$alignr${top_mem cpu 3}${top_mem mem 3}



${font Aerial:style=Bold:pixelsize=12}FILESYSTEM ${font Snap.se:size=8}${hr 1}

Root: ${alignr}${fs_free /} / ${fs_size /}
${fs_bar 4 /}

Home: ${alignr}${fs_free /home} / ${fs_size /home}
${fs_bar 4 /home}
${if_existing /dev/sdb1}
FreeAgent Drive: ${alignr}${fs_free /media/FreeAgent Drive} / ${fs_size /media/FreeAgent Drive}
${fs_bar 4 /media/FreeAgent Drive}
${endif}


${font Aerial:style=Bold:pixelsize=12}NETWORK ${font Snap.se:size=8}${hr 1}

Down ${downspeed eth0} k/s ${alignr}Up ${upspeed eth0} k/s
${downspeedgraph eth0 25,107 cccccc ffffff} ${alignr}${upspeedgraph eth0 25,107 cccccc ffffff}
Total ${totaldown eth0} ${alignr}Total ${totalup eth0}


${if_running audacious}
${font Aerial:style=Bold:pixelsize=12}AUDACIOUS ${font Snap.se:size=8}${hr 1}
Title: $alignr${exec audtool --current-song | cut -b-34}
Lenght: $alignr${exec audtool --current-song-output-length} / ${exec audtool --current-song-length}
${execbar expr 100 \* $(audtool --current-song-output-length-seconds) \/ $(audtool --current-song-length-seconds)}
${endif}
Awatar użytkownika
igotit4free
Przyjaciel
Przyjaciel
Posty: 6453
Rejestracja: 29 paź 2008, 22:51
Płeć: Mężczyzna
Architektura: x86_64
Lokalizacja: KRK

Odp: Conky - zastosowanie komend "if_..."

Post autor: igotit4free »

@ rryk:
Jak użyję mojego ordynarnego :

Kod: Zaznacz cały

${alignr}${if_mounted /media/PYN}${color grey}USB:${color yellow}${fs_free /media/PYN} ${color grey}/ ${color orange}${fs_size /media/PYN}${endif}${if_mounted /media/KORSARZ}${color grey}USB:${color yellow}${fs_free /media/KORSARZ} ${color grey}/ ${color orange}${fs_size /media/KORSARZ}${endif} 
to gdy nic nie ma w gnieździe, to jest "pustka" w panelu conky ale jak jest któryś z moich dwóch penów, to się jego nazwa i parametry wyświetlają. Obcych penów oczywiście nie widać ...

Jak użyję subtelnego :

Kod: Zaznacz cały

${if_existing /dev/sdb1}
${alignr}KORSARZ ${fs_free /media/KORSARZ} / ${fs_size /media/KORSARZ}
${else}
${alignr}Gdzie jest pen, no gdzie ?
${endif}
No to ok, albo pokazuje pena, albo komunikat ... ale tylko tego KORSARZA umie pokazać:twisted:

Próbowałem też tak :

Kod: Zaznacz cały

${alignr}PROBA KORSARZOWA
${if_existing /dev/sdb1}
${alignr}KORSARZ ${fs_free /media/KORSARZ} / ${fs_size /media/KORSARZ}
${else}
${alignr}Gdzie jest pen, no gdzie ?
${endif}
${if_existing /dev/sdb1}
${alignr}PYN ${fs_free /media/PYN} / ${fs_size /media/PYN}
${else}
${alignr}Gdzie jest pen, no gdzie ?
${endif}
Ale tym większa kupa ... wtedy tego/te peny których nie ma wyświetla jako ich nazwy o zerowej zajętości i pojemności. Podejrzewam, że conkiego się nie da skonfigurować tak, aby odczytywał nazwę i parametry dowolnego podpiętego USB ... chyba żeby jakiśik szkript napisać co by odczytywał te dane i podsyłał:bag:
Awatar użytkownika
rryk
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 206
Rejestracja: 04 mar 2008, 16:00
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME
Kontakt:

Odp: Conky - zastosowanie komend "if_..."

Post autor: rryk »

jak zrobie w ten sposób jak mi mówisz to sie w ogóle nie pokazuje nie ważne czy podłączone było czy nie
${if_mounted /media/FreeAgent Drive}
Awatar użytkownika
igotit4free
Przyjaciel
Przyjaciel
Posty: 6453
Rejestracja: 29 paź 2008, 22:51
Płeć: Mężczyzna
Architektura: x86_64
Lokalizacja: KRK

Odp: Conky - zastosowanie komend "if_..."

Post autor: igotit4free »

Dajesz :

Kod: Zaznacz cały

{endif}
na końcu linii ?

A tak BTW, powinno się dać zrobić uniwersalną konfigurację wyświetlającą parametry KAŻDEGO podpiętego pendrive'a ... przecież np. przeglądarka to robi, skądś te dane pobiera i gdzieś zapisuje, pytanie gdzie i jak to pokazać konkiemu :?:
Awatar użytkownika
rryk
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 206
Rejestracja: 04 mar 2008, 16:00
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME
Kontakt:

Odp: Conky - zastosowanie komend "if_..."

Post autor: rryk »

oczywiście że daje
ps natuilus o ile sie orientuje to nigdzie tego niezapisuje
Awatar użytkownika
igotit4free
Przyjaciel
Przyjaciel
Posty: 6453
Rejestracja: 29 paź 2008, 22:51
Płeć: Mężczyzna
Architektura: x86_64
Lokalizacja: KRK

Odp: Conky - zastosowanie komend "if_..."

Post autor: igotit4free »

Hmmm, dziwne, u mnie działa tak jak założyłem ... wklejam koda.

Kod: Zaznacz cały

use_xft yes

xftfont Sans Serif :size=9
# Xft font when Xft is enabled
#xftfont Comic Sans MS :size=8
#Bitstream Vera Sans Mono
# Text alpha when using Xft
xftalpha 0.9


# Update interval in seconds
update_interval 2.0

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window yes

# If own_window is yes, you may use type normal, desktop or override
own_window_type override


# Use pseudo transparency with own_window?
own_window_transparent yes

# If own_window is yes, these window manager hints may be used
own_window_hints undecorated,below,,skip_taskbar,

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
minimum_size 120 5

# Draw shades?
draw_shades no

# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no

# Draw borders around graphs
draw_graph_borders no

# Stippled borders?
stippled_borders 8

# border margins
border_margin 4

# border width
border_width 1

# Text alignment, other possible values are commented
#alignment top_left
alignment top_right

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 15
gap_y 35

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

# Add spaces to keep things from moving about?  This only affects certain objects.
use_spacer no

TEXT
${alignr}${color slate grey}CPU & MEM
${alignr}${color grey}Burton 2600+:${color}$cpu${color grey}%, Temp:${color red}${hwmon 0 temp 1}${color grey}°C / ${color}${hwmon fan 1}${color grey}RPM
${alignr}${color grey}ASUS A7V880:${color}${hwmon 0 temp 2}${color grey}°C, VCore: ${color}${hwmon vol 0}${color grey}V, 3.3V: ${color}${hwmon vol 2}${color grey}V, 5V: ${color}${hwmon vol 1}${color grey}V
${alignr}${color grey}1024MB RAM: ${color}${memperc}${color grey}% free
${alignr}${color grey}Processes: $running_processes / $processes
${alignr}${color slate grey}HDD & PEN
${alignr}${color grey}root: ${color yellow}${fs_free /} ${color grey}/ ${color orange}${fs_size /} 
${alignr}${color grey}home: ${color yellow}${fs_free /home} ${color grey}/ ${color orange}${fs_size /home}
${alignr}${if_mounted /media/PYN}${color grey}USB:${color yellow}${fs_free /media/PYN} ${color grey}/ ${color orange}${fs_size /media/PYN}${endif}${if_mounted /media/KORSARZ}${color grey}USB:${color yellow}${fs_free /media/KORSARZ} ${color grey}/ ${color orange}${fs_size /media/KORSARZ}${endif} 
${alignr}${color slate grey}NETWORKING
${alignr}${color grey}OGGY ${wireless_link_bar 8,60 wlan0} ${wireless_link_qual wlan0}%
${alignr}${color grey}DOMKERS ${wireless_link_bar 8,60 wlan1} ${wireless_link_qual wlan1}%
${alignr}${color grey}Up: ${color lightgreen}${upspeedf wlan0}KB/s ${color grey}Down: ${color green}${downspeedf wlan0}KB/s
${alignr}${color grey}Total Up: ${color lightgreen}${totalup wlan0}
${alignr}${color grey}Total Down: ${color green}${totaldown wlan0}

${alignr}${color grey}Uptime: $uptime
Tak się wyświetla : http://krasnoludy.republika.pl/c.pyn.png

EDIT:
A jak się poda nazwy, to nawet podpisuje rozpoznanego pena;-)

Kod: Zaznacz cały

${alignr}${if_mounted /media/PYN}${color grey}PYN:${color yellow}${fs_free /media/PYN} ${color grey}/ ${color orange}${fs_size /media/PYN}${endif}${if_mounted /media/KORSARZ}${color grey}CORSAIR:${color yellow}${fs_free /media/KORSARZ} ${color grey}/ ${color orange}${fs_size /media/KORSARZ}${endif}
Awatar użytkownika
rryk
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 206
Rejestracja: 04 mar 2008, 16:00
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME
Kontakt:

Odp: Conky - zastosowanie komend "if_..."

Post autor: rryk »

jak juz mowilem to niedziala
Awatar użytkownika
igotit4free
Przyjaciel
Przyjaciel
Posty: 6453
Rejestracja: 29 paź 2008, 22:51
Płeć: Mężczyzna
Architektura: x86_64
Lokalizacja: KRK

Odp: Conky - zastosowanie komend "if_..."

Post autor: igotit4free »

Wygląda na to, że to se ne da:???:
Jedyne co osiągnąłem => http://krasnoludy.republika.pl/kupa.png

Kod: Zaznacz cały

${alignr}${if_mounted /media/PYN}${color grey}PYN:${color yellow}${fs_free /media/PYN} ${color grey}/ ${color orange}${fs_size /media/PYN}${endif}${if_mounted /media/KORSARZ}${color grey}CORSAIR:${color yellow}${fs_free /media/KORSARZ} ${color grey}/ ${color orange}${fs_size /media/KORSARZ}${endif}
${alignr}${color}UeSBeki
${alignr}${color}${if_existing /dev/sdb1}${color grey}USB:${color yellow}${fs_free /dev/sdb1} ${color grey}/ ${color orange}${fs_size /dev/sdb1}${else}USB Not Present.${endif}
Pierwsza linijka moja, odczytuje wcześniej "opisane" pendrajwy, ale obcego nie odczyta, no i w konsoli powtarza komunikat:

Kod: Zaznacz cały

NICK@NICK-desktop:~$ conky
Conky: use_spacer should have an argument of left, right, or none.  'no' seems to be some form of 'false', so defaulting to none.
Conky: statfs '/media/PYN': No such file or directory
Conky: desktop window (16000a7) is subwindow of root window (87)
Conky: window type - override
Conky: drawing to created window (0x3400001)
Conky: drawing to double buffer
Conky: statfs '/media/PYN': No such file or directory
Conky: statfs '/media/PYN': No such file or directory
Trzecia linijka jest niby uniwersalna i informuje o każdym pendrajwie albo jego braku ... błędów w konsoli nie generuje ale nie umiem zmusić jej do odczytania nazwy pena no i podaje fałszywe dane o wielkości nośnika:pt36:

Najciekawsze jest to, że przeorałem Internet i nie znalazłem ANI JEDNEGO configa conky`ego, który by potrafił zewnętrzne dyski na USB odczytywać.
Aż niewiarygodne.Obrazek

EDIT:
rryk pisze:ps natuilus o ile sie orientuje to nigdzie tego niezapisuje
On może nie, nie wiem ... ale jak się sprawdzi zakładkę kernel w Dzienniku Systemowym, to przy podpięciu USB fajne rzeczy tam widać, obiecujące:twisted:

Kod: Zaznacz cały

Feb  4 21:59:50 domek-desktop kernel: [ 3681.440015] usb 1-6: new high speed USB device using ehci_hcd and address 4
Feb  4 21:59:50 domek-desktop kernel: [ 3681.598033] usb 1-6: configuration #1 chosen from 1 choice
Feb  4 21:59:50 domek-desktop kernel: [ 3681.718654] usbcore: registered new interface driver libusual
Feb  4 21:59:50 domek-desktop kernel: [ 3681.736060] Initializing USB Mass Storage driver...
Feb  4 21:59:50 domek-desktop kernel: [ 3681.738377] scsi4 : SCSI emulation for USB Mass Storage devices
Feb  4 21:59:50 domek-desktop kernel: [ 3681.739250] usbcore: registered new interface driver usb-storage
Feb  4 21:59:50 domek-desktop kernel: [ 3681.740077] USB Mass Storage support registered.
Feb  4 21:59:50 domek-desktop kernel: [ 3681.740788] usb-storage: device found at 4
Feb  4 21:59:50 domek-desktop kernel: [ 3681.740793] usb-storage: waiting for device to settle before scanning
Feb  4 21:59:55 domek-desktop kernel: [ 3686.740472] usb-storage: device scan complete
Feb  4 21:59:55 domek-desktop kernel: [ 3686.742069] scsi 4:0:0:0: Direct-Access     Corsair  Flash Voyager    1100 PQ: 0 ANSI: 0 CCS
Feb  4 21:59:55 domek-desktop kernel: [ 3686.772316] sd 4:0:0:0: [sdb] 15728640 512-byte hardware sectors (8053 MB)
Feb  4 21:59:55 domek-desktop kernel: [ 3686.773980] sd 4:0:0:0: [sdb] Write Protect is off
Feb  4 21:59:55 domek-desktop kernel: [ 3686.773990] sd 4:0:0:0: [sdb] Mode Sense: 43 00 00 00
Feb  4 21:59:55 domek-desktop kernel: [ 3686.773993] sd 4:0:0:0: [sdb] Assuming drive cache: write through
Feb  4 21:59:55 domek-desktop kernel: [ 3686.778369] sd 4:0:0:0: [sdb] 15728640 512-byte hardware sectors (8053 MB)
Feb  4 21:59:55 domek-desktop kernel: [ 3686.779678] sd 4:0:0:0: [sdb] Write Protect is off
Feb  4 21:59:55 domek-desktop kernel: [ 3686.779688] sd 4:0:0:0: [sdb] Mode Sense: 43 00 00 00
Feb  4 21:59:55 domek-desktop kernel: [ 3686.779691] sd 4:0:0:0: [sdb] Assuming drive cache: write through
Feb  4 21:59:55 domek-desktop kernel: [ 3686.780368]  sdb: sdb1
Feb  4 21:59:55 domek-desktop kernel: [ 3686.821797] sd 4:0:0:0: [sdb] Attached SCSI removable disk
Feb  4 21:59:55 domek-desktop kernel: [ 3686.822259] sd 4:0:0:0: Attached scsi generic sg2 type 0
Jest tam inicjacja, jest nazwa i wielkość ...

A w syslogu jeszcze lepiej :

Kod: Zaznacz cały

Feb  4 21:59:50 domek-desktop kernel: [ 3681.440015] usb 1-6: new high speed USB device using ehci_hcd and address 4
Feb  4 21:59:50 domek-desktop kernel: [ 3681.598033] usb 1-6: configuration #1 chosen from 1 choice
Feb  4 21:59:50 domek-desktop kernel: [ 3681.718654] usbcore: registered new interface driver libusual
Feb  4 21:59:50 domek-desktop kernel: [ 3681.736060] Initializing USB Mass Storage driver...
Feb  4 21:59:50 domek-desktop kernel: [ 3681.738377] scsi4 : SCSI emulation for USB Mass Storage devices
Feb  4 21:59:50 domek-desktop kernel: [ 3681.739250] usbcore: registered new interface driver usb-storage
Feb  4 21:59:50 domek-desktop kernel: [ 3681.740077] USB Mass Storage support registered.
Feb  4 21:59:50 domek-desktop kernel: [ 3681.740788] usb-storage: device found at 4
Feb  4 21:59:50 domek-desktop kernel: [ 3681.740793] usb-storage: waiting for device to settle before scanning
Feb  4 21:59:55 domek-desktop kernel: [ 3686.740472] usb-storage: device scan complete
Feb  4 21:59:55 domek-desktop kernel: [ 3686.742069] scsi 4:0:0:0: Direct-Access     Corsair  Flash Voyager    1100 PQ: 0 ANSI: 0 CCS
Feb  4 21:59:55 domek-desktop kernel: [ 3686.772316] sd 4:0:0:0: [sdb] 15728640 512-byte hardware sectors (8053 MB)
Feb  4 21:59:55 domek-desktop kernel: [ 3686.773980] sd 4:0:0:0: [sdb] Write Protect is off
Feb  4 21:59:55 domek-desktop kernel: [ 3686.773990] sd 4:0:0:0: [sdb] Mode Sense: 43 00 00 00
Feb  4 21:59:55 domek-desktop kernel: [ 3686.773993] sd 4:0:0:0: [sdb] Assuming drive cache: write through
Feb  4 21:59:55 domek-desktop kernel: [ 3686.778369] sd 4:0:0:0: [sdb] 15728640 512-byte hardware sectors (8053 MB)
Feb  4 21:59:55 domek-desktop kernel: [ 3686.779678] sd 4:0:0:0: [sdb] Write Protect is off
Feb  4 21:59:55 domek-desktop kernel: [ 3686.779688] sd 4:0:0:0: [sdb] Mode Sense: 43 00 00 00
Feb  4 21:59:55 domek-desktop kernel: [ 3686.779691] sd 4:0:0:0: [sdb] Assuming drive cache: write through
Feb  4 21:59:55 domek-desktop kernel: [ 3686.780368]  sdb: sdb1
Feb  4 21:59:55 domek-desktop kernel: [ 3686.821797] sd 4:0:0:0: [sdb] Attached SCSI removable disk
Feb  4 21:59:55 domek-desktop kernel: [ 3686.822259] sd 4:0:0:0: Attached scsi generic sg2 type 0
Feb  4 21:59:56 domek-desktop hald: mounted /dev/sdb1 on behalf of uid 1000
To co przedtem plus punkt montowania:clap: Tylko jak to stamtąd wyłuskać i podać do Conky ?

Jest jeszcze druga obiecująca możliwość ...
Analogicznie do tego polecenia :

Kod: Zaznacz cały

${if_existing /proc/net/route wlan1}DOMKERS }${else}DOMKERS Not present${endif}
Jak się podepnie USB to w katalogu /proc/scsi/ pojawia się "usb-storage" a w nim plik o nazwie N gdzie N to numer portu usb do którego się pena włożyło ... jakby się dało to N odczytać tak jak route wlan1 ... no jak się do tego dobrać, podpowiedzcie proszę.
Awatar użytkownika
zet120
Wytworny Kaczor
Wytworny Kaczor
Posty: 280
Rejestracja: 31 maja 2008, 07:35
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Openbox
Architektura: x86_64

Odp: Conky - zastosowanie komend "if_..."

Post autor: zet120 »

Z tego co widzę Ktoś już przerabiał podobny temat i to działa.
Jak zauważyłem skrypt odczytuje dane z /etc/mtab, zatem może tutaj jest właśnie droga do uniwersalnego skryptu dla dysków podłączanych do USB.
Awatar użytkownika
igotit4free
Przyjaciel
Przyjaciel
Posty: 6453
Rejestracja: 29 paź 2008, 22:51
Płeć: Mężczyzna
Architektura: x86_64
Lokalizacja: KRK

Odp: Conky - zastosowanie komend "if_..."

Post autor: igotit4free »

zet120 pisze:Z tego co widzę Ktoś już przerabiał podobny temat i to działa.
Jak zauważyłem skrypt odczytuje dane z /etc/mtab, zatem może tutaj jest właśnie droga do uniwersalnego skryptu dla dysków podłączanych do USB.
Dzięki, spojrzę na to ... chociaż wygląda na straszliwie skomplikowane:bag:

Ja się uporałem z problemem tydzień temu, moje skrypty mieszczą się w jednej linii, proste jest piękne:twisted:
LINK.

Wykorzystałem df i awk, nawet posłałem HOW-TO ale do dzisiaj się nie pokazało ...
Windows 10 @ GA-P67A-D3-B3, i3-2100 3.10GHz, 8GB RAM, Gigabyte HD6850 1GB RAM
Android 7.0 @ Motorola Moto G4+
Awatar użytkownika
zet120
Wytworny Kaczor
Wytworny Kaczor
Posty: 280
Rejestracja: 31 maja 2008, 07:35
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Openbox
Architektura: x86_64

Odp: Conky - zastosowanie komend "if_..."

Post autor: zet120 »

Korzystam z Twojego patentu, ale jak pewnie sam wiesz on ma pewne wady.
Mam cztery urzadzenia zewnetrzne, które podłączam do kompa w róznych konfiguracjach, i nigdy nie wiem czy owo urządzenie zostanie zamontowane jak dev/sdc....czy jeszcze inaczej.
Szukając alternatywnego rozwiązania znalazłem jeszcze taki patent, o wiele bardziej czytelny od tego z poprzedniego posta.

Kod: Zaznacz cały

#!/bin/bash

devices=(`df -l | grep /dev/ | grep -v /dev/shm | awk '{ print $1 }'`)
mounts=(`df -l | grep /dev/ | grep -v /dev/shm | awk '{ print $6 }'`)
num_devices=$(( (${#devices}+1) /2)) # stupid math to handle CRs in the array.

for ((i=0;i<$num_devices;i++)); do
  device=${devices[${i}]}
  mount=${mounts[${i}]}
  if [ -n "$mount" ]; then
    echo '${if_mounted '$mount'}${color}'$mount' ${color #555555}('$device')${color #00cc00} ${goto 220}${color #00cc00}${fs_free '$mount'} Free ${color #78af78}${fs_bar 9,135 '$mount'}${color #00cc00}${fs_free_perc '$mount'}%${color #78af78}
       ${diskiograph '$device' 15,0 000000 aaaa00}${endif}'
  fi
done
W conky wystarczy wpis:

Kod: Zaznacz cały

${execp /ścieżka do skryptu}
I działa, ale jak to zwykle bywa nie do końca.
Skrypt "wykrywa" wszystkie dyski, a nie tylko te zewnętrzne.
Pewnie da się go sprytnie zmodyfikować, ale wymaga to wiedzy i praktyki w programowaniu.
Pozatym skrypt nie radzi sobie z dyskami zewnetrznymi, których nazwa zawiera spację, np. w moim przypadku nazwa dysku to FreeAgent Drive.
Pewnie i to też da się zmodyfikować, ale jak wyżej....:-)
No chyba, że znajdzie się chętna osoba, która pochyli się nad tymi "znaczkami" i sprawi aby skrypcik robił to co trzeba.
Awatar użytkownika
majka
Piegowaty Guziec
Piegowaty Guziec
Posty: 25
Rejestracja: 19 wrz 2007, 18:57
Płeć: Kobieta
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Conky - zastosowanie komend "if_..."

Post autor: majka »

A ja mam pytanie tego typu:
Czy da się wrzucić conky do tray'a?
Awatar użytkownika
igotit4free
Przyjaciel
Przyjaciel
Posty: 6453
Rejestracja: 29 paź 2008, 22:51
Płeć: Mężczyzna
Architektura: x86_64
Lokalizacja: KRK

Odp: Conky - zastosowanie komend "if_..."

Post autor: igotit4free »

zet120 pisze:Korzystam z Twojego patentu, ale jak pewnie sam wiesz on ma pewne wady.
Mam cztery urzadzenia zewnetrzne, które podłączam do kompa w róznych konfiguracjach, i nigdy nie wiem czy owo urządzenie zostanie zamontowane jak dev/sdc....czy jeszcze inaczej.
U mnie wszystkie urządzenia USB montują się jako dev/sdb1 nawet odtwarzacz mp3 córki ... aparatu foto jeszcze nie podłączałem, podobnie jak nie zdarzyło się podpiąć więcej niż jednego pendrajawa. Napisz, na jakie wady mojego skryptu natrafiłeś ?
Szukając alternatywnego rozwiązania znalazłem jeszcze taki patent, o wiele bardziej czytelny od tego z poprzedniego posta.

Kod: Zaznacz cały

#!/bin/bash

devices=(`df -l | grep /dev/ | grep -v /dev/shm | awk '{ print $1 }'`)
mounts=(`df -l | grep /dev/ | grep -v /dev/shm | awk '{ print $6 }'`)
num_devices=$(( (${#devices}+1) /2)) # stupid math to handle CRs in the array.

for ((i=0;i<$num_devices;i++)); do
  device=${devices[${i}]}
  mount=${mounts[${i}]}
  if [ -n "$mount" ]; then
    echo '${if_mounted '$mount'}${color}'$mount' ${color #555555}('$device')${color #00cc00} ${goto 220}${color #00cc00}${fs_free '$mount'} Free ${color #78af78}${fs_bar 9,135 '$mount'}${color #00cc00}${fs_free_perc '$mount'}%${color #78af78}
       ${diskiograph '$device' 15,0 000000 aaaa00}${endif}'
  fi
done
W conky wystarczy wpis:

Kod: Zaznacz cały

${execp /ścieżka do skryptu}
I działa, ale jak to zwykle bywa nie do końca.
Skrypt "wykrywa" wszystkie dyski, a nie tylko te zewnętrzne.
Pewnie da się go sprytnie zmodyfikować, ale wymaga to wiedzy i praktyki w programowaniu.
Pozatym skrypt nie radzi sobie z dyskami zewnetrznymi, których nazwa zawiera spację, np. w moim przypadku nazwa dysku to FreeAgent Drive.
Pewnie i to też da się zmodyfikować, ale jak wyżej....:-)
No chyba, że znajdzie się chętna osoba, która pochyli się nad tymi "znaczkami" i sprawi aby skrypcik robił to co trzeba.
Wygląda ciekawie, przyjrzę mu się wieczorem jak będę miał trochę czasu.
Windows 10 @ GA-P67A-D3-B3, i3-2100 3.10GHz, 8GB RAM, Gigabyte HD6850 1GB RAM
Android 7.0 @ Motorola Moto G4+
Awatar użytkownika
zet120
Wytworny Kaczor
Wytworny Kaczor
Posty: 280
Rejestracja: 31 maja 2008, 07:35
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Openbox
Architektura: x86_64

Odp: Conky - zastosowanie komend "if_..."

Post autor: zet120 »

igotit4free pisze:Napisz, na jakie wady mojego skryptu natrafiłeś ?
Jak już pisałem wcześniej mam cztery zewnętrzne urządzenia dyskowe, które podłączam w różnej konfiguracji, zdarza się, że wszystkie równocześnie. :-)
Zatem aby w pełni skorzystać z Twojego skryptu muszę powielić go dwanaście razy (rozmiar, wolne miejsce, bar i to razy cztery) i w tym upatruję może nie wady, ale niedogodności.
Zatem gdyby udało się dostosować ten skrypcik to byłoby super.
Awatar użytkownika
igotit4free
Przyjaciel
Przyjaciel
Posty: 6453
Rejestracja: 29 paź 2008, 22:51
Płeć: Mężczyzna
Architektura: x86_64
Lokalizacja: KRK

Odp: Conky - zastosowanie komend "if_..."

Post autor: igotit4free »

Fakt, podpiąłem oba peny i ...

Kod: Zaznacz cały

domek@domek-desktop:~$ df -l
System plików         bl.  1K B        użyte dostępne %uż. zamont. na
/dev/sda2             10681508   3975520   6163396  40% /
tmpfs                   516408         0    516408   0% /lib/init/rw
varrun                  516408       312    516096   1% /var/run
varlock                 516408         0    516408   0% /var/lock
udev                    516408      2852    513556   1% /dev
tmpfs                   516408      1120    515288   1% /dev/shm
lrm                     516408      2004    514404   1% /lib/modules/2.6.27-11-generic/volatile
/dev/sda3             65749448  47237848  15171696  76% /home
/dev/sdb1              7848440   3787252   4061188  49% /media/CORSAIR
/dev/sdc1              2004160    328796   1675364  17% /media/PENNY
... pojawił się sdc1:mrgreen:
Opcja nr 1 to multiplikacja skryptów dla poszczególnych sdX1.
Opcja nr 2 to nowy skrypt, wycinający z tego wyniku tylko linie z wyrażeniem dev/ i wyświetlający w żądanym porządku np. Name-Used-Total_Size dla root, home i zewnętrznych ...
No i 3 =>spróbować adaptacji tych co Ty je znalazłeś ... idę kombinować:twisted:

EDIT:
http://krasnoludy.republika.pl/TOTAL.png

Wersja robocza;-) ... czyta roota, home i wszystkie USB świata:twisted:
Skrypt :

Kod: Zaznacz cały

    #!/bin/bash

    echo "$( df -h | grep /dev/sd | awk '{ print $6,$3,$2 }')"
Do configu Conky:

Kod: Zaznacz cały

${color red}TOTAL
${color red}${execi 3 ~/conky/TOTAL}
Ma wady, a jakże;-)
Windows 10 @ GA-P67A-D3-B3, i3-2100 3.10GHz, 8GB RAM, Gigabyte HD6850 1GB RAM
Android 7.0 @ Motorola Moto G4+
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości