Yanıtlar:
sudokomut satırında parolayı sorar ve bunun gksudoiçin bir iletişim kutusu açılır.
sudo -Eeşittir gksudo?
gksudobir GTK tabanlı bir önyüz sudo(btw, kdesudobir QT tabanlı önyüzü), bununla birlikte (varsayılan) kolları daha çevresel değişkenler ( HOME, XAUTHORITYdaha vs.) sudobu şekilde kök Daha Güvenli olarak çalışan komutları adrestir.
Görebildiğim kadarıyla sadece @Logics cevabı yeterince doğru (@Ignacio Vazquez-Abrams tamamlanmadı). @Davros @knitti answer / comments için lütfen kaçınılması gereken açıklama: (Lütfen gerekmediğinde lütfen kaldırın / düzenleyin):
sudoedilmekle birlikte, kullanılan UI iki komutun tek farkı DEĞİLDİR. HOMEortam değişkeninin işaret ettiği yere yazıp yazmadığını) belirleyemediğinizde gk / kdesudo kullanmalısınız . sudobazı sistemlerde ve durumlarda komut). Tüm GUI uygulamaları ana dizininize yazmaz ve CLI uygulamalarının tümü yazmaz , bu nedenle komut türü kilit nokta değildir. sudoroot olarak (örnek olarak uygulamalar konsol çıktısını görüntülemek için) fırlatma GUI uygulamalarına komutu, ancak sap gerekir HOME(ve bu şekilde diğerlerinin XAUTHORITY, DISPLAYvb giriş-yöntem ile ilişkili-malzeme,) çevresel değişkenler doğru öylesine başlatılan uygulamanın başarısız olmayacağını, işlevselliğini yitirmeyeceğini veya çok kötü şeyler yapabileceğini. Aşağıdaki kullanmak için benim geçerli tavsiyemsudo
sudo -H <rest of the command>
sudobölüm 8 kılavuz sayfasından) -H ( HOME )Seçenek, güvenlik politikasının, HOMEortam değişkenini, şifre veritabanında belirtildiği şekilde hedef kullanıcının ana dizinine (varsayılan olarak kök) ayarlamasını ister. Politikaya bağlı olarak, varsayılan davranış bu olabilir.sudoarayanın giriş dizininde dosya oluşturulmasını engellemelidir.sudo -H DISPLAY=<a working X display name, usually :0> <rest of a GUI program command>
sudoKomutun davranışı tüm sistemlerde aynı değildir ve visudokomut aracılığıyla yapılandırılabilir , sudoers(5)daha fazla bilgi için lütfen manpage'i kontrol edin .Grafik programları çalıştırmak için düzenli sudo kullanmak, nadiren bazı durumlarda karışık izinlere neden olur. Güvenli olmak için gksudo (veya uygunsa kdesudo) bir GUI ile programları çalıştırmak için kullanılmalıdır. Bunun gerçekten bir hata olduğunu düşünüyorum, ancak gksudo'nun X sunucu değişkenlerini anladığını ve sudo'nun muhtemelen sorunlara yol açmadığı açıklamalarını duydum. Sadece bir ipucu olarak; grafik programları root olarak çalıştırıyorsanız, çalıştırmak istediğiniz her program için bir terminal açmak yerine, ALT-F2 (aynı anda alt ve fonksiyon tuşu 2) yazın, sonra açılan "gksudo program "tırnak ve program olmadan çalıştırmak istediğiniz uygulama tarafından değiştirilir.
sudo, ayrıcalıklara sahip mevcut kullanıcı olarak çalışır. Bu, grafik uygulamaları çalıştırırken belirli kullanıcı yapılandırma dosyalarının (grafik ortamınızla ilgili) dosya izinlerini değiştirme potansiyeline sahiptir. Bu uygulamaları sudo olmadan tekrar çalıştırırken ortaya çıkan hataları bulabilirsiniz.
gksudo (KDE altında kdesudo), uygulamaları root kullanıcı olarak çalıştırır, bu nedenle dokunulan tüm dosya izinleri, kullanıcıların dosyaları değil, kök dosyalarındadır. Bu uygulamaları gksudo / kdesudo olmadan tekrar çalıştırmak her zaman beklenen davranışa sahip olacaktır.
Mevcut cevap yanlış. Göre Ubuntu RootSudo wiki :
"Grafik uygulamalarını root olarak başlatmak için asla normal sudo kullanmamalısınız. Bu gibi programları çalıştırmak için gksudo (Kubuntu'da kdesudo) kullanmalısınız. Gksudo sets HOME = ~ root kullanmalısınız. dizin kök tarafından sahip olunan. (AFAICT, gksudo ve sudo ile başlatılan sürecin ortamı hakkında özel olan tek şey bu). "