Ciao,
purtroppo ho trascorso questi ultimi giorni lontano dal pc: soltanto oggi ho potuto dedicarmi agli esperimenti.
Il problema di cui ho parlato è soltanto relativo a Ubuntu, perché tra le distro che uso è l'unica ad avere Gnome.
Ho controllato in Synaptic e il pacchetto gksu è installato; a suo tempo ho attivato l'utilizzo del "su" in aggiunta al "sudo".
lo script è molto semplice; l'ho tratto da un vecchio Wiki di Ubuntu (adesso mi sembra che sia stato rimosso) e di solito lo utilizzo nelle distro che non hanno un'interfaccia grafica a iptables già installata, nell'attesa di installare Firestarter o altro.
#!/bin/bash
#
iptables -P INPUT DROP
#
iptables -P FORWARD DROP
#
iptables -A INPUT -i lo -j ACCEPT
#
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Di solito lo lancio da teminale, come root, usando il "sudo". Per riuscire a lanciarlo dal desktop, con un lanciatore, ho modificato le prime righe dello script nel seguente modo:
#!/bin/bash
#
gksu -u root /home/nomeutente/script/iptables.sh
#
iptables -P INPUT DROP
#
Ho anche provato a modificarlo nel seguente modo:
#!/bin/bash
#
gksudo -u root /home/nomeutente/script/iptables.sh
#
iptables -P INPUT DROP
#
Mi viene chiesta la password dell'utente abilitato a dare i comandi con il "sudo", e quindi compare una finestra di terminale con il seguente output:
Errore di GConf: Contatto col server di configurazione non riuscito;
tra le possibili cause la necessità di abilitare il supporto TCP/IP per ORBit
o la presenza di un vecchio blocco NFS causato da un crash del sistema.
Consultare http://www.gnome.org/projects/gconf/ per ulteriori informazioni
(dettagli - 1: Recupero delle connessione alla sessione non riuscito:
/bin/dbus-launch terminated abnormally with the following error:
Maximum number of clients reachedAutolaunch error: X11 initialization failed.).
(gksu:5723): GConf-CRITICAL **: gconf_value_free: assertion `value != NULL' failed
Maximum number of clients reached
(gksu:5729): Gtk-WARNING **: cannot open display: :0.0
Dopo di ciò, se controllo sul terminale con
sudo iptables -L ottengo un output differente da quello che ottengo dopo aver lanciato lo script nel modo normale, cioè da terminale con
sudo /home/nomeutente/script/iptables.shE' probabile (anzi, quasi certo

) che abbia commesso qualche errore nell'aggiungere il comando gksu. D'altra parte, se non avessi indicato l'utente al quale voglio sostituirmi (root) e se non avessi indicato il percorso dello script, avrei dovuto inserire questi dati ad ogni utilizzo del lanciatore.