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.

lunedì 29 novembre 2010

archlinux: compilazione kernel 2.6.36.1



Sul mio piccolo netbook con scheda video nvidia ion, processore atom ho deciso di compilarmi un kernel customizzato, il sistema operativo che equipaggia il portatile è archlinux per la compilazione ho scelto il metodo classico.

Se volete pure voi cimentarvi nell'impresa seguite questa guida, scaricate i sorgenti del kernel dal sito www.kernel.org


wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.1.tar.bz2

scompattate i sorgenti all'interno della vostra home.

tar jxvf linux-2.6.36.1.tar.bz2

entrate dentro la nuova cartella.

cd linux-2.6.36.1

iniziate la configurazione, scrivete:

make menuconfig

nella sezione general setup in local version scrivete -ARCH in modo che la compilazione del kernel dentro /lib/modules non sovrascrivi il kernel precedente.
[*] Prompt for development and/or incomplete code/drivers
() Cross-compiler tool prefix
(-ARCH) Local version - append to kernel release
in linea di massima ho proseguito lasciando tutto di default tranne che per il processore che ho scelto atom.



finita la vostra configurazione salvate i risultati all'interno del file .config cliccate su Save an Alternate Configuration File

per uscire cliccate su exit.

date i comandi per la compilazione in questo ordine:

make dep bzImage

make modules

installate i moduli del kernel all'interno della cartella /lib/modules/

sudo make modules_install

il comando dovrebbe darvi alla fine questo risultato.

DEPMOD 2.6.36.1-ARCH


copiate l'immagine bzImage dentro la cartella /boot cambiandogli il nome in vmlinuz2631-ARCH.

sudo cp -fr arch/x86/boot/bzImage /boot/vmlinuz26361-ARCH

utilizzate il comando mkinitcpio per creare l'immagine initramfs del kernel, come nome per creare l'immagine date questo 2.6.36.1-ARCH questa dicitura si è ottenuta dal risultato finale del comando sudo make modules_install.

sudo mkinitcpio -k 2.6.36.1-ARCH -g /boot/kernel26361-ARCH.img


modificate il file menu.lst inserendo le due nuove voci.

sudo nano /boot/grub/menu.lst


title arch 2.6.36.1-ricompilato
root (hd0,0)
kernel /boot/vmlinuz26361-ARCH root=/dev/sda1 ro
initrd /boot/kernel26361-ARCH.img

# (0) Arch Linux
title Arch Linux
root (hd0,0)
kernel /boot/vmlinuz26 root=/dev/sda1 ro
initrd /boot/kernel26.img

# (1) Arch Linux
title Arch Linux Fallback
root (hd0,0)
kernel /boot/vmlinuz26 root=/dev/sda1 ro
initrd /boot/kernel26-fallback.img

# (2) Windows
#title Windows
#rootnoverify (hd0,0)
#makeactive
#chainloader +1

benissimo abbiamo finito potete riavviare il pc, vi ricordo che aggiornando il kernel i moduli caricati da un precedente kernel devono essere ricompilati.

Se utilizzate i driver nvidia al riavvio vi troverete con schermata nera, bisognerà ricompilare i driver con il nuovo kernel customizzato.

per installare i driver servitevi di abs.

da terminale scrivete:

sudo pacman -S abs
sudo abs

createvi all'interno della vostra home un ambiente idoneo per ricompilarvi i driver.

cd
mkdir -p devel/abs/


copiate la cartella nvidia ed il suo contenuto da /var/abs/extra/nvidia nella cartella abs che avete creato all'interno della vostra home.

cp -fr /var/abs/extra/nvidia $HOME/devel/abs/

entrate dentro la cartella nvidia è cambiate i file PKGBUILD ed nvidia.install modificando le voci che puntano ai sorgenti del kernel.

nano PKGBUILD


# $Id: PKGBUILD 98622 2010-11-11 19:49:00Z ibiru $
# Maintainer : Thomas Baechler

