Forum

Ci sarà la possibil...
 
Notifiche
Cancella tutti

Ci sarà la possibiltà di un'ambiente Gnome?

202 Post
4 Utenti
0 Reactions
57 Visualizzazioni
Post: 161
(@michiamophil)
Estimable Member
Registrato: 15 anni fa

Sono riuscito a far dialogare dbus con lo script python.

La situazione è la seguente:

ho il programma padre(l'interfaccia grafica) e lo script bash (quello che contiene i comandi per installare openmamba).

Lo script bash comunica con lo script python ogni volta che vuole aggiornare la progressbar.

Il problema è quello iniziale, cioè ho una funzione che avvia la ricezione di chiamate tramite dbus, ma blocca l'esecuzione del programma, cioè tutto il codice che c'è dopo non viene eseguito...

Mentre a far partire lo script bash (subprocess.call()) anche in questo caso tutto quello che c'è viene eseguito quando l'installazione è terminata...


Rispondi
Post: 582
(@ercolinux)
Honorable Member
Registrato: 18 anni fa

Prova a dare un occhiata qui: http://dbus.freedesktop.org/doc/dbus-python/doc/tutorial.html#making-asynchronous-method-calls

spiega come rendere asincrone le richieste a dbus in python.


Rispondi
Post: 161
(@michiamophil)
Estimable Member
Registrato: 15 anni fa

Ok, grazie, ho fatto.

Eccovi il pacchetto usbinstall.tar.gz

Per avviarlo python usbinstall.py, fatemi sapere com'è 🙂

Penso ci sia ancora qualche bug...

(Non va git...)


Rispondi
Post: 582
(@ercolinux)
Honorable Member
Registrato: 18 anni fa

Ciao, a me non va.

Probabilmente avviando lo script da python non visualizza la richiesta di password di sudo dello script bash.

Si blocca con questo errore dopo la selezione della chiavetta

Traceback (most recent call last):

File "usbinstall.py", line 69, in avanti

passo4()

File "usbinstall.py", line 257, in passo4

p = Popen(["./usbinstall.sh", "start", sel_usb_file, path_Boot, path_Iso])

File "/usr/lib/python2.6/subprocess.py", line 623, in __init__

errread, errwrite)

File "/usr/lib/python2.6/subprocess.py", line 1141, in _execute_child

raise child_exception

OSError: [Errno 13] Permission denied


Rispondi
Post: 161
(@michiamophil)
Estimable Member
Registrato: 15 anni fa

Si, è vero...

Non so perchè ma il file usbinstall.sh dentro l'archivio che ho caricato su internet non ha i permessi per essere eseguito.

Quindi:

cd /percorso/di/usbinstall/
sudo chmod +x usbinstall.sh

Poi ho scoperto inoltre che non va la funzione che cambia la label di descrizione del processo di installazione, ma non saprei come correggerlo...

Cioè se passo una stringa come parametro a un metodo del programma in python, dbus interpreta gli spazi dentro la stringa come stringhe a se...

( E' la funzione descrizione() presente nel file usbinstall.sh)

provando a modificare il contenuto della funzione così

dbus-send --print-reply --session --dest=org.openmamba.usbinstall /org/openmamba/usbinstall org.openmamba.usbinstall.Descrizione string:"Stringa di prova"

La label del programma in python si aggiorna, quindi il problema è il passaggio del parametro alla funzione descrizione() ?


Rispondi
Pagina 32 / 41
Condividi: