Konfiguracja conky dla kart sieciowych oraz procesora

Tematy związane z oprogramowaniem, instalacją, konfiguracją
mike26
Beginner
Posty: 170
Rejestracja: 07 czerwca 2012, 16:33

Konfiguracja conky dla kart sieciowych oraz procesora

Post autor: mike26 »

Witam.
Pobrałem plik konfiguracyjny .conkyrc Yampressa trochę go zmieniłem, dodałem kilka rzeczy z innych plików konfiguracyjnych, tak aby zrobić coś dla siebie. Wyszło mi to nawet fajnie z tym, że statystyki internetu są podawane pod konkretną kartę sieciową. Tzn. jeżeli w pliku konfiguracyjnym conky wpiszę eth0 to będzie pokazywać dla eth0. Jeżeli się jednak połączę przez wifi to statystyki nie będą się wyświetlać, to samo tyczy się lokalnego adresu IP.

Jak zrobić aby obok procentowej pracy procesora pokazywało taktowanie w hercach.

Jak przesunąć wyświetlanie conky na ekranie, mam:

Kod: Zaznacz cały

gap_y 0
Czy można przesunąć jeszcze bardziej?

Kod: Zaznacz cały

background yes 

#prawy dolny rog 
gap_x 1230 
gap_y 0 

maximum_width 200 

# X font when Xft is disabled, you can pick one with program xfontsel 
#font -*-*-*-r-normal--14-*-*-*-c-*-iso8859-2 
font -xos4-terminus-*-r-normal-*-12-100-*-*-c-*-iso10646-1 

# Use Xft? 
use_xft yes 

#xftfont Bitstream Vera Sans Mono:size=8 
xftfont Terminus:encoding=utf-8:size=9 
xftalpha 0.9 

update_interval 1.0 

total_run_times 0 

own_window yes 
own_window_type normal
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager 
own_window_transparent yes 

# If own_window_transparent is set to no, you can set the background colour here 
own_window_colour hotpink 

# Use double buffering (reduces flicker, may not work for everyone) 
double_buffer yes 
draw_shades no 
draw_outline no 
draw_borders no 
stippled_borders 8 
border_margin 4 
border_width 1 

default_color white 
default_shade_color white 
default_outline_color white 

alignment top_left 
no_buffers yes 
uppercase no 

cpu_avg_samples 2 
net_avg_samples 2 

override_utf8_locale yes 

use_spacer yes 

TEXT 
${font :size=10} 
${color }Hostname: $alignc${color }$nodename 
${color }Kernel: $alignc${color }$kernel 
${color }UpTime: $alignc${color }$uptime 

${color }CPU1:${color} ${cpu cpu1}% 
${cpubar cpu1 8,150}
${color }CPU2:${color} ${cpu cpu2}%
${cpubar cpu2 8,150}
${color }RAM:   $color%$memperc ${alignr}$mem 
${membar 8,150}
 
${font :size=10:bold}Procesy
${font :size=8}${color }${top name 1}$alignr${top cpu 1} 
${color }${top name 2}$alignr${top cpu 2}
${color }${top name 3}$alignr${top cpu 3}
${color }${top name 4}$alignr${top cpu 4}
${color }${top name 5}$alignr${top cpu 5}

${font :size=10:bold}Pamięć
${font :size=8}${color}${top_mem name 1}$alignr${top_mem mem 1} 
${color }${top_mem name 2}$alignr${top_mem mem 2} 
${color }${top_mem name 3}$alignr${top_mem mem 3} 
${color }${top_mem name 4}$alignr${top_mem mem 4}
${color }${top_mem name 5}$alignr${top_mem mem 5}  
${font :size=9}
#
#~~~~~~~~~ HDD ~~~~~~~~~ #
# 
${color }${font :size=10:bold}HDD:${font} $color$alignr$diskio 
${color } /: ${alignr}${color }${fs_used  /} z ${fs_size /}
${fs_bar 8,150 /} 
${color } /home: ${alignr}${color }${fs_used /home} z ${fs_size /home}
${fs_bar 8,150 /home}
${color } Windows 7: ${alignr}${color }${fs_used /media/Windows_7} z ${fs_size /media/Windows_7}
${fs_bar 8,150 /media/Windows_7} 
${color } Gry: ${alignr}${color }${fs_used /media/Gry} z ${fs_size /media/Gry}
${fs_bar 8,150 /media/Gry} 
${color } Rozne: ${alignr}${color }${fs_used /media/Rozne} z ${fs_size /media/Rozne}
${fs_bar 8,150 /media/Rozne}  
${color }swap: $color%$swapperc ${alignr}$swap 
${swapbar 8,150}
#*********************************************************************************************************
#~~~~~~~~ Internet ~~~~~~~~~~~~#
#
${color }${font :size=10:bold}Internet:${font}

