Gambas-it

Gambas3 => Segnalazione bug => Topic aperto da: vuott - 23 Settembre 2012, 14:16:59

Titolo: [Risolto] Possibile bug nella funzione "Desktop.RunAsRoot()"
Inserito da: vuott - 23 Settembre 2012, 14:16:59
La funzione Desktop.RunAsRoot dovrebbe consentire di lanciare un comando bash come root. Per poterla richiamare nel codice è necessario impostare anche il componente: gb.desktop.

Esempio di suo utilizzo:
Codice: gambas [Seleziona]

Public Sub Button1_Click()

   Desktop.RunAsRoot("cat /dev/ttyUSB1")

End

si dovrebbe aprire una finestra di Terminale, nella quale inserire la propria parola-chiave di root. In questo esempio specifico si vedrebbero i dati provenienti dalla porta seriale ttyUSB1.


A me succede che ottengo in console questo tipo di avviso:
   /tmp/gambas.1000/3328/xdg-utils/xdg-su: 361: /tmp/gambas.1000/3328/xdg-utils/xdg-su: xterm: not found


Volevo chiedervi di fare il medesimo esperimento, per verificare se è un bug comune, oppure se è un problema limitato a me.
Titolo: Re: Possibile bug nella funzione "Desktop.RunAsRoot()"
Inserito da: sotema - 23 Settembre 2012, 14:32:57
Non è un bug.
Il messaggio di errore dice che non trova il programma xterm, ovvero il terminale XTERM non è installato.
Inoltre il metodo RunAsRoot utilizza il comando su di bash per eseguire ciò che gli passi. Nelle distribuzioni Ubuntu based bisognerebbe usare sudo!
Titolo: Re: Possibile bug nella funzione "Desktop.RunAsRoot()"
Inserito da: vuott - 23 Settembre 2012, 14:42:38
Non è un bug.
Il messaggio di errore dice che non trova il programma xterm, ovvero il terminale XTERM non è installato.
Sì, giusto. Ho provveduto ad installare xterm ed adesso funziona.
Grazie, sotema.


Inoltre il metodo RunAsRoot utilizza il comando su di bash per eseguire ciò che gli passi. Nelle distribuzioni Ubuntu based bisognerebbe usare sudo!
...comunque, funziona anche con su.


Si può anche usare la "Shell":
Codice: gambas [Seleziona]

Public Sub Button1_Click()

   Shell "xterm -e su -c \"qui_l'intero_comando\" \"$user\""

End