SlideShare une entreprise Scribd logo
1  sur  23
Software sviluppato da Matteo Avalle in
collaborazione con Valerio Billera e il
SiciLinux Group
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
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
Un primo esempio:
Hello World
2
Un primo esempio: Hello World
2
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
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
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
Esempi:
Aircrack MC
2
Esempi:
AP
22
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
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
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
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
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
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
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
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
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
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
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
Come realizzare
uno script
22
http://buc.opensource.tk

Contenu connexe

Similaire à Basta un Click!

Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Mattia Milleri
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerAlessandro Mascherin
 
Presentazione sistemi operativi meli marco
Presentazione sistemi operativi meli marcoPresentazione sistemi operativi meli marco
Presentazione sistemi operativi meli marcoMarco Meli
 
Aruba Cloud: 5 minuti sul VisualCloud #Arubait5
Aruba Cloud: 5 minuti sul VisualCloud #Arubait5Aruba Cloud: 5 minuti sul VisualCloud #Arubait5
Aruba Cloud: 5 minuti sul VisualCloud #Arubait5Aruba S.p.A.
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationTiziano Serritella
 
SugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual ApplianceSugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual ApplianceAntonio Musarra
 
Csp@scuola smarttv corso1
Csp@scuola smarttv corso1Csp@scuola smarttv corso1
Csp@scuola smarttv corso1CSP Scarl
 
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Mattia Milleri
 
Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Valerio Radice
 
Costruire un client .NET per SugarCRM
Costruire un client .NET per SugarCRMCostruire un client .NET per SugarCRM
Costruire un client .NET per SugarCRMAntonio Musarra
 
TYPO3 CMS 6.2 LTS - Le Novità
TYPO3 CMS 6.2 LTS - Le NovitàTYPO3 CMS 6.2 LTS - Le Novità
TYPO3 CMS 6.2 LTS - Le NovitàRoberto Torresani
 
REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLL...
REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLL...REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLL...
REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLL...Enrico Paluzzano
 

Similaire à Basta un Click! (20)

Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
 
PALUZZANO TESI
PALUZZANO TESIPALUZZANO TESI
PALUZZANO TESI
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computer
 
Presentazione sistemi operativi meli marco
Presentazione sistemi operativi meli marcoPresentazione sistemi operativi meli marco
Presentazione sistemi operativi meli marco
 
Job linux presentation
Job linux presentationJob linux presentation
Job linux presentation
 
Job Linux Presentation
Job Linux PresentationJob Linux Presentation
Job Linux Presentation
 
GNU Linux Programming introduction
GNU Linux Programming introductionGNU Linux Programming introduction
GNU Linux Programming introduction
 
Aruba Cloud: 5 minuti sul VisualCloud #Arubait5
Aruba Cloud: 5 minuti sul VisualCloud #Arubait5Aruba Cloud: 5 minuti sul VisualCloud #Arubait5
Aruba Cloud: 5 minuti sul VisualCloud #Arubait5
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automation
 
SugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual ApplianceSugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual Appliance
 
Csp@scuola smarttv corso1
Csp@scuola smarttv corso1Csp@scuola smarttv corso1
Csp@scuola smarttv corso1
 
Corso java
Corso javaCorso java
Corso java
 
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
 
Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]
 
Cac Es3 2009
Cac Es3 2009Cac Es3 2009
Cac Es3 2009
 
Costruire un client .NET per SugarCRM
Costruire un client .NET per SugarCRMCostruire un client .NET per SugarCRM
Costruire un client .NET per SugarCRM
 
TYPO3 CMS 6.2 LTS - Le Novità
TYPO3 CMS 6.2 LTS - Le NovitàTYPO3 CMS 6.2 LTS - Le Novità
TYPO3 CMS 6.2 LTS - Le Novità
 
REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLL...
REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLL...REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLL...
REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLL...
 
PALUZZANO PRELAUREA
PALUZZANO PRELAUREAPALUZZANO PRELAUREA
PALUZZANO PRELAUREA
 
Infrastructure as Data
Infrastructure as DataInfrastructure as Data
Infrastructure as Data
 

Basta un Click!

  • 1. Software sviluppato da Matteo Avalle in collaborazione con Valerio Billera e il SiciLinux Group
  • 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. 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
  • 5. Un primo esempio: Hello World 2
  • 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. 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. 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
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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