Se sei d'accordo a rilasciare l'immagine secondo i termini di una licenza Open Source compatibile con openmamba, ti chiedo se puoi inviare l'immagine in un formato sorgente (per esempio il formato di Gimp con i livelli) che possibilmente ne permetta il mantenimento per eventuali modifiche future. Grazie!
mambawelcome e l'installer sono scritti con kommander per KDE3, un tool che purtroppo è diventato obsoleto in quanto non è stato portato su KDE4. I file .kmdr possono essere modificati con kmdr-editor e vengono eseguiti con kmdr-executor.
Ho scoperto che avviando openmamba-gnome pre6 in modalità debug non esiste la cartella /usr/share/themes (non carica gdm, da un'errore di gdm-binary), mentre in modalità default (la 1°) tutto va alla perfezione...
Allora: ho diviso lo script usbinstall.sh in varie funzioni, richiamate una a una (passando gli eventuali parametri) da una funzione in python.
Il problema è il seguente: se chiamo le funzioni dallo script python non si aggiorna la finestra (cioè rimane al passo precedente) e si aggiorna quando terminano le funzioni.
Sarebbe da provare a creare un altro processo e fargli chiamare lo script bash...
Poi si potrebbe usare qdbus dallo script bash, che dovrebbe aggiornare la progressbar.
Ho provato a guardare su qdbusviewer, e ho trovato l'applicazione in python sotto la stringa :1.0 org/gnome/SessionManager/Client68/
ma non c'è nulla riguardo agli elementi della finestra...
e poi il numero 68 cambia a seconda del numero di applicazioni avviate..
Per me la soluzione migliore rimane di fare uno script unico lanciato in background che comunica con il programma padre attraverso dbus. Gestire script esterni è meno facile di quello che sembra e lanciarne uno solo è meglio, altrimenti poi se scappa la gestione del programma padre ci si ritrova con dei processi che si sovrappongono e casini del genere con effetti imprevedibili. Bisogna controllare che gli script siano in esecuzione, prima di lanciare i successivi, farne il kill ecc. tanto vale in questo caso farne uno solo e controllare solo quello, visto che tanto per la progress bar deve comunque comunicare tramite dbus.
Il tuo programma probabilmente lo trovi su dbus perchè comunica con udisk, ma perchè sia in grado di ricevere segnali dall'esterno devi creare un event loop. Nel dettaglio ora non so dirti e farti un esempio preciso, ma qui è spiegato: http://dbus.freedesktop.org/doc/dbus-python/doc/tutorial.html#receiving-signals

