Jawaban:
sudo
meminta kata sandi pada baris perintah, dan gksudo
muncul kotak dialog untuk itu.
sudo -E
setara dengan gksudo
?
gksudo
adalah frontend berbasis GTK dari sudo
(BTW, kdesudo
adalah frontend berbasis Qt), namun (secara default) menangani variabel lebih lingkungan ( HOME
, XAUTHORITY
, dll) dari sudo
sehingga membuat menjalankan perintah sebagai root lebih aman.
Sejauh yang saya bisa lihat hanya jawaban @Logics sudah cukup benar (@Ignacio Vazquez-Abrams tidak lengkap). Berikut adalah klarifikasi coba-untuk-menghindari ke @Davros @knitti jawaban / komentar (Harap hapus / edit ketika tidak diperlukan):
sudo
, UI yang digunakan BUKAN satu-satunya perbedaan dari dua perintah. HOME
variabel lingkungan ke dalam sudo
perintah dalam beberapa sistem dan situasi). Tidak semua aplikasi GUI menulis ke direktori home Anda dan tidak semua aplikasi CLI tidak , jadi jenis perintah bukanlah titik kunci. sudo
perintah untuk meluncurkan aplikasi GUI sebagai root (untuk melihat output konsol aplikasi sebagai contoh), namun Anda perlu menangani HOME
(dan yang lainnya seperti XAUTHORITY
,, DISPLAY
metode input terkait metode, dll.) Variabel lingkungan dengan benar sehingga bahwa aplikasi yang diluncurkan tidak akan gagal, kehilangan fungsionalitas, atau melakukan hal-hal yang sangat buruk. Berikut ini adalah rekomendasi saya saat ini untuk menggunakansudo
sudo -H <rest of the command>
sudo
halaman manual bagian 8) -H ( HOME )
Opsi meminta agar kebijakan keamanan mengatur HOME
variabel lingkungan ke direktori home pengguna target (root secara default) seperti yang ditentukan oleh basis data kata sandi. Tergantung pada kebijakannya, ini mungkin merupakan perilaku default.sudo
direktori rumah pemanggilsudo -H DISPLAY=<a working X display name, usually :0> <rest of a GUI program command>
sudo
perintah tidak identik pada semua sistem dan dapat dikonfigurasi melalui visudo
perintah, silakan periksa sudoers(5)
halaman manual untuk info lebih lanjut.Menggunakan sudo biasa untuk menjalankan program grafis pada kesempatan langka akan mengacaukan izin pada beberapa file. Agar aman, gksudo (atau kdesudo yang sesuai) harus digunakan untuk menjalankan program dengan GUI. Saya pikir ini benar-benar bug, walaupun saya mendengar penjelasan bahwa gksudo memahami variabel X server dan sudo tidak mungkin mengarah ke masalah. Sama seperti tip; jika Anda menjalankan program grafis sebagai root, alih-alih membuka satu terminal untuk setiap program yang ingin Anda jalankan, ketik ALT-F2 (alt dan tombol fungsi 2 secara bersamaan), lalu ketikkan di kotak dialog yang muncul "gksudo program "tanpa tanda kutip dan program digantikan oleh aplikasi yang ingin Anda jalankan.
sudo berjalan sebagai pengguna saat ini dengan hak istimewa yang tinggi. Ini berpotensi mengubah izin file dari file konfigurasi pengguna tertentu (yang berkaitan dengan lingkungan grafis Anda) saat menjalankan aplikasi grafis. Anda mungkin menemukan kesalahan saat menjalankan aplikasi ini lagi tanpa sudo.
gksudo (kdesudo di bawah KDE) menjalankan aplikasi sebagai pengguna root sehingga setiap izin file yang disentuh berada pada file root, bukan file pengguna. menjalankan aplikasi ini lagi tanpa gksudo / kdesudo akan selalu memiliki perilaku yang diharapkan.
Jawaban saat ini salah. Menurut wiki Ubuntu RootSudo :
"Anda seharusnya tidak pernah menggunakan sudo normal untuk memulai aplikasi grafis sebagai root. Anda harus menggunakan gksudo (kdesudo di Kubuntu) untuk menjalankan program seperti itu. Gksudo set HOME = ~ root, dan salin .Xauthority ke direktori tmp. Ini mencegah file di rumah Anda direktori menjadi dimiliki oleh root. (AFAICT, ini semua yang khusus tentang lingkungan dari proses yang dimulai dengan gksudo vs sudo). "