Corso sugli script bash (le basi della programmazione)
Vediamo come possiamo creare i nostri piccoli programmini di utilità imparando i rudimenti del linguaggio shell bash che tutti i sistemi Linux ci mettono a disposizione già installato e pronto all'uso. Niente di troppo complicato, non vogliamo paragonarci agli sviluppatori professionisti, ma a volte può tornare utile e facilitarci la vita, conoscere come automatizzare alcune operazioni che dobbiamo fare con il nostro PC.
Sappiamo che non esiste l'interfaccia perfetta e perfettamente coerente, ma le incoerenze presenti in Windows sono davvero degne di nota. In questo video vi presento alcune di queste incoerenze paragonandole alla coerenza che invece offre un'interfaccia Linux.
Alcuni esempi di scorciatoie da tastiera, ovvero di shortcut, molto usate:
(1) CTRL+S = salva in Ubuntu / in Windows invece può esserci SHIFT+F12, oppure CTRL+S per programmi open portati in Windows
(2) CTRL+A = seleziona tutto in Ubuntu / in Windows invece può esserci CTRL+5, oppure CTRL+A per programmi open portati in Windows
(3) CTRL+F = cerca in Ubuntu / in Windows invece può esserci SHIFT+F5, oppure CTRL+F per programmi open portati in Windows
Se poi ci concentriamo su MS Office, programma legato a Windows per eccellenza e punta di diamante di Microsoft, vediamo che le scorciatoie da tastiera, così importanti per velocizzare il lavoro d'ufficio, sono diverse a seconda della lingua dell'interfaccia! E questa è la cosa peggiore che si potesse fare.
Vediamo per alcune lingue come variano quattro delle scorciatoie più usate, ovvero:
* selezionare tutto
* grassetto
* corsivo/italico
* sottolineato
(1) [INGLESE] http://en.kioskea.net/faq/4374-microsoft-office-word-keyboard-shortcuts
(2) [ITALIANO] http://www.ghostcomputerclub.it/articoli/news/articoligcc.php?titcode=3DSYU-0622003162332
(3) [FRANCESE] http://www.labo-microsoft.org/tips-10474-liste-des-raccourcis-clavier-sous-word.html
(4) [TEDESCO] http://www.ratschlag24.com/die-wichtigsten-tastenkuerzel-und-tastenkombinationen-fuer-word-2002-word-2
Nella suite open source Libreoffice invece questo non succede. Le scorciatoie da tastiera non solo sono uguali in tutte le lingue, ma sono coerenti anche con il resto del desktop Linux di turno, che sia Ubuntu o altro.
Elenco di alcune scorciatoie Libreoffice: http://community.linuxmint.com/tutorial/view/332
...
https://www.youtube.com/watch?v=sYH54GN0dSk
Questo è il secondo video di una miniserie composta da quattro video che potete trovare raccolti nella playlist chiamata "Viaggio verso Ubuntu Touch 1.0 e ritorno" sempre sul mio canale. In questo video viene presentata la procedura di sostituzione di Android con Ubuntu Touch 1.0.
In questa miniserie presento la procedura, passo per passo, che è necessaria per installare il sistema operativo Ubuntu Touch 1.0 su un telefono con Android, e la procedura contraria che è necessaria per reinstallare Android, tornando quindi al punto di partenza.
Questo è il link che potete usare per scaricare la procedura passo-passo usata nei video. Si tratta di una pagina html che potete aprire nel vostro browser:
https://filedn.eu/l1LzpvH5M2sz2eO4mEdbT5k/Ubuntu_Touch-installazione_su_Nexus4_andata_e_ritorno.html
md5sum: 19f55cd966d7610fca0dfb52aabb51d7
sha256: c9f016ab6cbf0d688dfd6e6e55201d3bb3dfa67ba2c2e2592fbc068dade327ae
...
https://www.youtube.com/watch?v=D2_bOQY6zKE
In questo video presento un ulteriore programma che funziona solo nel terminale e che può, almeno in parte, sostituire i suoi omologhi con interfaccia grafica. Questa volta è il turno di un gestore delle spese personali che permette di tenere facilmente nota delle uscite e delle entrate quotidiane.
pem è proprio questo: un programma che permette di registrare con semplici comandi una spesa oppure un'entrata e di farsi un quadro della propria situazione finanziaria quotidiana e mensile con tutti i suoi limiti e i suoi pregi. Il nome pem sta per GNU Personal Expenses Manager (gestore delle spese personali). Niente di sofisticato per carità, niente contabilità a partita doppia, niente conti, ma un semplice registratore di movimenti in entrata e uscita.
Per l'installazione questa volta non si usa il solito archivio PPA o Ubuntu Software Center, ma una procedura un po' diversa:
1)Scaricare l'archivio compresso tar.gz con il programma:
wget http://ftp.gnu.org/gnu/pem/pem-0.7.9....
oppure si scarica l'ultima versione da qui: http://ftp.gnu.org/gnu/pem/
2) tar -xzvf pem-0.7.9.tar.gz ⇒ estrazione dell'archivio con creazione della sua cartella
3) cd pem-0.7.9/ ⇒ entrare nella cartella estratta
4) ./configure ⇒ configurare il tutto per l'installazione
5) make ⇒ preparare i file all'installazione
6) sudo make install ⇒ installare il programma
Al termine avremo a disposizione il programma "pem" e il suo manuale "man pem" per ogni dettaglio sull'uso
Per la disinstallazione, dato che l'installazione non è stata una "vera installazione" bisogna provvedere manualmente a cancellare i file laddove sono stati copiati:
1) accedere a tutte le cartelle seguenti ed eliminare tutti i file che hanno a che fare con "pem"
2) /usr/local/bin/
3) /usr/local/share/info/
4) /usr/local/share/man/man1/
5) eliminare la cartella seguente
6) /usr/local/share/pem/
Inserimento delle registrazioni
-------------------------------------------------
[*] si lavora sempre sulla data corrente, ovvero inserisco le registrazioni per oggi (anno, mese, giorno). Per registrare in altri giorni del passato o del futuro bisognerebbe modificare temporaneamente la data di sistema, ma non credo proprio valga la pena :-)
[*] pem "testo registrazione spesa (uscita)" importo
[*] pem -e "testo registrazione entrata" importo
[*] pem -c 'etichetta' "testo registrazione" importo ⇒ permette di raggruppare le registrazioni con un'etichetta
Reportistica
--------------------
[*] pem -s n ⇒ stampa un rapporto di "n" giorni, se non si mette il numero di giorni li stampa tutti per il mese corrente (es. pem -s 3)
[*] pem -m n ⇒ stampa un rapporto di "n" mesi, se non si mette il numero di mesi li stampa tutti per l'anno corrente (es. pem -m 2)
[*] pem -s -t ⇒ stampa solo i totali del mese corrente
[*] pem -s -b ⇒ stampa il mese corrente senza usare la formattazione tabellare
[*] pem -s etichetta ⇒ stampa le voci del mese corrente con l'etichetta assegnata
[*] pem -m etichetta ⇒ stampa le voci con l'etichetta assegnata
[*] pem -s -Y aa ⇒ stampa un rapporto per l'anno indicato (es. pem -s -Y 14)
[*] pem -m -Y xx ⇒ stampa un rapporto dei mesi per l'anno indicato (es. pem -m -Y 13)
[*] pem -s -M mm -N mm ⇒ stampa un rapporto per l'intervallo di mesi indicato nell'anno corrente (es. pem -s - M 01 -N 03)
[*] pem -s -Y aa -M mm -N mm ⇒ stampa un rapporto per l'intervallo di mesi indicato dell'anno indicato (es. pem -s -Y 14 -M 01 -N 03)
Archivio dati su normali file di testo tipo csv
-----------------------------------------------------------------------
[*] struttura di cartelle e file creata sotto cartella ~/.pem
[*] /AA/Mese ⇒ anno/mese (il nome del file mensile è l'abbreviazione a tre lettere in inglese)
[*] esempio: ~/.pem/14/Dec (2014, file di dicembre)
[*] questi file, di tipo CSV separati da virgole, contengono le righe delle registrazioni
[*] volendo è possibile anche importarli in un foglio calc. Basta indicare la virgola come separatore dei campi.
Riferimenti in rete:
http://www.maketecheasier.com/pem-man...
http://www.gnu.org/software/pem/ ⇒ sito del progetto
http://ftp.gnu.org/gnu/pem/ ⇒ sito dove scaricare l'ultima versione del programma
Grazie al comando sleep possiamo crearci un semplicissimo timer nel nostro terminale
Il comando sleep accetta le seguenti unità di tempo:
[*] s → secondi
[* ] m → minuti
[* ] h → ore (hours)
[* ] d → giorni (days)
Esempi:
sleep 20m;spd-say -l it "20 minuti" 2[maggiore]/dev/null
sleep 4s;spd-say -l it "perfetto, 4 secondi" 2[maggiore]/dev/null
NOTA: negli esempi qui sopra al posto di [maggiore] dovete mettere il corrispondente simbolo che nei commenti su Youtube non è accettato.
...
https://www.youtube.com/watch?v=l7waXVKyMOI
*************************************************** AVVISO ********************
Per le modalità aggiornate di installazione vedere il mio altro video, successivo a questo, dal titolo "Usare Microsoft Silverlight in Ubuntu con Pipelight AGGIORNAMENTO"
*************************************************** AVVISO ********************
Usare Microsoft Silverlight in un sistema diverso da Windows o Mac era assai complicato fino a poco tempo fa. Ora però è nato un nuovo progetto che ci semplifica di molto la vita. Si chiama Pipelight ed ha lo scopo di includere Silverlight come plugin, alla pari di Adobe Flash, in qualsiasi browser. Nel mio caso presento la procedura con Chromium (vale anche per Chrome). Pur essendo un progetto giovane devo dire che funziona piuttosto bene per quello che ho potuto provare io anche sul mio sistema a 64bit. Alla base di tutto c'è il software Wine: http://www.winehq.org/ (lo strato di compatibilità che permette di eseguire programmi nativi per Windows in Linux).
Sito del progetto: https://launchpad.net/pipelight
Dettagli del progetto e istruzioni per l'installazione: http://fds-team.de/cms/articles/2013-08/pipelight-using-silverlight-in-linux-browsers.html
La procedura di installazione su Ubuntu passo-passo:
1) spegnere completamente il browser e aggiungere i repository PPA necessari con i seguenti comandi da usare in un terminale
1.1) sudo apt-add-repository ppa:ehoover/compholio
1.2) sudo apt-add-repository ppa:mqchael/pipelight
1.3) sudo apt-get update
2) installare Pipelight
2.1) sudo apt-get install pipelight
3) avviare il browser e attendere che il plugin per Silverlight si installi mediante Wine
3.1) appare una prima finestra di Wine mentre il plugin di Silverlight si installa
3.2) appaiono poi in sequenza altre due finestre di Wine che chiedono di installare dei componenti aggiuntivi. Rispondiamo premendo il pulsante "Annulla" per rinunciare perché non servono al funzionamento di Pipelight
Per verificare se l'installazione e la configurazione del plugin sono andate bene si apre questa pagina speciale di Chromium "about:plugins". Si deve vedere nell'elenco Silverlight Plug-In caricato e attivo senza errori.
Se invece c'è un errore fare i seguenti passi:
1) spegnere nuovamente il browser
2) cancellare l'installazione del plugin con il comando da terminale "rm -rf ~/.wine-pipelight/"
3) riaprire il browser in modo da far reinstallare il plugin silverlight
Un paio di siti per testare il plugin:
http://bubblemark.com/silverlight2.html
http://www.iis.net/media/experiencesmoothstreaming
Se i siti non funzionano correttamente, significa che il plugin Silverlight non riconosce il browser in uso e quindi ci manca un cosiddetto "user agent switcher", ovvero quel componente che permette ad un br
...
https://www.youtube.com/watch?v=ta9T3vkgBuo
Per mia comodità mi sono creato questo piccolo gruppo di funzioni per la shell fish che eseguono le operazioni più comuni sulle stringhe di testo e che tornano sempre utili durante lo sviluppo di script.
fsLENGTH
torna la lunghezza della stringa
fsLEFT
torna una porzione di stringa a partire da sinistra
fsRIGHT
torna una porzione di stringa a partire da destra
fsSUBSTR
torna una porzione di stringa a partire dalla posizione indicata
fsINDEX
torna la posizione specificata di uno o più caratteri nella stringa
fsCOUNT
torna il numero di occorrenze di uno o più caratteri nella stringa
Link per scaricare l'archivio compresso con i file delle funzioni per la shell fish:
https://filedn.eu/l1LzpvH5M2sz2eO4mEdbT5k/fish_funzioni_stringa.tar.gz
md5sum: 5b6caf84993921fa36d94f8b8edc180a
sha256: 9fd4b53ad546cd13fc733f0fab2875d65bc3ae203850aecc44cf6518369e98d6
...
https://www.youtube.com/watch?v=HVzcMpgxsOc
Quando nessuno dei software normalmente disponibili come Kazam o Eidete può essere utilizzato per problemi vari sorti con il cambiare delle versioni in sviluppo, c'è sempre l'ancora di salvezza degli utilizzatori di sistemi Linux che è il terminale. Grazie al terminale e al programma avconv possiamo tranquillamente registrare i nostri video screencast con la stessa qualità di quelli che faremmo con i programmi dedicati. Per poter usare il comando avconv dobbiamo dapprima installare il pacchetto "libav-tools" con Ubuntu Software Center. Qui sotto vi metto a disposizione due varianti del comando che permettono a scelta di registrare in formato mp4 oppure webm.
comando ideale AVCONV - mp4:
------------------------------------------------
avconv -v warning -f alsa -i default -f x11grab -r 15 -s wxga -i :0.0 -vcodec libx264 -preset ultrafast -threads auto -y -metadata title="TITOLO mp4" ~/Scaricati/AVCONV_REG.mp4
comando ideale AVCONV - webm:
--------------------------------------------------
avconv -v warning -f alsa -ac 2 -i default -f x11grab -r 15 -s wxga -i :0.0 -acodec libvorbis -ab 320k -vcodec libvpx -qmax 2 -qmin 1 -threads auto -y -metadata title="TITOLO webm" ~/Scaricati/AVCONV_REG.webm
...
https://www.youtube.com/watch?v=DTFqQ8mrpec
************************* AVVERTENZA ********************************
Dalla fine del mese di luglio 2014 il servizio cloud Ubuntu One non
è più operativo. Canonical ha deciso di rinunciare ad offrire un
servizio cloud gestito in proprio.
************************* AVVERTENZA ********************************
Questa è la prima parte di una miniserie che ho pensato di creare in preparazione del prossimo rilascio della nuova versione LTS Ubuntu 12.04 Precise Pangolin.
Questa miniserie presenta alcuni spunti e decisioni miei su quanto farò di sicuro, o quanto potrei decidere di fare al momento dell'installazione della nuova Ubuntu. Si tratta di punti d'interesse che potrebbero venire utili anche ad altre persone, o comunque potrebbero fungere da ulteriore fonte d'ispirazione per loro.
NOTA: i primi 9 minuti del video sono dedicati a "pubblicizzare" gli ultimi movimenti di Canonical sul mercato dell'elettronica di consumo con il suo progetto di televisione presentato al CES di Las Vegas e il suo accordo con un'azienda che costruisce apparecchi multimediali per automobili.
Il resto del video è dedicato al tema annunciato dal titolo e cioè all'apertura di un conto Ubuntu One.
ERRATA CORRIGE: nel video cito il CES di Las Vegas (http://www.cesweb.org/) dicendo erroneamente che si è svolto a Los Angeles :-)
Non è necessario installare differenti distribuzioni Linux in differenti partizioni del proprio PC o su differenti PC per provare differenti ambienti grafici. Basta installare i pacchetti necessari già comodamente a nostra disposizione nei repository di Ubuntu.
In questo video presento come installare i seguenti ambienti grafici:
- gnome shell (desktop Gnome3 - in Ubuntu è già installato)
- kde-full (desktopo KDE)
- xfce4 (desktop XFCE)
- lxde (desktop LXDE)
- wmaker (desktop Window Maker)
...
https://www.youtube.com/watch?v=Aq7Qo4VUNG0