domenica 26 dicembre 2010

archlinux: il mio conky


conky è un fantastico software che ci permette di visualizzare sulla nostra scrivania svariati indicatori come frequenza cpu, ammontare memoria ram, spazio disco occupato, processi in esecuzione ecc.

Io lo sto usando sul mio netbook con installato fluxbox, il programma occupa poco risorse per installarlo digitate da terminale:

sudo pacman -S conky

salvate il file conky.conf all'interno della vostra home cambiandogli il nome in .conkyrc

sudo cp -fr /etc/conky/conky.conf $HOME/.conkyrc

date i permessi di scrittura al nuovo file.

cd
sudo chmod u+rwx .conkyrc

il file .conkyrc contiene al suo interno una configurazione standard di conky potete cambiarlo secondo le vostre esigenze, vi posto la mia configurazione personalizzata:

le prime righe riguardano la configurazione del testo, dei colori ed il comportamento di conky sulla scrivania, in linea di massima ho seguito una configurazione standard.
Tutto quello che viene scritto dopo TEXT riguarda i messaggi visualizzati nello schermo, nel mio caso la prima sezione visualizza data ed orologio, la seconda sezione visualizza frequenza cpu, processi attivi.



alignment top_left
background yes # fork process

color0 1C1C1C # section header
#color0 1B1B1B
double_buffer yes # may reduce flicker
default_color 1C1C1C

draw_outline no # draw text outline
draw_shades yes # draw shades

gap_x 10 # right (x) / top (y) screen-gaps
gap_y 45

own_window yes # required with nautilus
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

update_interval 3.0 # update interval in seconds
use_spacer yes # prevent shifting when output changes

use_xft yes # font settings
xftalpha 0.8
xftfont andale mono:size=9
uppercase no

# Note: cpugraph, downspeedgraph, & upspeedgraph colors
# Gradient1: ffffff - white
# Gradient2: 00A2FF - bright / light blue

TEXT # the following creates onscreen format
${color0}${font Radio Space:size=10}${time %H:%M:%S}${font}${color}
${color0}${font HandelGotD:size=10}${time %A %d %B %Y}${font}${color}
${if_running gmpc}
${endif}
${color0}CPU: ${freq}MHz
Avg. Load Over 1, 5, 15 minutes: ${loadavg}
Current Load: $cpu%
${color0}PROCESSES > ${processes} / ${running_processes}
NAME PID CPU% MEM%
${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}

${color0}MEMORY / SWAP > $memmax / $swapmax
RAM : ${mem} / ${memperc}%
Swap: ${swap} / ${swapperc}%
I/O : ${diskio}

sda1 disco libero:${alignc}${fs_free} / ${fs_free_perc}%
sda1 disco usato:${alignc}${fs_used} / ${fs_used_perc}%

${color0}IP eth1: ${addr eth1}
${downspeedgraph eth1 15,150 ffffff 00A2FF} ${upspeedgraph eth1
15,150 ffffff 00A2FF}
Down / Up Speed: ${downspeed eth1} k/s / ${upspeed eth1} k/s
Down / Up Bytes: ${totaldown eth1} / ${totalup eth1}

IP eth0: ${alignc}${addr eth0}

${color0}Carica batteria: ${alignc}${battery_percent BAT0}%

Conky permette di eseguire svariati variabili, trovate i principali comandi e configurazione sul sito del progetto: http://conky.sourceforge.net/variables.html

eccovi una veloce carellata dei più importanti.

Variable



acpiacadapter



acpifan



acpitemp



addr



addrs



adt746xcpu



adt746xfan



alignc



alignr



apcupsd



apcupsd_cable



apcupsd_charge



apcupsd_lastxfer



apcupsd_linev



apcupsd_load



apcupsd_loadbar



apcupsd_loadgauge



apcupsd_loadgraph



apcupsd_model



apcupsd_name



apcupsd_status



apcupsd_temp



apcupsd_timeleft



apcupsd_upsmode



apm_adapter



apm_battery_life



apm_battery_time



audacious_bar



audacious_bitrate



audacious_channels



audacious_filename



audacious_frequency



audacious_length



audacious_length_seconds



audacious_main_volume



audacious_playlist_length



audacious_playlist_position



audacious_position



audacious_position_seconds



audacious_status



audacious_title



battery



battery_bar



battery_percent



battery_short



battery_time



blink



bmpx_album



bmpx_artist



bmpx_bitrate



bmpx_title



bmpx_track



bmpx_uri



buffers



cached



cmdline_to_pid



color



colorN



combine



conky_build_arch



conky_build_date



conky_version



cpu



cpubar



cpugauge



cpugraph



curl



desktop



desktop_name



desktop_number



disk_protect



diskio



diskio_read



diskio_write



diskiograph



diskiograph_read



diskiograph_write



downspeed



downspeedf



downspeedgraph



draft_mails



else



endif



entropy_avail



entropy_bar



entropy_perc



entropy_poolsize



eval



eve



exec



execbar



execgauge



execgraph



execi



execibar



execigauge



execigraph



execp



execpi



flagged_mails



font



format_time



forwarded_mails



freq



freq_g



fs_bar



fs_bar_free



fs_free



fs_free_perc



fs_size



fs_type



fs_used



fs_used_perc



goto



gw_iface



gw_ip



hddtemp



head



hr



hwmon



i2c



i8k_ac_status



i8k_bios



i8k_buttons_status



i8k_cpu_temp



i8k_left_fan_rpm



i8k_left_fan_status



i8k_right_fan_rpm



i8k_right_fan_status



