Cambiare misure default del terminale

 

 

Il terminale di Gnome di default ha una determinata misura, ma se si volesse più grande o più piccolo non ci sono grandi problemi, basta solo uno step:

 

$ sudo nano /usr/share/vte/termcap/xterm

 

e modificare questa stringa:

 

:co#80:it#8:li#24:\

 

per esempio con questa:

 

:co#100:it#8:li#28:\

 

 

enjoy 😉

Copiare con cp e barra di progresso

 

 

 

 

Advanced Copy è una mod per i tools cp e mv, e si occupa di far apparire nel terminale una barra di progresso che rende visibile il tempo e la % di una copia di un file. Per abilitare questa mod, bisogna seguire pochi semplici passi:

 

 

$ wget https://ftp.gnu.org/gnu/coreutils/coreutils-8.4.tar.gz
$ tar xvzf coreutils-8.4.tar.gz
$ cd coreutils-8.4/
$ wget
$ patch -p1 -i advcpmv-0.3-8.4.patch
$ ./configure
$ make
$ sudo cp src/cp /usr/bin/cp
$ sudo cp src/mv /usr/bin/mv

 

per avere la barra di progresso basta usare le opzioni cp -g e mv -g, senza andare a cambiare il comportamento solito di cp e mv. Per rendere definitivo il cambiamento invece aggiungere a .bashrc  gli alias:

 

alias cp='cp -g'
alias mv='mv -g'

 

Il comando dell' immagine sopra è:

 

$ cp -g debian-squeeze-di-beta1-amd64-netinst.iso /home/edmond/

 

 

enjoy 😉

Modificare SpringBoard Iphone su Debian/Ubuntu

 

 

 

Per modificare la SprigBoard del proprio Iphone da Linux c'è bisogno di Sbmanager e di libimobiledevice-1.0 >= 0.9.7.       Per avere Sbmanager su Ubuntu 10.10 basta aggiungere i PPA:

 

$ sudo add-apt-repository ppa:vbkaisetsu/ppa
$ sudo apt-get update
$ sudo apt-get install sbmanager

 

inserire l'Iphone e dare il comando:

 

$ sbmanager

 

Per avere sbmanager su Debian:

 

$ sudo apt-get install build-essential git automake autoconf libtool libgnutls-dev libglib2.0-dev libxml2-dev libreadline5-dev swig python-dev libusbmuxd-dev libplist-dev libplist++-dev libplist++1 libzip-dev libclutter-1.0-dev libclutter-gtk-0.10-dev intltool

 

scaricare ed installare libimobiledevice-1.0.1:

 

$ wget https://www.libimobiledevice.org/downloads/libimobiledevice-1.0.1.tar.bz2

$ tar xvjf libimobiledevice-1.0.1.tar.bz2

$ cd libimobiledevice-1.0.1

$ ./configure

$ make

$ sudo make install

 

scaricare ed installare sbmanager:

 

$ git clone git://git.sukimashita.com/sbmanager.git

$ cd sbmanager

$ ./autogen.sh

$ ./configure

$ make

$ sudo make install

 

inserire l'Iphone e dare il comando:

 

$ sbmanager

 

enjoy 😉

Leggere sito web con espeak e links

 

Qualche giorno fa ho fatto un post dal titolo Terminale parlante in Linux, utilizzando espeak come sintezizzatore vocale per fargli ripetere una frase prestabilita. Oggi invece voglio usare espeak insieme a links per farmi leggere una pagina web:

 

$ links -dump https://www.edmondweblog.com | espeak -v it -s 160

 

enjoy :)

Come aggiungere PPA in Debian

 

Chi ha provato ad aggiungere repo PPA in Debian, si sarà senz'altro accorto del tipico errore add-apt-repository: command not found, quindi non è possibile aggiungerli…..anzi è possibile, anche se sconsigliato. Comunque per chi vuole avere anche questa possibilità sulla propria Debian o Debian based, ha bisogno di questo script:

 

