In ~/.bashrc aggiungere:
shopt -s histappend PROMPT_COMMAND="$PROMPT_COMMAND;history -a"
La prima istruzione appende i comandi al file di history, invece di sovrascriverli; la seconda, invece, salva ogni comando subito dopo essere stato impartito e non alla fine della sessione.
Se nel file che stiamo editando con vim esiste già una parola che vogliamo ripetere basterà scrivere le prime lettere (anche una sola) e usare la combinazione di tasti ctrl-p più volte fin quando la parola desiderata non viene evidenziata. A quel punto: invio ed il gioco è fatto!
Per trasformare, all'interno del file prova.html, tutti i tag <table xyzk> in tag <table>:
$ sed 's/<table[^<]*>/<table>/g' prova.html > prova2.html
Per monitorare le connessioni di rete:
$ netstat -tpe
dove:
Per vedere quali hosts sono attivi nella lan:
$ nmap -v -sP 192.168.1.0/24 | grep -E 'to be up\.$|^MAC'
dove:
Lo stesso comando impartito da root, mostra anche i MAC address.
$ script Script started, file is typescript $ ........ $ ........ CTRL-D $ exit Script done, file is typescript $ col -bx <typescript >savefile
Il contenuto della nostra sessione sarà “pulito” dai caratteri di escape e salvato nel file “savefile”. Il file originario “typescript” potrà essere tranquillamente rimosso.
Altro comando per ripulire il file dai caratteri di escape:
$ cat typescript | perl -pe 's/\e([^\[\]]|\[.*?[a-zA-Z]|\].*?\a)//g' | col -b > typescript-processed
per sapere (ad esempio) quale modulo il sistema carica per gestire la scheda di rete:
$ ls /sys/class/net/ eth0 eth1 lo wlan0 $ basename `readlink /sys/class/net/eth1/device/driver/module` via_rhine
n.b.: occhio agli apici…
per poter vedere i logs di sistema in una console inutilizzata, modificare il file /etc/syslog.conf decommentando le righe:
daemon,mail.*;\ news.=crit;news.=err;\ *.=debug;*.=info;\ *.=notice;*.=warn /dev/tty8
/dev/tty8 sarà la console che mostrerà i logs (CTRL+ALT+F8).
Per applicare le modifiche:
# /etc/init.d/syslogd restart
Per default Alsa dà ad ogni periferica inserita un indice diverso, ogni volta che viene collegata (ad esempio webcam con microfono). Può capitare quindi che le applicazioni che ne fanno uso si “confondano” e che non venga emesso alcun suono.
Per ovviare a questo inconveniente basterà editare il file /etc/modprobe.d/alsa-base:
# Prevent abnormal drivers from grabbing index 0 options bt87x index=-2 options cx88_alsa index=-2 options snd-atiixp-modem index=-2 options snd-intel8x0m index=-2 options snd-via82xx-modem index=-2 # Keep snd-pcsp from beeing loaded as first soundcard options snd-pcsp index=-2 options snd_usb_audio index=-2
il valore -2 serve ad impedire che la periferica si appropri del primo device Alsa.
In alternativa è possibile agire in questo modo:
options snd-pcsp index=0 options snd_usb_audio index=1
assegnando quindi un indice progressivo.
Riavviando il server audio le modifiche saranno effettive.
Chi utilizza regolarmente un notebook sa perfettamente quanto scocciante può essere, magari mentre si scrive un documento con Abiword o con Openoffice, sfiorare il touchpad senza accorgersene e sballare il lavoro che si sta facendo.
Per fortuna esistono due utili strumenti che possono venirci incontro disabilitando il touchpad mentre digitiamo sulla tastiera: synclient e syndaemon.
Accertiamoci che siano installati, se non lo sono:
# apt-get install synclient syndaemon
Accertiamoci che sia presente la riga
Option "SHMConfig" "on"
in /etc/X11/xorg.conf, all'interno della sezione nella quale il touchpad è configurato. Se non è presente la aggiungiamo.
Per disabilitare il touchpad diamo il comando:
$ synclient TouchpadOff=1
che disabiliterà il touchpad fino a che non daremo il comando:
$ synclient TouchpadOff=0
Ovviamente diventa noioso dover ripetere sempre questi comandi. Ecco che ci viene in aiuto, passandogli alcuni parametri ad hoc, il comando syndaemon il quale “spegne” il touchpad in automatico quando si digita e lo riattiva dopo un periodo di inattività di 2 secondi.
Usando il parametro -i si può regolare l'intervallo di tempo:
$ syndaemon -i 3.0
riattiverà il touchpad dopo tre secondi.
$ syndaemon -i 3.0 -t
semplicemente disattiva le funzionalità di scrolling e di tapping ma lascerà “libera” la freccetta del mouse-touchpad anche mentre digitiamo.
Per far sì che syndaemon si attivi ad ogni login basterà aggiungere a ~/.xinitrc la riga:
syndaemon -i 3.0 -d
Il parametro -d farà in modo che syndaemon si avii in background.
I sistemi Debian Linux e derivate (Ubuntu, LinuxMint, etc.) offrono un'eccellente sistema di gestione dei pacchetti software: APT.
Tramite i comandi di apt, infatti, è possibile installare, aggiornare, rimuovere e compilare i pacchetti con estrema facilità.
Se si cerca un modo veloce e pratico per installare su un altro computer tutto il software presente su un sistema Debian Linux, apt, insieme al comando dpkg, viene al caso nostro.
Supponiamo che il pc del quale si debba copiare la configurazione software si chiami pc_A e quello sul quale tale configurazione debba essere copiata si chiami pc_B.
Sul pc_A, in un terminale, digitiamo (come root):
# dpkg --get-selections "*" > elenco_software # debconf-get-selections > config_elenco_software
questo comando copierà all'interno del file elenco_software l'elenco di tutto il software installato sul sistema e all'interno del file config_elenco_software le relative informazioni relative alle configurazioni.
Copiamo i files sul pc_B e da questo, sempre in un terminale e con i privilegi di root, ci spostiamo nella directory dove abbiamo salvato i files elenco_software.txt:
# dselect update # debconf-set-selections < config_elenco_software # dpkg --set-selections < elenco_software # apt-get -u dselect-upgrade
e sul pc_B verranno installati tutti i pacchetti presenti sul pc_A!
Questa procedura può essere utile, ad esempio, quando si vuole tenere da parte una copia di backup del proprio sistema: in caso di problemi, dopo aver ripristinato i nostri dati personali, sarà facilissimo rimettere tutto il software usualmente utilizzato con pochissima fatica e senza sforzi di memoria. Se poi si è avuta l'accortezza di aver salvato, insieme ai nostri documenti, anche la nostra home (inclusi files e directory nascoste!) e magari la directory /etc, beh… il recupero sarà proprio completo.
Nel caso invece di installazioni multiple, basterà preparare un computer con tutto il software necessario e poi replicare l'installazione del software magari via rete per mezzo di uno script apposito.
$ python -m SimpleHTTPServer
e la directory corrente sarà raggiungibile all'indirizzo http://$HOSTNAME:8000/.
Se si vuole utilizzare una porta differente:
$ python -m SimpleHTTPServer 8080
Spesso capita di chiedersi che versione di un determinato pacchetto è presente nei repository di un ramo di GNU/Linux Debian diverso da quello che utilizziamo quotidianamente. Ecco un metodo veloce:
$ rmadison linux-image-2.6-amd64 linux-image-2.6-amd64 | 2.6.18+6etch3 | stable | amd64, i386 linux-image-2.6-amd64 | 2.6.26+15 | testing | amd64, i386 linux-image-2.6-amd64 | 2.6.26+15 | unstable | amd64, i386
rmadison è un tool presente all'interno del pacchetto devscripts.
Per maggiori informazioni:
$ man 1 rmadison
p.s. la stessa operazione è possibile compierla collegandosi da web-browser alla pagina: http://qa.debian.org/madison.php
# apt-get install imagemagick ttf-sjfonts # exit ... $ convert -size 800x100 xc:#ffffff -font /usr/share/fonts/truetype/sjfonts/Delphine.ttf -pointsize 55 -gravity center -draw text 0,10 email@address.some email_address.png $ convert -size 800x100 xc:#ffffff -font /usr/share/fonts/truetype/sjfonts/SteveHand.ttf -pointsize 55 -gravity center -draw text 0,10 email@address.some email_address.png