#
#~~~~~~~~~ SSID ~~~~~~~~~~#
#
${voffset -8}SSID: ${wireless_essid wlan0}
Signal: ${wireless_link_qual wlan0}% ${alignr}${wireless_link_bar 8,60 wlan0}

#
#~~~~~~~~~~~ Upload wlan0 ~~~~~~~~~~#
#
#Upload: ${upspeed wlan0}${font} ${alignr}${upspeedgraph wlan0 8,60 F57900 FCAF3E}
#Total: ${totalup wlan0}
#
#~~~~~~~~~~~ Download wlan0 ~~~~~~~~~~#
#
#Download: ${downspeed wlan0}${font} ${alignr}${downspeedgraph wlan0 8,60 F57900 FCAF3E}
#Total: ${totaldown wlan0}
#
#~~~~~~~~~~~ Upload eth0 ~~~~~~~~~#
#
${voffset -6}Upload: ${upspeed eth0}${font} ${alignr}${upspeedgraph eth0 8,60 F57900 FCAF3E}
Total: ${totalup eth0}
#
#~~~~~~~~~~ Download eth0 ~~~~~~~~#
#

${voffset -6}Download: ${downspeed eth0}${font} ${alignr}${downspeedgraph eth0 8,60 F57900 FCAF3E}
Total: ${totaldown eth0}

#
# ~~~~~~~~ Local i Public IP ~~~~~~~~~~#
#
${voffset -4}Local IP: ${alignr}${addr eth0}
Public IP: ${alignr}${execi 3600 ~/.conky_pliki/ip.sh}
#**********************************************************************************************************
#~~~~~~~~ Adres i download/upload - nie używam ~~~~~~~~~~~#
#
#${font :size=10}Public IP: ${execi 1800 ~/.conky_pliki/ip.sh}
#${font :size=10}Local IP:${alignr}${addr eth0}
 
#${font :size=8}${color}Download:${color }${font :size=12} ${downspeed eth0}${color}${font :size=8} ${alignr}
#${font :size=8} ${offset 10}${color}Total: ${color }${totaldown eth0} 
#${color}Upload: ${color }${font :size=12}${upspeed eth0}${color}${font :size=8} ${alignr}
#${offset 10}${color}Total: ${color }${totalup eth0}
# 
#~~~~~~~~ Połączenia ~~~~~~~~~~#
#
#${color}@Connections@ 
#$color Outbound: ${tcp_portmon 32768 61000 count} 
#$color Inbound: ${tcp_portmon 1 32767 count}  
#${color}Outbound Connection ${alignr} Port$color 
#${tcp_portmon 32768 61000 rip 0} ${alignr} ${tcp_portmon 32768 61000 rservice 0} 
#${tcp_portmon 32768 61000 rip 1} ${alignr} ${tcp_portmon 32768 61000 rservice 1} 
#${tcp_portmon 32768 61000 rip 2} ${alignr} ${tcp_portmon 32768 61000 rservice 2} 
#${tcp_portmon 32768 61000 rip 3} ${alignr} ${tcp_portmon 32768 61000 rservice 3} 
#${tcp_portmon 32768 61000 rip 4} ${alignr} ${tcp_portmon 32768 61000 rservice 4} 
#${tcp_portmon 32768 61000 rip 4} ${alignr} ${tcp_portmon 32768 61000 rservice 5} 
#${tcp_portmon 32768 61000 rip 4} ${alignr} ${tcp_portmon 32768 61000 rservice 6} 
#${tcp_portmon 32768 61000 rip 4} ${alignr} ${tcp_portmon 32768 61000 rservice 7} 
#${tcp_portmon 32768 61000 rip 4} ${alignr} ${tcp_portmon 32768 61000 rservice 8}

Zawartość pliku ~/.conky_pliki/ip.sh

Kod: Zaznacz cały

#!/bin/bash
wget http://checkip.dyndns.org/ -q -O - |
grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>'

Wpadł mi do głowy pomysł aby w zależnośći od używanej karty dodawać inny skrypt.sh z inną zawartością. Wyżej jest podane pobieranie i wysyłanie dla eth0, dla eth1 (Aero 2) i dla wlan0.

Obrazek
Martinex
Beginner
Posty: 101
Rejestracja: 27 marca 2008, 16:36
Lokalizacja: Warszawa

Post autor: Martinex »

Sprawdzanie IP można zrobić poleceniem:

Kod: Zaznacz cały

