Problemi in questa pagina? Segnalali in questa discussione
Introduzione
In questa guida sono illustrati diversi metodi per eseguire applicazioni con interfaccia grafica con i privilegi di amministrazione.
gksudo e kdesudo sono deprecati e non più disponibili da Ubuntu 18.04.
sudo con opzioni «-H» e «-i»
Il metodo più facile e immediato per avviare un'applicazione grafica con i privilegi d'amministrazione è digitare il relativo comando nel terminale preceduto da sudo, come nel seguente esempio:
sudo gedit
Occorre però specificare che è consigliabile evitare, quando possibile, l'utilizzo diretto del semplice comando sudo.
Infatti in questa maniera (ossia senza utilizzare le cosiddette variabili di ambiente in modo corretto), eventuali file creati o aperti con tale metodo possono diventare proprietà dell'utente root.
Per evitare questo inconveniente, è sufficiente utilizzare il comando sudo con i parametri -H o -i come nel seguente esempio:
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.
Qualora si fossero modificati inavvertitamente i permessi di file aperti con sudo, consultare il seguente paragrafo per ripristinare la corretta configurazione dei permessi nella propria Home.
gksudo, kdesudo, lxqt-sudo (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
gvfs
È un metodo usabile solo su sistemi con ambienti grafici basati su librerie GTK (GNOME, Xfce, ecc.). È necessario installare il pacchetto gvfs se non presente.
Esempio di utilizzo: Aprire con l'editor di testo gedit il file /etc/default/apport.
gedit admin:///etc/default/apport
pkexec
È un programma alternativo per sudo.
Per utilizzarlo è necessario installare il pacchetto policykit-1 se non già installato.
Esempi di utilizzo:
Da terminale: copiare il file /etc/apt/sources.list in /etc/apt/sources.list~:
pkexec cp /etc/apt/sources.list /etc/apt/sources.list~
- 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.«programma»"> <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
Modificare la riga Exec="programma grafico root" «comando» in Exec=pkexec «comando».
- Salvare e chiudere il file.
Esempio: Avviare con i privilegi di amministrazione l'editor Medit:
pkexec medit
Sostituire «programma» col nome del programma grafico d'avviare come root, comando col percorso fino al comando, per esempio /usr/bin/medit, «icona» col nome dell'icona
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.
Per editare un file di configurazione del sistema il comando è
sudoedit /percorso/file
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'
Applicazioni per KDE
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.
Risoluzione problemi
Applicazioni grafiche da root su Wayland
Con la versione 17.10 di Ubuntu è stata introdotta la sessione grafica con Wayland accanto a quella con Xorg (quest'ultimo rimane comunque predefinito in Ubuntu 18.04 e successive).
Di default in una sessione con Wayland non è possibile lanciare come root programmi con interfaccia grafica (Synaptic, GParted, ecc.).
Il problema non si presenta se al login viene selezionata la sessione con Xorg. Per utilizzarla, al login fare clic sull'icona a forma di ingranaggio.
Per ovviare a questo problema è sufficiente digitare il comando da terminale:
xhost +SI:localuser:root
Per fare in modo che tale comando sia lanciato automaticamente all'avvio del sistema:
Avviare l'applicazione Applicazioni d'avvio.
Fare clic su Aggiungi e nella nuova finestra inserire alla voce Comando:
xhost +SI:localuser:root
Fare clic su Salva.
- Terminare la sessione e rieffettuare il login.
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.
Ulteriori risorse