#!/bin/bash
if [ $# -eq 1 ]
then
    ppa_name=`echo "$1" | cut -d":" -f2 -s`
    if [ -z "$ppa_name" ]
    then
        echo "PPA name not found"
        echo "Utility to add PPA repositories in your debian machine"
        echo "$0 ppa:user/ppa-name"
    else
        echo "$ppa_name"
        echo "deb maverick main" >> /etc/apt/sources.list
        apt-get update >> /dev/null 2> /tmp/apt_add_key.txt
        key=`cat /tmp/apt_add_key.txt | cut -d":" -f6 | cut -d" " -f3`
        apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key
        rm -rf /tmp/apt_add_key.txt
    fi
else
    echo "Utility to add PPA repositories in your debian machine
"
    echo "$0 ppa:user/ppa-name"
fi

 

salvare come add-apt-repository.sh e copiarlo in /usr/bin:

 

$ sudo cp add-apt-repository.sh /usr/bin/add-apt-repository

$ sudo chmod o+x /usr/bin/add-apt-repository

$ sudo chown root:root /usr/bin/add-apt-repository

 

adesso siamo in grado di aggiungere PPA:

 

$ sudo add-apt-repository ppa:nome

 

enjoy 😉

Download ad orario prestabilito

 

A volte capita di voler scaricare un grosso file, ma siccome si sta facendo altro oppure si ha bisogno di tutta la banda disponibe, alla fine succede che ci si dimentica. Per ovviare al problema della dimenticanza servirebbe un comando da digitare subito ma che posticipi il download ad un orario prestabilito . Ecco fatto 🙂

 

$ echo 'wget link_da_scaricare' | at 23:00

 

enjoy ;)

Login e autenticazione da penna Usb in Linux

 

 

 

Qualche tempo fa ho fatto una guida intitolata Login e autenticazione facciale in Linux, dove avevo sperimentato sul mio netbook Aspire One, l'uso della webcam come ulteriore strumento di sicurezza, sia in fase di login che in fase di amministrazione, e devo dire che ha funzionato bene, tanto è vero che lo utilizzo ancora. Oggi invece voglio fare la stessa guida,  con la differenza che al posto della webcam si usa una chiavetta usb, in questo modo anche chi non ha la webcam o non vuole usarla, ha un modo alternativo per sperimentare. Anche questa volta utilizzerò PAM che ci aiuterà nell'impresa, per la felicità di Toshidex che di PAM ha fatto una categoria sul suo blog 🙂

Requisiti:

$ sudo apt-get install pmount pamusb-tools libpam-usb

inserire la chiavetta usb, anche se contiene altri dati non ha importanza, nulla sarà perso, ed aggiungere il device con il nome scelto (nel mio caso usb-security) a /etc/pamusb.conf con il seguente comando:

$ sudo pamusb-conf --add-device usb-security

come si può vedere sotto la chiavetta è stata subito riconosciuta:

root@debian:/home/edmond# pamusb-conf –add-device usb-security
Please select the device you wish to add.
* Using "Sony Storage Media (Sony_Storage_Media_OE07042910585-0:0)" (only option)

Which volume would you like to use for storing data ?
* Using "/dev/sdg1 (UUID: 3FB2-8744)" (only option)

Name        : usb-security
Vendor        : Sony
Model        : Storage Media
Serial        : Sony_Storage_Media_OE07042910585-0:0
UUID        : 3FB2-8744

Save to /etc/pamusb.conf ?
[Y/n]
Done.

aggiungere anche l'utente a /etc/pamusb.conf:

$ sudo pamusb-conf --add-user edmond

quindi come si può vedere sotto, abbiamo collegato l'utente al device:

root@debian:/home/edmond# pamusb-conf –add-user edmond
Which device would you like to use for authentication ?
* Using "usb-security" (only option)

User        : edmond
Device        : usb-security

Save to /etc/pamusb.conf ?
[Y/n]
Done.

adesso non ci rimane altro che modificare il file /etc/pam.d/common-auth, per far sì che possa utilizzare la nostra password di sistema.