${color1}IP ${alignr}${color2}${addr eth0}
Ale w ten sposób uzyskujesz adres IP konkretnej karty sieciowej. Jeśli łączysz się przez router to uzyskasz tylko adres IP lokalny z tej puli, które przypisuje router. Jednak te statystyki są liczone do restartu PC potem są zerowane. Jeśli chcesz dokładniejsze statystyki to zainteresuj się programem vnstat. On potrafi liczyć ogólny transfer dla każdego interfejsu, robić zestawienia dniowe, tygodniowe, miesięczne, total down/upload czy top1:) . Można oczywiście go też wkleić do pliku konfiguracyjnego conky.

Taktowanie w MHz:

Kod: Zaznacz cały

${freq cpu0}MHz
- możesz zrobić oddzielnie dla każdego z rdzeni, wystarczy zmieniać cpu0 na cpu1 itd.

W którym kierunku chcesz przesunąć? Pewnie wchodzą też wartości ujemne.
mike26
Beginner
Posty: 170
Rejestracja: 07 czerwca 2012, 16:33

Post autor: mike26 »

Wskaźnik taktowania pokazuje minimalną wartość 800 MHz, czy można uzyskać bardziej dokładne wyniki (od 1% do 15% jest 800MHz)?

Może zostawię tylko SSID:, Signal, Local IP, Public IP.

Z tym, że jak automatycznie wykryć, która karta jest połączona z internetem. A może dać wszystko:

Kod: Zaznacz cały

#~~~~~~~~ Internet ~~~~~~~~~~~~#
#
${color }${font :size=10:bold}Internet:${font}

#
#~~~~~~~~~ SSID ~~~~~~~~~~#
#
${voffset -8}SSID: ${wireless_essid wlan0}
Signal: ${wireless_link_qual wlan0}% ${alignr}${wireless_link_bar 8,60 wlan0}

#
# ~~~~~~~~ Local i Public IP ~~~~~~~~~~#
#
${voffset -4}Local IP eth0: ${alignr}${addr eth0}

${voffset -4}Local IP eth1: ${alignr}${addr eth1}

${voffset -4}Local IP wlan0: ${alignr}${addr wlan0}

Public IP: ${alignr}${execi 3600 ~/.conky_pliki/ip.sh}

Przesunąć oczywiście do góry, o wartościach minusowych pomyślałem ale nie działa.
Martinex
Beginner
Posty: 101
Rejestracja: 27 marca 2008, 16:36
Lokalizacja: Warszawa

Post autor: Martinex »

Może Twój procesor ma kilka częstotliwości do wyboru, taki tryb oszczędny. Mój obsługuje 3 różne taktowania. Wtenczas wyświetla się realne taktowanie w danym momencie. 15% dla 800MHz to nie to samo co 15% dla 2GHz.

Jak sprawdzić czy karta połączona to nie wiem. Natomiast możesz dać by się nie wyświetlało jeśli interfejs nie jest aktywny.

Kod: Zaznacz cały

${if_up ppp0}tutaj co ma się wyświetlać kod ${endif}
mike26
Beginner
Posty: 170
Rejestracja: 07 czerwca 2012, 16:33

Post autor: mike26 »

Rozumiem, że to ma działać w ten sposób

Kod: Zaznacz cały

${if_up eth0}${color }Local IP eth0: ${alignr}${addr eth0}${endif}
${if_up eth1}${color }Local IP eth1: ${alignr}${addr eth1}${endif}
${if_up wlan0}${color }Local IP wlan0: ${alignr}${addr wlan0}${endif} 
Kod, który mi podałeś jest prawie idealny. Działa na zasadzie jeśli wyłączę wifi (nie rozłączę się tylko wyłączę 'Fn+F5' wtedy nie wyświetlam) itd dla każdej karty.

Z tym, że eth0 jest cały czas aktywne, trzeba by dać

Kod: Zaznacz cały

ifconfig eth0 down
ale dobrze, nie będę już motał zostawię tak jak jest czyli:

Kod: Zaznacz cały

${color }Local IP eth0: ${alignr}${addr eth0}
${color }Local IP eth1: ${alignr}${addr eth1}
${color }Local IP wlan0: ${alignr}${addr wlan0}
Jeśli można ostanie pytanie, co wpisać aby wyświetlało system oraz jego wersję tzn. Debian Wheezy
Martinex
Beginner
Posty: 101
Rejestracja: 27 marca 2008, 16:36
Lokalizacja: Warszawa

Post autor: Martinex »

Wspomnianym poleceniem wyłączasz ten interfejs, system jest pewnie tak skonfigurowany by uruchamiać to połączenie już na etapie startowania (wifi czy 3G w ten sposób nie uruchomi więc są wyłączone, ale i to można obejść). Warto się zainteresować plikiem /etc/network/interfaces. Choć pewnie też zależy czy masz jakieś graficzne konfiguratory sieci w systemie. W wspomnianym pliku możesz wyłączyć auto uruchamianie tego interfejsu i np. uruchamiać go później ręcznie. Można też dodać formułkę

Kod: Zaznacz cały

allow-hotplug eth0


Może:

Kod: Zaznacz cały

$nodename $sysname $kernel on $machine[/color]
Ale to nie zwraca nazwy dystrybucji, jeśli nie zmieniasz często systemu to można to wpisać na sztywno. Po co Ci tyle tych interfejsów sieciowych?
mike26
Beginner
Posty: 170
Rejestracja: 07 czerwca 2012, 16:33

Post autor: mike26 »

Czekaj, czekaj:

Kod: Zaznacz cały

[B]allow-hotplug eth0[/B] 
wyłącza eth0 na etapie startowania systemu?

Eht0 i wlan0 używam w domu. Wlan0 działa gdy ponownie uruchomię system, więc szybciej wpiąć się kablem (muszę dawać połącz z siecią, automatycznie nie łączy).

Eht1 to Aero2 używam jeżeli jestem poza domem.

Mój plik interfaces

Kod: Zaznacz cały

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
Martinex
Beginner
Posty: 101
Rejestracja: 27 marca 2008, 16:36
Lokalizacja: Warszawa

Post autor: Martinex »

Formuła ,,allow-hotplug'' umożliwia nawiązanie połączenia po podłączeniu kabla (czy tam włączeniu rutera, który jest podpięty do danej karty sieciowej).
Eht0 i wlan0 używam w domu. Wlan0 działa gdy ponownie uruchomię system, więc szybciej wpiąć się kablem (muszę dawać połącz z siecią, automatycznie nie łączy).
Myślę, że da się wifi też zautomatyzować. Sieć i hasło masz zawsze takie same, więc jest to do zrobienia. Sobie kiedyś zautomatyzowałem połączenie 3G i działało to praktycznie tj. przez kabel. Pomijając już te wady połączeń mobilnych, typu zrywanie, czy przeciążenia nadajników.

eth1 nie powinno być po prostu jako ppp0?

Poczytaj to:
http://www.cyberciti.biz/faq/debian-lin ... etworking/
mike26
Beginner
Posty: 170
Rejestracja: 07 czerwca 2012, 16:33

Post autor: mike26 »

Zrobiłem i przy:

Kod: Zaznacz cały

/etc/init.d/networking restart
pojawiło mi się coś takiego:

Kod: Zaznacz cały

[....] Running /etc/init.d/networking restart is deprecated because it may not r[warnble some interfaces ... (warning).
[....] Reconfiguring network interfaces...RTNETLINK answers: No such process
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/ac:72:89:64:6c:48
Sending on   LPF/wlan0/ac:72:89:64:6c:48
Sending on   Socket/fallback
DHCPRELEASE on wlan0 to 192.168.15.1 port 67
send_packet: Network is unreachable
send_packet: please consult README file regarding broadcast address.
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

RTNETLINK answers: Operation not possible due to RF-kill
Listening on LPF/wlan0/ac:72:89:64:6c:48
Sending on   LPF/wlan0/ac:72:89:64:6c:48
Sending on   Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7
send_packet: Network is down
receive_packet failed on wlan0: Network is down
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 10
send_packet: Network is down
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 14
send_packet: Network is down
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 9
send_packet: Network is down
^[[1;2B^[[1;2B^[[1;2CDHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 14
send_packet: Network is down
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7
send_packet: Network is down
^[[1;2DNo DHCPOFFERS received.
No working leases in persistent database - sleeping.
RTNETLINK answers: Network is down
run-parts: /etc/network/if-up.d/avahi-autoipd exited with return code 2
done
To jest i tak połowiczne rozwiązanie problemu, ponieważ wpisuję na sztywno SSID mojej sieci oraz hasło. Natomiast gdy będę poza domem i będę chciał połączyć się z wifi przez laptopa to będę musiał zrestartować system aby uruchomić kartę.
Martinex
Beginner
Posty: 101
Rejestracja: 27 marca 2008, 16:36
Lokalizacja: Warszawa

Post autor: Martinex »

To już kwestia na oddzielny temat.

Połączenie możesz wyłączyć, włączyć czy restartować bez restartu systemu przy użyciu polecenia:

Kod: Zaznacz cały

ifconfig wla0 down (up)
ODPOWIEDZ