Ubuntu 21.04 e Nautilus: aprire come amministratore
Con Ubuntu 21.04 e Nautilus sembra non essere più possibile aprire una cartella con i privilegi temporanei di Amministratore. Ecco come risolvere il problema
Ubuntu 21.04 Hirsute Hippo ha portato con sé, tra tante migliorie, una novità spiacevole: con Nautilus non puoi più aprire una cartella usando al volo le credenziali di Amministratore, se stai operando come utente standard.
All'inizio ho pensato che si trattasse di un ennesimo rafforzamento delle misure di sicurezza del sistema per evitare operazioni potenzialmente pericolose, ma poi ho accertato che si tratta invece di malfunzionamento dovuto a un paio di incompatibilità.
In questo articolo ti spiego come aggirare il problema. Se tuttavia non hai ben chiaro di che cosa sto parlando o non capisci perché un utente vorrebbe poter aprire una cartella usando le credenziali di Amministratore, apri il pannello sottostante. Se invece ti è già tutto chiaro, fa' come se il pannello sottostante non esistesse e prosegui la lettura.
Come aprire una cartella usando le credenziali di Amministratore e perché
Parto da un presupposto: anche se al tuo computer accedi solo tu, le operazioni quotidiane le effettui come utente Standard, non come utente Amministratore (per il quale hai un account diverso).
Questo perché ci tieni alla sicurezza e sai che non è prudente lasciare in giro la chiave magnetica della tua cassetta di sicurezza mentre sei nel caveau della banca.
Perciò, per compiere operazioni che richiedono i privilegi di Amministratore:
- o apri una sessione come Amministratore
- o acquisisci temporaneamente i privilegi di Amministratore quando il sistema ti chiede di accreditarti per compiere un'operazione specifica.
In questo modo, riduci le possibilità che un software doloso o un intruso possano manomettere il tuo sistema. Inoltre, se appare una richiesta di credenziali di Amministratore che non è motivata da ciò che stai facendo, sai che sta succedendo qualcosa di sospetto.
Detto questo, ci sono situazioni in cui hai la necessità di operare come Amministratore ma il sistema non ti consente di acquisire momentaneamente i privilegi necessari.
Una delle situazioni più classiche è quella in cui devi salvare un file in una cartella di sistema; ad esempio:
- uno script in /usr/bin
- un lanciatore in /usr/share/application
- un font in /usr/share/fonts
e mille altre occasioni.
Se ci provi, trascinando dalla finestra della cartella d'origine a quella di destinazione, Nautilus non fa una piega. Semplicemente, non succede nulla.
La soluzione è semplice: devi installare il pacchetto nautilus-admin.
Da Terminale, opera come utente Amministratore, con il comando
su NomeUtente
dove NomeUtente è il nome dell'utente Amministratore; ti verrà chiesta la password.
Quindi impartisci il comando per l'installazione del pacchetto:
sudo apt install nautilus-admin
Riavvia la sessione. Ora nel menu contestuale del pulsante destro del mouse è presente il comando Aprire come Amministratore.
Puoi perciò fare clic destro sulla cartella e usare questo comando per accedervi con le credenziali di utente Amministratore (dopo aver immesso la password). Per copiare i file da una cartella all'altra, potresti dover aprire entrambe le cartelle come Amministratore.
Ubuntu 21.04 e Nautilus: un workaround per ripristinare l'apertura come amministratore
Per consentire nuovamente a Nautilus di aprire come Amministratore una cartella devi compiere due operazioni:
- modificare il file nautilus-admin.py
- tornare a una versione precedente dei pacchetti GVfs.
Soprattutto il secondo passo ti potrebbe sembrare troppo impegnativo, ma non preoccuparti: grazie a Ji m (un blogger freelance) la procedura è semplice.
Modificare il file nautilus-admin.py
Il primo inghippo è dovuto a un errore di importazione di un modulo, che impedisce al comando Aprire come Amministratore di apparire nel menu contestuale quando clicchi una cartella con il pulsante destro del mouse.
Per verificare la natura del malfunzionamento, apri il Terminale e impartisci il comando
nautilus -q
Se ricevi in cambio un messaggio come questo
Traceback (most recent call last):
File "/usr/share/nautilus-python/extensions/nautilus-admin.py", line 25, in <module>
from gettext import gettext, locale, bindtextdomain, textdomain
ImportError: cannot import name 'locale' from 'gettext' (/usr/lib/python3.9/gettext.py)
vuol dire che il malfunzionamento è dovuto a un errore di importazione.
Per sanarlo devi modificare il file nautilus-admin.py, perciò opera secondo la procedura seguente.
- Da Terminale, opera come utente sudoer (cioè Amministratore), con il comando
su NomeUtente
dove NomeUtente è il nome dell'utente Amministratore; ti verrà chiesta la password.
- Impartisci il comando
sudo gedit /usr/share/nautilus-python/extensions/nautilus-admin.py
che richiama Gedit e apre il documento nautilus-admin.py.
- Nel file, individua la riga import os, subprocess e modificala in import os, subprocess, locale.
- Quindi individua la riga from gettext import gettext, locale, bindtextdomain, textdomain e rimuovi locale da essa.
- Salva il file, esci e riavvia Nautilus (o, per sicurezza, l'intera sessione).
Riavviata la sessione, da Nautilus clicca ora con il pulsante destro su una cartella: puoi notare che il comando Aprire come Amministratore è presente.
Tornare a una versione precedente dei pacchetti GVfs.
È possibile che tentando da Nautilus di aprire come Amministratore una cartella, tu riceva il messaggio d'errore riportato nella figura sottostante.
Questo errore è dovuto a una nuova impostazione di GVfs (un file system virtuale), che è stata aggiornata per rimediare a un problema con la gestione in rete dei flatpak. Per ripristinare la possibilità di aprire come Amministratore, occorre ripristinare una versione vecchia dei pacchetti GVfs.
Non è una soluzione che mi piace molto...
Tuttavia, Ji m ha ideato una soluzione secondo me migliore: ricompilare i pacchetti GVsf escludendo l'impostazione incriminata. Per rendere la vita facile agli utenti, ha fatto lui il lavoro e ha messo a disposizione i file in un proprio PPA.
Perciò devi innanzi tutto aggiungere il PPA a quelli usati dal sistema, con il comando (devi essere Amministratore)
sudo add-apt-repository ppa:ubuntuhandbook1/gvfs
Poi installa i pacchetti con il comando
sudo apt install gvfs=1.47.91-2ubuntu1
Importante! Riavvia Ubuntu per usare le modifiche.
Per tornare indietro e usare di nuovo i pacchetti ufficiali della distro, elimina il PPA con il comando
sudo apt install ppa-purge && sudo ppa-purge ppa:ubuntuhandbook1/gvfs
È tutto.
Crediti
Non sono abbastanza esperto di Linux per affermare che quanto ho riportato nell'articolo sia farina del mio sacco. Invece, ho tratto le informazioni da due fonti (in inglese):
Ti invito a consultare le fonti se cerchi informazioni più dettagliate.
Il mio lavoro è consistito nel verificare le informazioni, unire le due fonti in modo da fornire una procedura il più semplice possibile e pubblicarla in italiano. Agli autori originali va la mia riconoscenza e, credo, anche quella della comunità italiana di Ubuntu.
Il sistema dei commenti è di CComment