Basta un Click!

609 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
609
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Basta un Click!

  1. 1. Software sviluppato da Matteo Avalle in collaborazione con Valerio Billera e il SiciLinux Group
  2. 2. 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
  3. 3. 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 2
  4. 4. Un primo esempio: Hello World 2
  5. 5. Un primo esempio: Hello World 2
  6. 6. Un’interfaccia più 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” 2
  7. 7. 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 2
  8. 8. 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 2
  9. 9. Esempi: Aircrack MC 2
  10. 10. Esempi: AP 22
  11. 11. 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. 22
  12. 12. 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. 22
  13. 13. 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à: type bool --set /apps/nautilus/preferences/show_d eensaver/glmatrix -root x --set /apps/nautilus/preferences/show_desktop tru 22
  14. 14. 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> 22
  15. 15. 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> 22
  16. 16. 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”> 22
  17. 17. Come realizzare uno script L’applicativo così ottenuto avrà quest’aspetto: Mancano però tutte le funzionalità: i tasti ci sono, ma non fanno nulla! 22
  18. 18. Come realizzare uno script Completiamo 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_des ktop false /usr/lib/xscreensaver/glmatrix –root & </button> <button title=“Disabilita sfondo animato”> 22
  19. 19. 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 22
  20. 20. 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. 22
  21. 21. 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_des ktop false /usr/lib/xscreensaver/ $screenSaver –root & </button> <button title=“Disabilita sfondo animato”> killall $screenSaver 22
  22. 22. Come realizzare uno script 22
  23. 23. http://buc.opensource.tk

×