i8k_serial



i8k_version



ibm_brightness



ibm_fan



ibm_temps



ibm_volume



iconv_start



iconv_stop



if_empty



if_existing



if_gw



if_match



if_mixer_mute



if_mounted



if_mpd_playing



if_running



if_smapi_bat_installed



if_up



if_updatenr



if_xmms2_connected



image



imap_messages



imap_unseen



include



ioscheduler



kernel



laptop_mode



lines



loadavg



loadgraph



lua



lua_bar



lua_gauge



lua_graph



lua_parse



machine



mails



mboxscan



mem



membar



memeasyfree



memfree



memgauge



memgraph



memmax



memperc



mixer



mixerbar



mixerl



mixerlbar



mixerr



mixerrbar



moc_album



moc_artist



moc_bitrate



moc_curtime



moc_file



moc_rate



moc_song



moc_state



moc_timeleft



moc_title



moc_totaltime



monitor



monitor_number



mpd_album



mpd_artist



mpd_bar



mpd_bitrate



mpd_elapsed



mpd_file



mpd_length



mpd_name



mpd_percent



mpd_random



mpd_repeat



mpd_smart



mpd_status



mpd_title



mpd_track



mpd_vol



nameserver



new_mails



nodename



nodename_short



nvidia



offset



outlinecolor



pb_battery



pid_chroot



pid_cmdline



pid_cwd



pid_environ



pid_environ_list



pid_exe



pid_nice



pid_openfiles



pid_parent



pid_priority



pid_read



pid_state



pid_state_short



pid_stderr



pid_stdin



pid_stdout



pid_threads



pid_thread_list



pid_time_kernelmode



pid_time_usermode



pid_time



pid_uid



pid_euid



pid_suid



pid_fsuid



pid_gid



pid_egid



pid_sgid



pid_fsgid



pid_vmpeak



pid_vmsize



pid_vmlck



pid_vmhwm



pid_vmrss



pid_vmdata



pid_vmstk



pid_vmexe



pid_vmlib



pid_vmpte



pid_write



platform



pop3_unseen



pop3_used



pre_exec



processes



read_tcp



replied_mails



rss



running_processes



running_threads



scroll



seen_mails



shadecolor



smapi



smapi_bat_bar



smapi_bat_perc



smapi_bat_power



smapi_bat_temp



sony_fanspeed



stippled_hr



swap



swapbar



swapfree



swapmax



swapperc







ogni comando deve essere racchiuso tra parentisi graffe, analizziamo ad esempio il comando che indica la carica della batteria.

${color0}Carica batteria: ${alignc}${battery_percent BAT0}%

il comando ${color0} indica di utilizzare il colore di default, il comando ${alignc} visualizza le scritte al centro dello schermo si può pure utilizzare aligncr che sposta il testo a destra, infine la variabile ${battery_percent BAT0}% visualizza la carica della batteria in percentuale.

Conky permette pure di visualizzare linee o grafici per visualizzare una barra rappresentante la carica della batteria, basterà dare il comando ${battery_bar}.

per far partire conky all'avvio di fluxbox mettete il comando nel file startup ho notato che mettendo conky preceduto dal comando sleep 3 si ottiene una visualizzazione migliore.

nano .fluxbox/startup

# And last but not least we start fluxbox.
# Because it is the last app you have to run it with ''exec'' before it.
nm-applet --sm-disable &
lxterminal &
xset s off -dpms &
sleep 3; conky &
exec fluxbox
# or if you want to keep a log:
# exec fluxbox -log "/home/tigrotto/.fluxbox/log"


sul sito di archlinux raggiungibile qua: www.archlinux.it trovate ulteriori esempi di conky.




lunedì 6 dicembre 2010

archlinux: driver broadcom bcm4312

Compilando un mio kernel personalizzato ho riscontrato problemi nell'installazione del pacchetto broadcom-wl di AUR.

Utilizzando un piccolo espediente sono riuscito ad installarli, se riscontrate anche voi difficoltà nell'installazione dei driver wl che equipaggiano i chipset wireless bcm4312 seguite questa procedura:

create all'interno della vostra home una cartella di nome pwd.

cd
mkdir pwd

entrate dentro la nuova cartella è scarivate i sorgenti dei driver broadcom.
cd pwd
wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86-32_v5.60.246.6.tar.gz

scompattateli all'interno della cartella pwd.

tar zxvf hybrid*

sempre dalla cartella pwd scaricate le patch.
wget https://aur.archlinux.org/packages/broadcom-wl/broadcom-wl/license.patch
wget https://aur.archlinux.org/packages/broadcom-wl/broadcom-wl/semaphore.patch

applicate le patch.

patch -p1 < semaphore.patch
patch -p1 <  license.patch
eseguite il comando make per compilare il driver
make -C /lib/modules/`uname -r`/build M=`pwd`


finita la compilazione vi troverete il driver wl all'interno della cartella pwd, copiatelo dentro wireless.
sudo cp -fr wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/
per caricare il modulo eseguite il comando depmod.

sudo depmod `uname -r`

infine non vi resta che mettere il modulo del kernel all'interno di rc.conf nella sezione modules.
mettere pure in blacklist il modulo b43.
sudo nano /etc/rc.conf

MODULES=(lib80211 wl !b43 !ssb)

in linea di massima non ho fatto altro che seguire i vari passaggi che si trovano all'interno del
pkgbuild di AUR solo che eseguendo il pacchetto con yaourt non compila, mentre eseguendo i vari passaggi creando
la cartella pwd all'interno della home si riesce ha compilare il driver.