Non dovresti eseguire un editor come root a meno che non sia assolutamente necessario; dovresti usare sudoedit
o le funzioni amministrative del tuo ambiente desktop.
sudoedit
Una volta sudoedit
è configurato in modo appropriato, puoi farlo
SUDO_EDITOR="/opt/sublime_text/sublime_text -w" sudoedit yourfile
sudoedit
controllerà che tu sia autorizzato a farlo, crea una copia del file che puoi modificare senza cambiare gli ID manualmente, avvia il tuo editor e poi, quando l'editor esce, copia di nuovo il file se è stato modificato.
Suggerirei una funzione piuttosto che un alias:
function susubl {
export SUDO_EDITOR="/opt/sublime_text/sublime_text -w"
sudoedit "[email protected]"
}
anche se, come ha sottolineato Jeff Schaller, puoi usare env
per metterlo in un alias ed evitare di cambiare l'ambiente della tua shell:
alias susubl='env SUDO_EDITOR="/opt/sublime_text/sublime_text -w" sudoedit'
Il -w
L'opzione garantisce che l'invocazione di Sublime Text attenda fino a quando i file non vengono chiusi prima di tornare e consentire a sudoedit
copiare nuovamente i file.
Ambienti desktop (GNOME)
In GNOME (e forse in altri ambienti desktop), puoi utilizzare qualsiasi editor compatibile con GIO/GVFS, con admin://
prefisso; ad esempio
gedit admin:///path/to/your/file
Ciò richiederà l'autenticazione appropriata utilizzando PolKit, quindi aprirà il file per la modifica se l'autenticazione ha avuto successo.