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 

Backup velocissimo di sistema

 

Questo è un semplice ma efficace metodo per effettuare un backup di sistema o parte di esso, infatti permette di scegliere cosa "backuppare" e cosa tralasciare. Nel mio caso ho escluso la /home in quanto si trova in un'altra partizione, e /mnt dove si trova la partizione contenente dati importanti, che si trova in un secondo disco.

Effettuare Backup:

# tar cvpjf backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys / --exclude=/tmp --exclude=/home

Ripristinare Backup:

# tar xvpfj backup.tar.bz2 -C /

Countdown bash script

 

 

Countdown bash script:

#!/bin/bash
 
if [ "$#" -lt "2" ] ; then
    echo "Incorrect usage ! Example:"
    echo './countdown.sh -d  "Jun 10 2011 16:06"'
    echo 'or'
    echo './countdown.sh -m  90'
    exit 1
fi
 
now=`date +%s`
 
if [ "$1" = "-d" ] ; then
    until=`date -d "$2" +%s`
    sec_rem=`expr $until - $now`
    echo "-d"
    if [ $sec_rem -lt 1 ]; then
        echo "$2 is already history !"
    fi
fi
 
if [ "$1" = "-m" ] ; then
    until=`expr 60 \* $2`
    until=`expr $until + $now`
    sec_rem=`expr $until - $now`
    echo "-m"
    if [ $sec_rem -lt 1 ]; then
        echo "$2 is already history !"
    fi
fi
 
 
while [ $sec_rem -gt 0 ]; do
    clear
    date
    let sec_rem=$sec_rem-1
    interval=$sec_rem
    seconds=`expr $interval % 60`
    interval=`expr $interval - $seconds`
    minutes=`expr $interval % 3600 / 60`
    interval=`expr $interval - $minutes`
    hours=`expr $interval % 86400 / 3600`
    interval=`expr $interval - $hours`
    days=`expr $interval % 604800 / 86400`
    interval=`expr $interval - $hours`
    weeks=`expr $interval / 604800`
    echo "----------------------------"
    echo "Seconds: " $seconds
    echo "Minutes: " $minutes
    echo "Hours:   " $hours
    echo "Days:    " $days
    echo "Weeks:   " $weeks
    sleep 1
done

salviamo il file come bash-countdown.sh:

$ chmod +x bash-countdown.sh

adesso siamo pronti per il conto alla rovescia:

countdown per le ferie:

$ ./bash-countdown.sh -d "AUG 07 2010"

sab 12 giu 2010, 16.49.59, CEST
—————————-
Seconds:  0
Minutes:  10
Hours:    7
Days:     6
Weeks:    7

countdown di 90 minuti:

$ ./bash-countdown.sh -m 90

countdown per Inghilterra-Stati Uniti stasera:

$ ./bash-countdown.sh -d 20:30:00

 

Questo lo script, per chi ha bisogno di un applet, esiste timer-applet.

Xdpyinfo utility per X con ffmpeg

 

 

 

 

 

Xdpyinfo è un utility che serve a visualizzare informazioni sul server X, e quindi si può anche usare per conoscere l'esatta risoluzione del nostro schermo e successivamente abbinarlo con ffmpeg per effettuare uno screencast,argomento questo che mi appassiona ed ho già affrontato nei Top 20 comandi per ffmpeg. Per conoscere la risoluzione:

$ xdpyinfo | grep 'dimensions:'|awk '{print $2}'

per lo screencast:

$ ffmpeg -f x11grab -s `xdpyinfo | grep 'dimensions:'|awk '{print $2}'` -r 30 -i :0.0 -sameq /tmp/screencast.mpg

Recuperare data di nascita di un OS Gnu/Linux

Questo è un semplice comando che serve a determinare la data d'installazione del nostro O.S. Gnu/Linux, a partire dal piu vecchio file di configurazione presente nel nostro sistema.

$ ls -lct /etc | tail -1 | awk '{print $6, $7, $8}'


edmond@debianbox:~$ ls -lct /etc | tail -1 | awk '{print $6, $7, $8}'
10 mar 21.18

Rimuovere i pacchetti del giorno

 

 

A volte ci si spaventa accorgendosi di avere fatto una cazzata, facendo un aggiornamento di cui non si è sicuri, oppure molto semplicemente dopo aver installato un po di pacchetti, per prova o esperimenti vari, si vorrebbe tornare indietro ripulendo il tutto. Ma se i pacchetti installati sono tanti è difficile ricordarsi di tutti. A questo proposito viene in aiuto questo comando che legge i pacchetti del giorno e li rimuove.

grep -e `date +%Y-%m-%d` /var/log/dpkg.log | awk '/install / {print $4}' | uniq | xargs apt-get -y remove

Top 20 comandi per ffmpeg

 

 

Per correttezza preciso che sono i miei Top 20 comandi 🙂 Io sono un utilizzatore assiduo di ffmpeg ed ho pensato di mettere nero su bianco i comandi che uso frequentemente, del resto credo di non essere il solo a cui piace usare prevalentemente la shell. Inizio con il menzionare alcuni comandi semplicissimi per poi successivamente passare ad alcuni più complessi, come al solito il punto di partenza da consultare è sempre il man o il web 🙂 La base da cui partire, anche se sembra banale è la conoscenza dei formati e dei codec, quindi:

Base:

ffmpeg -formats

ffmpeg -codecs

Video:

per ottenere info su un video:

ffmpeg -i video.avi

convertire da .avi a .mpg e viceversa:

ffmpeg -i input.avi output.mpg

convertire da .avi a .flv:

ffmpeg -i input.avi -sameq -ar 44100 output.flv

convertire da .flv a .mpg:

ffmpeg -i input.flv -sameq -ab 56k -ar 22050 -b 500 -s 640x480 output.mpg

