Avviare applicazioni grafiche con privilegi di amministrazione con Sudo
Tramite sudo con opzioni "-H" e "-i"
Innanzitutto si ricorda che, quando è necessario avviare da terminale un'applicazione grafica usando i privilegi d'amministrazione, è consigliabile evitare l'utilizzo diretto del semplice comando sudo. Infatti, anche se non si dovessero ravvisare malfunzionamenti, non impostando le variabili di ambiente in modo corretto, ne consegue che all'interno della propria Home alcuni file possano divenire proprietà di root.
Per evitare questo inconveniente, è sufficiente utilizzare il comando sudo con i parametri -H o -i.
Ad esempio per aprire il file /etc/apt/sources.list con l'editor di testo Mousepad di Xfce con i privilegi di amministrazione:
sudo -H mousepad /etc/apt/sources.list
o in alternativa:
sudo -i mousepad /etc/apt/sources.list
Si raccomanda di non chiudere l'emulatore di terminale prima di aver chiuso correttamente il programma lanciato.
Nel caso si fosse avviato un programma grafico tramite il semplice comando sudo, consultare il seguente paragrafo per ripristinare la corretta configurazione dei permessi nella propria Home.
Ripristino permessi Home utente
Se è stata avviata un'applicazione grafica da terminale utilizzando il semplice comando sudo, nella propria Home uno o più file risulteranno proprietà di root.
Per visualizzare tali file digitare nel terminale il seguente comando:
find ~/ -not -user $USER
Per ripristinare la corretta configurazione dei permessi nella propria Home, digitare il comando:
sudo chown -R $USER ~
Questo farà in modo che il proprio utente torni il legittimo proprietario dei file contenuti nella propria directory.
Applicazioni grafiche con privilegi d'amministrazione con applicazione dedicata
Ubuntu 16.04 e precedenti
gksudo (o gksu): comando comunemente utilizzato su sistemi con ambienti grafici basati su librerie GTK (GNOME, Xfce, ecc..). Assicurarsi di aver installato il pacchetto gksu.
Esempio: aprire con i privilegi di amministrazione e con l'editor di testo Gedit di GNOME il file /etc/apt/sources.list:gksudo gedit /etc/apt/sources.list
kdesudo: comando utilizzato su sistemi che utilizzato l'ambiente grafico KDE. Assicurarsi di aver installato il pacchetto kdesudo.
Esempio: aprire con i privilegi di amministrazione e con l'editor di testo Kate di KDE il file /etc/apt/sources.list:kdesudo kate /etc/apt/sources.list
lxqt-sudo: comando utilizzato su sistemi che utilizzato l'ambiente grafico LxQt. Assicurarsi di aver installato il pacchetto lxqt-sudo.
Esempio: aprire con i privilegi di amministrazione e con l'editor di testo Featherpad di LxQt il file /etc/apt/sources.list:lxqt-sudo featherpad /etc/apt/sources.list
gksudo e kdesudo sono deprecati e non più disponibili da Ubuntu 18.04.
Ubuntu 18.04 e successivi
Kubuntu
Dolphin: per avviare il file manager Dolphin come superutente:
Installare il pacchetto dolphin4.
Digitare nel terminale il comando:
sudo -H dolphin4
Il file manager Dolphin4 è la vecchia versione usata in KDE4, per questo motivo si presenta con una grafica parzialmente differente dal resto del sistema.
Kate e Kwrite: per gli editor di testo Kate e Kwrite non sono richiesti preventivamente i permessi di superutente. Pertanto viene richiesta la password solo quando viene modificato e salvato un file per il quale sono richiesti i privilegi di amministrazione.
Altri DE ('''Gnome''', '''Xfce''', '''LxQt''', ecc.)
Tramite gvfs
Metodo usato su sistemi con ambienti grafici basati su librerie GTK (GNOME, Xfce, ecc..).
Installare il pacchetto gvfs.
Esempio: Aprire con l'editor di testo gedit il file /etc/default/apport.
gedit admin:///etc/default/apport
Tramite pkexec
Programma alternativo per sudo.
Uso con comandi dati nel terminale.
Installare il pacchetto policykit-1 se non già installato.
Esempio: copiare il file /etc/apt/sources.list in /etc/apt/sources.list~:
pkexec cp /etc/apt/sources.list /etc/apt/sources.list~
Uso con applicazioni grafiche.
Creare con i privilegi di amministrazione e con un editor di testo il file /usr/share/polkit-1/actions/com.ubuntu.pkexec.«programma».policy.
Copiare in esso il seguente script XML:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE policyconfig PUBLIC "--//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd"> <policyconfig> <action id="com.ubuntu.pkexec.sambaconfig"> <message>Authentication is required to run the «programma»</message> <icon_name>«icona»</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>auth_admin</allow_active> </defaults> <annotate key="org.freedesktop.policykit.exec.path">«comando»</annotate> <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate> </action> </policyconfig>- Salvare e chiudere il file.
Aprire con i privilegi di amministrazione e con un editor di testo il file /usr/share/applications/«nome comando».desktop
Sostituire nella riga Exec=«eseguibile» «comando», il eseguibile con pkexec.
- Salvare e chiudere il file.
Esempio: Avviare con i privilegi di amministrazione il programma GVim:
pkexec gvim
Sostituire «programma» col nome del programma grafico d'avviare come root, comando col percorso fino al comando, per esempio /usr/bin/gvim, «icona» col nome dell'icona
Tramite sudoedit
Aprire con un editor di testo il file ~/.bashrc.
Aggiungere in fondo dopo una linea vuota la stringa:
SUDO_EDITOR=nome-editor-di-testo
Sostituire nome-editor-di-testo col nome dell'editor che si vuole usare come root, esclusi Kate e Krite.
- Salvare e chiudere il file.
Tramite su-to-root
Metodo usato normalmente nei menù, usabile anche nel terminale.
Installare il pacchetto menu.
Esempio:
su-to-root -X -c 'featherpad /etc/apt/sources.list'
