Post by Yar1000Sul mio ubuntu esiste gksu ma non esegue correttamente le operazioni dello
script. Non esegue nemmeno la prima operazione.
Come gia` ti e` stato scritto, il front-end grafico di 'su' e 'sudo' per
i desktop environment che utilizzano le librerie grafiche GTK (come
Gnome3, Unity, Xfce, Cinnamon, ecc.) e` 'gksu', mentre quello per i DE
che usano le librerie grafiche QT, come ad esempio KDE, e` 'kdesu'.
Un piccolo problema che ho avuto in passato con gksu e` che quando lo
utilizzavo per lanciare un comando, pur eseguendo, segnalava un avviso
tipo questo:
$ gksu synaptic
Gtk-Message: Failed to load module "canberra-gtk-module"
ed ho dovuto quindi installare anche il pacchetto deb
'libcanberra-gtk-module' :
$ sudo apt-get install libcanberra-gtk-module
In Debian, in Ubuntu non so .., per lanciare un'applicazione grafica che
necessita per funzionare dei privilegi di root, c'e` anche la
possibilita` di utilizzare il comando 'pkexec', che fa la stessa cosa
di 'gksu' ma visualizza il form per la password in una finestra con il
tema perfettamente integrato alla grafica di Gnome3, ad es.:
$ pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gnome-terminal
Post by Yar1000Il comando gsksu <nomescript> esegue (apparentemente) senza "commenti"
ritornando al prompt. :(
Una volta che sei nel terminale all'interno della directory che ospita
il tuo script, dai il comando con questa forma:
$ gksu ./nomescript.sh
(Naturalmente il carattere '$' non devi scriverlo, visto che indica il
prompt che compare nel terminale di chi non ha i permessi di
amministratore.)
Non sarebbe meglio pero` se modificassi i tuoi script aggiungendovi
all'interno 'sudo', nei punti dove i comandi lo richiedono?
In questo modo potresti lanciare i tuoi script da semplice utente:
$ ./<nomescript>
e poi dare la tua password quando durante l'esecuzione il tuo script la
richiede.
Quando lo script funziona puoi creare anche un lanciatore, ad esempio
utilizzando 'alacarte' e creando una nuova voce per il tuo lanciatore
nella sezione 'Altro'.
Non ti dimenticare di aggiungere il segno di spunta a 'Terminale', se il
tuo script gira appunto in console.
Loading Image...
Nella tua Home, nella directory
/home/mm/.local/share/applications
alacarte creera` un nuovo file
<alacarte-made-N.desktop>
che e` appunto il lanciatore.
('N' e` un numero prograssivo che viene attribuito ad ogni lanciatore.)
Se hai installato il pacchetto deb 'xdg-utils', volendo puoi poi
trasferire una copia del lanciatore anche sul desktop:
$ xdg-desktop-icon install <alacarte-made-N.desktop>
(Dove sostituirai ad 'N' il numero corrispondente al tuo lanciatore.)
Naturalmente se lo desideri potrai successivamente rimuovere il
lanciatore dal desktop:
$ xdg-desktop-icon uninstall <alacarte-made-X.desktop>