pkgname=nvidia
pkgver=260.19.21
_kernver='2.6.36.1-ARCH'
pkgrel=2
pkgdesc="NVIDIA drivers for kernel26."
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
depends=('kernel26>=2.6.36' 'kernel26<2.6.37' utils="${pkgver}">
makedepends=('kernel26-headers>=2.6.36' 'kernel26-headers<2.6.37')
conflicts=('nvidia-96xx' 'nvidia-173xx')
license=('custom')
install=nvidia.install

if [ "$CARCH" = "i686" ]; then
_arch='x86'
_pkg="NVIDIA-Linux-${_arch}-${pkgver}"
source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
md5sums=('2ec917f51e752802646920e9bcd747e7')
elif [ "$CARCH" = "x86_64" ]; then
_arch='x86_64'
_pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
md5sums=('9db612fb5679249627d52bfff0e16f4f')
fi

build() {
cd $srcdir
sh ${_pkg}.run --extract-only
cd ${_pkg}/kernel
make SYSSRC=/lib/modules/${_kernver}/build module
}

package() {
install -D -m644 $srcdir/${_pkg}/kernel/nvidia.ko \
$pkgdir/lib/modules/${_kernver}/kernel/drivers/video/nvidia.ko
install -d -m755 $pkgdir/etc/modprobe.d
echo "blacklist nouveau" >> $pkgdir/etc/modprobe.d/nouveau_blacklist.conf
sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/nvidia.install
}

nano nvidia.install


post_install() {
KERNEL_VERSION='2.6.36.1-ARCH'
depmod $KERNEL_VERSION
}

post_upgrade() {
post_install
rmmod nvidia || echo 'In order to use the new nvidia module, exit Xserver and unload it manually.'
}

post_remove() {
KERNEL_VERSION='2.6.36.1-ARCH'
depmod $KERNEL_VERSION
}

salvate i file, compilate scrivendo:

makepkg

alla fine vi troverete con il pacchetto nvidia pronto per essere installato con pacman.

sudo pacman -U nvidia-260.19.21-2-i686.pkg.tar.xz

riavviate il pc il modulo nvidia verrà carricato senza problema.


mercoledì 3 novembre 2010

jdownloader installazione su debian

Jdownloader è un fantastico software scritto in java che ci permette di scaricare file dai molteplici siti megaupload o rapidshare, prima di installarlo bisogna preparare la nostra debian installando il pacchetto openjdk-6-jre.


Apriamo il terminale è scriviamo

sudo apt-get install openjdk-6-jre

per scaricare lo script che ci servirà per installare effetivamente il programma sulla nostra macchina, serviamoci del comando wget.

wget http://212.117.163.148/jd.sh

diamo i permessi di esecuzione allo script.

sudo chmod a+rwx jd.sh

lanciamo lo script.

./jd.sh

lo script scaricherà i vari moduli del programma che si troveranno dentro la cartella nascosta .jd della vostra home.

per far partire il programma bisogna lanciare l'eseguibile java, JDownloader.jar.

sempre da terminale scriviamo.

cd
java -jar .jd/JDownloader.jar

la configurazione del software risulta abbastanza elementare permettendoci di scegliere la lingua italiana ed i vari moduli.

provatelo ne rimarrete soddisfatti.

maggiori informazioni li trovate qui: http://jdownloader.org/



domenica 24 ottobre 2010

retrocedere da unstable a squeeze


Per eseguire il downgrade dei pacchetti precedentemente installati usando i repository debian unstable è ritornare alla versione precedente squeeze, create il file preferences all'interno della cartella apt.



sudo nano /etc/apt/preferences

all'interno del file scrivete questo:

Package: * 
Pin: release a=testing 
Pin-Priority: 1100

salvate il file di testo sempre da teminale scrivete.


sudo apt-get install apt-show-versions


date i comandi per effettuare l'aggiornamento del sistema
ricordatevi di cambiare i repository cambiando le voci unstable
con squeeze.


sudo apt-get update
sudo apt-get dist-upgrade -f
sudo apt-get install -f


disinstallate eventuali programmi che non si downgradano con
sudo apt-get remove --purge nome pacchetto






martedì 5 ottobre 2010

aggiornamento kernel debian squeeze

Il kernel installato di default su debian squeeze è il 2.6.32.5, un po vecchiotto rispetto alle ultime versioni disponibile sulle altre distro.

Per installare il kernel 2.6.33.7 stabile alla debian seguiti questi passaggi, scaricate i sorgenti da sito www.kernel.org

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.7.tar.bz2

scompattate l'archivio compresso.
tar jxvf linux*

preparate il sistema installando le applicazioni che ci serviranno per la compilazione.

da terminale scrivete:

sudo apt-get install build-essential bin86 kernel-package libncurses5 libncurses5-dev fakeroot


per compilare il nuovo kernel utilizzando le configurazioni del vecchio kernel 2.6.32.5 copiate il file .config del precedente kernel dentro la cartella linux-2.6.33.7.

sudo cp -fr /boot/config-2.6.32-5-686 $HOME/linux-2.6.33.7/.config

caricate la configurazione del precedente kernel utilizzando il comando make oldconfig,

cd linux-2.6.33.7
sudo make oldconfig

per abilitare le nuove voci basta scrivere m o y.

per completare la configurazione del kernel utilizzate il comando make menuconfig.

make menuconfig

scegliete le voci che ritenete più indispensabili per il vostro hardware, sul sito www.debianizzati.org trovate molti spunti per una perfetta configurazione.

infine per compilare ed ottenere i pacchetti deb dell'immagine del kernel utilizzate questo comando.

sudo fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

dopo un po di tempo circa due ore sul mio pc otterete i pacchetti deb del kernel, installateli scrivendo.

sudo dpkg -i linux-image-2.6.33.7-custom_2.6.33.7-custom-10.00.Custom_i386.deb

sudo dpkg -i linux-headers-2.6.33.7-custom_2.6.33.7-custom-10.00.Custom_i386.deb

alla fine non vi resta che riavviare la macchina per partire con il nuovo kernel.