Importante:

consiglio di tenere due shell aperte come root, nel caso qualcosa andasse storto, cosicchè si possa tornare alla configurazione normale del file /etc/pam.d/common-auth.

quindi:

$ sudo nano /etc/pam.d/common-auth

la configurazione deve essere la seguente:

#auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth   required      pam_unix.so nullok_secure
auth    sufficient      pam_usb.so
 

per tornare alla situazione normale invece:

auth    [success=1 default=ignore]      pam_unix.so nullok_secure
#auth   required      pam_unix.so nullok_secure
#auth    sufficient      pam_usb.so
 

se tutto è andato bene, da questo momento in poi l'autenticazione al login e come amministratore di sistema può avvenire solo con la chiavetta inserita. A questo proposito si possono fare delle prove aprendo il terminale per acquisire i privilegi di root e verificare se tutto funziona:

$ su edmond

 

 

enjoy 🙂

 

Bloccare visualizzazione pagina man all'uscita

 

 

Questo è un piccolo trucchetto che secondo me può risultare molto utile quando si consulta da terminale una pagina man. Spesso infatti spulciando il man di un determinato programma, si apprendono nuove informazioni e nuovi comandi, ma una volta premuto il tasto q e si esce dal man, l'informazione o il comando non è più visibile, di conseguenza ci si trova nella situazione di tenere aperte due shell. Per ovviare a questo problema basta modificare .bashrc:

$ echo "export LESS='FiX'" >> ~/.bashrc

enjoy 😉

Uninstall programmi installati da sorgenti

 

 

Dopo vari esperimenti l'altra sera non riuscivo più a compilare, poichè avevo in precedenza installato da sorgenti alcune cose, che alla fin della fiera mi hanno compromesso il sistema (chiedere a toshidex 🙂 ) perdendo il bandolo della matassa. Comunque il problema lo avevo individuato, ma dopo svariati tentativi andati a vuoto, mi sono stancato ed ho preferito reinstallare. Certo se fosse stato un problema dovuto a qualche aggiornamento giornaliero fatto, il problema lo avrei risolto semplicemente in questo modo. Ma in questo caso avendo installato con make-install, senza quindi nemmeno checkinstall,  addio tracce di tutti i file installati. Quindi questa guida serve soprattutto a me, giusto per ricordarmi che quando faccio qualche test è sempre meglio avere una lista di quello che faccio 🙂 Per tenere traccia dei file ci sono due metodi:

Primo metodo:

# make uninstall

ma trovare un tarball che include questo è quasi come vincere al superenalotto 🙂

Secondo metodo:

prendere nota di tutti i file installati:

# find /* > pacchetti.prima

a questo punto eseguire il make-install

quindi prendere nota di tutti i file dopo l'installazione:

# find /* > pacchetti.dopo

ottenere le differenze tra i due file usando diff:

# diff pacchetti.prima pacchetti.dopo > uninstall

iniziare la rimozione:

# for i in $(grep ">" uninstall | awk '{ print $2 }')

do

/bin/rm -fi $i;

done

a questo punto compariranno a video i file da disinstallare, e basta scrivere yes.

 

enjoy 😉

Disattivare blocco della porta del cdrom

A me spesso capita che mi si blocchi la porta del cdrom e di conseguenza non si riesce ad espellere il cd/dvd, questo può dipendere dalla cattiva qualita di un cd, magari di quelli rw usati un infinità di volte. In questa situazione 98 volte su 100 bisogna riavviare poichè nemmeno un:

$ eject /dev/cdrom0

riesce ad espellerlo, quindi la soluzione è quella di disattivare il blocco della porta del cdrom:

# echo 0 > /proc/sys/dev/cdrom/autoclose

# echo 0 > /proc/sys/dev/cdrom/lock

per rendere definitive le modifiche:

# nano  /etc/sysctl.conf

ed inserire:

dev.cdrom.autoclose=0
dev.cdrom.lock=0