Aplikasi grafis sering menyimpan pengaturan dan data khusus pengguna lainnya dalam file konfigurasi yang ditulis di dalam folder rumah pengguna . Aplikasi mekanisme utama yang digunakan untuk menentukan apa yang harus mereka gunakan sebagai folder home pengguna adalah HOME
variabel lingkungan . (Anda dapat memeriksanya sendiri dengan echo $HOME
).
Misalkan Anda menjalankan gedit
(editor teks grafis) sebagai root
. Jika Anda menjalankan sudo gedit
, HOME
akan terus menunjuk ke arah Anda direktori home, meskipun program ini berjalan sebagairoot
. Akibatnya, gedit
akan menulis file konfigurasi sebagairoot
ke direktori home Anda. Ini kadang-kadang akan menghasilkan file konfigurasi yang dimiliki olehroot
dan dengan demikian tidak dapat diakses oleh Anda (ketika Anda kemudian menjalankan program seperti diri Anda sendiri dan bukan sebagai root
). Ini terutama terjadi ketika aplikasi harus membuat file konfigurasi baru. File yang baru dibuat, secara default, dimiliki oleh pengguna yang membuatnya (yang dalam hal ini root
, bukan Anda).
Itulah alasan utama mengapa Anda harus menjalankan aplikasi grafis dengan tampilan grafis sudo
daripada dengan garis lurus sudo
. Di Ubuntu dan sebagian besar turunannya (termasuk Xubuntu dan Lubuntu), antarmuka grafis standar adalah gksu
/gksudo
. Di Kubuntu begitu kdesudo
. (Tergantung pada lingkungan desktop yang digunakan.)
Jika Anda ingin menggunakan sudo
secara langsung untuk menjalankan aplikasi grafis seperti gedit
, Anda dapat menjalankan:
sudo -H gedit
The -H
flag membuat sudo
set HOME
untuk menunjuk ke root
's folder rumah (yang /root
).
Itu masih tidak akan secara otomatis menangani kepemilikan .Xauthority
dengan menyalinnya ke folder temp (ini adalah hal lain yang ditangani oleh grafis sudo
frontend untuk Anda). Tetapi dalam peristiwa yang jarang terjadi yang .Xauthority
tidak dapat diakses, Anda akan mendapatkan kesalahan dengan mengatakannya, dan kemudian Anda dapat memperbaiki masalah dengan menghapusnya ( sudo rm ~/.Xauthority
), karena masalah itu secara otomatis dibuat ulang. Dengan demikian, melindungi .Xauthority
kepemilikan dan izin kurang penting daripada melindungi kepemilikan dan izin file konfigurasi.
Berbeda dengan yang root
dimiliki .Xauthority
, ketika file konfigurasi menjadi milik root
, tidak selalu sejelas apa masalahnya (karena program grafis akan sering berjalan, tetapi tidak berfungsi dengan baik, dan menampilkan kesalahan yang berguna ke konsol). Dan kadang-kadang kesulitan yang lebih besar untuk diperbaiki, terutama jika Anda berada dalam situasi di mana Anda ingin satu atau lebih file di direktori home Anda dimiliki oleh orang lain selain Anda (karena Anda tidak dapat memperbaikinya hanya dengan secara rekursif mengambil chown
semua file Anda. kembali ke dirimu sendiri).
Oleh karena itu, sudo
(setidaknya tanpa -H
) tidak boleh digunakan untuk menjalankan aplikasi grafis kecuali jika Anda sangat terbiasa dengan cara kerja aplikasi dan tahu pasti bahwa itu tidak pernah mencoba untuk menulis file konfigurasi.