Basta un Click!

23
Software sviluppato da Matteo Avalle in collaborazione con Valerio Billera e il SiciLinux Group

description

Presentazione di Buc effettuata al Linux Day di Ivrea il 23-ott-2010

Transcript of Basta un Click!

Page 1: Basta un Click!

Software sviluppato da Matteo Avalle in collaborazione con Valerio Billera e il SiciLinux Group

Page 2: Basta un Click!

A cosa serve:

Buc è un applicativo che permette di sfruttare la propria conoscenza del terminale di Linux per realizzare delle complesse applicazioni grafiche in modo semplice e veloce, senza dover imparare nuovi linguaggi di programmazione o simili

2/22

Page 3: Basta un Click!

Come funziona: Il programma non è altro che un interprete in grado di leggere file con estensione .mc.

Questi file sono dei file xml “quasi” standard che definiscono come deve essere formata l’interfaccia grafica e, in aggiunta, definiscono anche le istruzioni bash che devono essere eseguite alla pressione dei pulsanti o al caricamento dell’applicazione

3/22

Page 4: Basta un Click!

Un primo esempio: Hello World

4/22

Page 5: Basta un Click!

Un primo esempio: Hello World

5/22

Page 6: Basta un Click!

Un’interfacciapiù articolata

In ogni file mc è possibile inserire una lunga serie di oggetti, quali pulsanti, caselle di testo, caselle a scelta multipla, ecc.

I valori inseriti nelle varie caselle sono poi messi a disposizione degli script di ogni pulsante, che quindi diventano “interattivi”

6/22

Page 7: Basta un Click!

Un confronto con i “normali” script

• Gli script MC “liberano” l’utente finale dalla necessità di utilizzare il terminale per “pilotare” lo script e per leggerne il risultato

• Anche tramite script bash è possibile ottenere un certo livello di “interattività”, ma tramite BUC questa procedura è più semplice e veloce

7/22

Page 8: Basta un Click!

Possibili utilizzi:• E’ possibile sfruttare BUC per realizzare l’interfaccia grafica

di applicativi esistenti, disponibili solo per terminale• Tecnici ed amministratori di sistema possono “facilitare la

vita” ai propri clienti, magari digiuni di linux, realizzando applicativi grafici che li liberino dalla necessità di utilizzare il terminale per le operazioni più comuni

• Le persone abili nell’utilizzo del terminale possono utilizzare script mc per realizzarsi un proprio “pannello di controllo” che automatizzi le operazioni più tediose e ripetitive

8/22

Page 9: Basta un Click!

Esempi:Aircrack MC

9/22

Page 10: Basta un Click!

Esempi:AP

10/22

Page 11: Basta un Click!

Esempi:BUC

• Lo sviluppo dello stesso BUC è automatizzato sfruttando un piccolo applicativo mc: questo script è in grado di ricompilare il programma, evidenziandone gli eventuali errori, per poi preparare tutti i vari pacchetti da distribuire e caricarli automaticamente sul sito web.

• Tutte queste operazioni, sebbene non particolarmente complesse, normalmente richiederebbero almeno una ventina di minuti, passati a modificare diversi file di configurazione, eseguire istruzioni da terminale ed a testare il tutto.

• Tramite lo script invece tutta la procedura si riduce ad un click ed a pochi secondi di attesa.

11/22

Page 12: Basta un Click!

Come realizzare uno script

Proviamo ora a realizzare un piccolo script, a titolo esemplificativo.

Lo script in questione è stato ispirato da un breve tutorial online che spiega come personalizzare lo sfondo del proprio desktop sostituendo l’immagine di sfondo con uno degli screensaver messi a disposizione da Gnome.

12/22

Page 13: Basta un Click!

Come realizzare uno script

Tale guida suggeriva di utilizzare le seguenti istruzioni, da terminale, per attivare lo sfondo animato:

Questi altri comandi, invece, consentono di tornare alla normalità:

gconftool-2 --type bool --set /apps/nautilus/preferences/show_desktop false/usr/lib/xscreensaver/glmatrix -root

killall glmatrix gconftool-2 \ --type bool --set /apps/nautilus/preferences/show_desktop true && nautilus

13/22

Page 14: Basta un Click!

Come realizzare uno script

Cerchiamo ora di tradurre i comandi elencati in uno script MC:Iniziamo partendo dallo “scheletro” di qualunque script:

<?xml version=“1.0”?><config></config>

14/22

Page 15: Basta un Click!

Come realizzare uno script

Aggiungiamo ora una casellina di testo per scrivere il titolo dell’applicazione. Qui incontriamo il primo script, che si occupa semplicemente di stampare il titolo.

<?xml version=“1.0”?><config> <label> echo “Modifica impostazioni sfondo” </label></config>

15/22

Page 16: Basta un Click!

Come realizzare uno script

Aggiungiamo ora i due pulsanti: uno per attivare lo sfondo, e l’altro per disattivarlo

<?xml version=“1.0”?><config> <label> echo “Modifica impostazioni sfondo” </label> <button title=“Abilita sfondo animato”> </button> <button title=“Disabilita sfondo animato”> </button></config>

16/22

Page 17: Basta un Click!

Come realizzare uno scriptL’applicativo così ottenuto avrà quest’aspetto:

Mancano però tutte le funzionalità: i tasti ci sono, ma non fanno nulla!

17/22

Page 18: Basta un Click!

Come realizzare uno scriptCompletiamo ora l’applicativo, aggiungendo il codice da eseguire alla pressione dei due pulsanti:

<?xml version=“1.0”?><config> <label> echo “Modifica impostazioni sfondo” </label> <button title=“Abilita sfondo animato”> gconftool-2 --type bool –set \ /apps/nautilus/preferences/show_desktop false /usr/lib/xscreensaver/glmatrix –root & </button> <button title=“Disabilita sfondo animato”> killall glmatrix gconftool-2 --type bool --set \ /apps/nautilus/preferences/show_desktop true </button></config>

18/22

Page 19: Basta un Click!

Come realizzare uno script

L’applicativo ora è funzionante! Non presenta però ancora nessun vantaggio rispetto ad utilizzare dei normali script… Aggiungiamo quindi qualche funzionalità che migliori l’interazione con l’utente

19/22

Page 20: Basta un Click!

Come realizzare uno script

Cerchiamo ora di rendere più flessibile l’applicativo permettendo all’utente di scegliere quale screensaver utilizzare!

Per ottenere questo risultato è possibile utilizzare una casella a scelta multipla.

20/22

Page 21: Basta un Click!

Come realizzare uno script

<?xml version=“1.0”?><config> <label> echo “Modifica impostazioni sfondo” </label> <combobox var=“screenSaver”> ls /usr/lib/xscreensaver –A -1 </combobox> <button title=“Abilita sfondo animato”> gconftool-2 --type bool –set \ /apps/nautilus/preferences/show_desktop false /usr/lib/xscreensaver/$screenSaver –root & </button> <button title=“Disabilita sfondo animato”> killall $screenSaver gconftool-2 --type bool --set \ /apps/nautilus/preferences/show_desktop true </button></config>

21/22

Page 22: Basta un Click!

Come realizzare uno script

22/22

Page 23: Basta un Click!

http://buc.opensource.tk