convertire da .avi a .mpeg per lettori dvd:

ffmpeg -i input.avi -target pal-dvd -ps 2000000000 -aspect 16:9 output.mpeg

tagliare una sequenza video, dove -ss rappresenta il tempo d'inizio e t la fine:

ffmpeg -vcodec copy -acodec copy -i input.avi -ss 00:00:30 -t 0:0:15 output.avi

convertire video per ipod/iphone:

ffmpeg -i input.flv -acodec libfaac -ab 96k -ac 2 -vcodec libx264 -vpre hq -vpre ipod320 -threads 0 -crf 22 output.mp4

Audio:

estrarre suono da un video e convertirlo in mp3:

ffmpeg -i input.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 output.mp3

cancellare suono da un video:

ffmpeg -i input.avi -an -b 1200 output.avi

aggiungere suono ad un video:

ffmpeg -i input.wav -i input.avi output.mpg

convertire da wav a mp3:

ffmpeg -i input.wav -ab 128 output.mp3

Immagini:

convertire un video in una sequenza di immagini:

ffmpeg -i input.flv -an -r 1 -y -s 320x240 video%d.jpg

estrarre immagine da una sequenza prestabilita:

ffmpeg -i input.flv -an -ss 00:00:25 -t 00:00:01 -r 1 -y video%d.jpg

Screencast:

ffmpeg -f x11grab -s 1280x1024 -r 30 -i :0.0 /tmp/screencast.mpg

oppure:

ffmpeg -y -t 60 -r 25 -s 1280x1024 -f x11grab -i :0.0 screencast.avi

screencast utilizzando un microfono + oss:

ffmpeg -s 1280x1024 -r 25 -f x11grab -i :0.0 -f oss -i /dev/dsp screen.avi

screencast utilizzando un microfono + arecord:

arecord -D default -t raw -c 1 -f S16_LE -r 48000 - | ffmpeg -f s16le -ab 128k -ar 48000 -ac 1 -i --acodec mp2 -f x11grab -r 2 -s 1280x1024 -i :0.0 -vcodec mpeg4 screen.avi

screencast prendendo il suono direttamente da  un file mp3:

ffmpeg -f x11grab -s 1280x1024 -r 30 -i :0.0 -i percorso_del_file.mp3 -ar 22050 -ac 1 -acodec mp2 -ab 128k screen.avi

Questi sono i miei Top 20 comandi per ffmpeg, messi nero su bianco sperando di fare contento qualcun'altro 😉 e sopratutto spero che qualcuno ne posti di altri, poichè sono molto interessato 🙂

Screencast da shell completo

 

Ed eccoci alla fine della trilogia dello Screencast, trilogia non voluta dato che quando ho iniziato a fare la prima guida, non pensavo certo di continuare, ma poi c'è stata la seconda guida ed adesso la terza ed ultima. Il filo conduttore di queste guide è sostanzialmente lo stesso e cioè si  continua sempre parlando dello Screencast usando il terminale, quindi niente gui, diciamo un sistema per quei piccoli esseri immortali come me. Come sempre quando si fa o si scrive una cosa, il risultato migliore lo si ottiene quando ci si confronta e ci si stimola a vicenda, e questo è quello che è successo con un mio lettore, deer , che ha contribuito alla nascita di questo post, come si può evincere dai commenti nei post precedenti e che ringrazio. A questo punto iniziamo a parlare di come fare uno Screencast completo on the fly. Quello che ci serve è questo script dopo:

chmod a+x recordSoundAndDesktop.sh

./recordSoundAndDesktop.sh

Questo script non fa altro che catturare il video in .avi e successivamente convertire il file .wav creato da arecord in .mp3, il tutto in maniera velocissima. Dato che siamo in argomento voglio citare anche la possibilità di fare uno screencast utilizzando l'audio direttamente da un file. Il comando è il seguente:

ffmpeg -f x11grab -s 1280x1024 -r 30 -i :0.0 -i percorso_del_file.mp3 -ar 22050 -ac 1 -acodec mp2 -ab 128k screen.avi

Altri screecast fatti da me e deer con questo script.

Screencast da shell con audio

 

Qualche tempo fa avevo scritto su come fare uno screencast da shell, ma non avevo accennato alla possibilità di farlo registrando contemporaneamente da un microfono e quindi molto utile per chi volesse fare delle guide. L'idea mi è stata data da un lettore, che ringrazio, e che mi chiedeva appunto se esisteva un unico comando per uno screencast audio-video. Dico subito che ho trovato delle difficoltà nel trovare una soluzione ottimale, poichè usando principalmente Debian testing e Sid, succede che a volte (spesso) quello che hai sperimentato il giorno prima ed era funzionante, il giorno dopo ti da problemi o non funziona. Tuttavia questa volta ho sperimentato il tutto anche su Ubuntu 9.10 che ho installato ieri sera, solo perchè volevo togliermi delle curiosità, del resto la mia ultima frequentazione di Ubuntu risale alla versione 8.4. Di seguito i comandi che mi hanno soddisfatto:

Utilizzando ffmpeg con oss:

ffmpeg -s 1280x1024 -r 25 -f x11grab -i :0.0 -f oss -i /dev/dsp screen.avi

Utilizzando ffmpeg con arecord:

arecord -D default -t raw -c 1 -f S16_LE -r 48000 - | ffmpeg -f s16le -ab 128k -ar 48000 -ac 1 -i - -acodec mp2 -f x11grab -r 2 -s 1280x1024 -i :0.0 -vcodec mpeg4 screen.avi

Ricordarsi di settare in: preferenze dell'audio-ingresso-connettori il proprio microfono. Per ulteriori informazioni ed opzioni guardare qua e qua oltre che ai man.