Saya menggunakan Trisquel GNU / Linux-Libre yang datang dengan Gnome3 Flashback Desktop Environment.
Saya tahu bahwa saya dapat menjalankan aplikasi GUI sebagai root oleh sudo
& gksudo
tetapi saya ingin tahu bahwa Bagaimana cara menjalankan aplikasi GUI sebagai root dengan bantuan pkexec
?
Ketika saya mencoba untuk menjalankan gedit
(atau aplikasi lain seperti: nautilus
) oleh pkexec gedit
kemudian Ini meminta password untuk otentikasi: -
Setelah memasukkan kata sandi keluar dengan kesalahan: -
$ pkexec gedit
error: XDG_RUNTIME_DIR not set in the environment.
(gedit:6135): Gtk-WARNING **: cannot open display:
Jadi, sepertinya ada yang salah dengan lingkungan tampilan.
Saya juga sudah mencoba DISPLAY=:0 pkexec gedit
tetapi tidak berhasil.
Informasi berikut tersedia dari man pkexec
: -
Lingkungan tempat PROGRAM menjalankannya, akan ditetapkan ke lingkungan minimal yang diketahui dan aman untuk menghindari menyuntikkan kode melalui LD_LIBRARY_PATH atau mekanisme serupa. Selain itu variabel lingkungan PKEXEC_UID diatur ke id pengguna dari proses yang memanggil pkexec. Akibatnya, pkexec tidak akan memungkinkan Anda menjalankan aplikasi X11 sebagai pengguna lain karena variabel lingkungan $ DISPLAY dan $ XAUTHORITY tidak disetel. Dua variabel ini akan dipertahankan jika anotasi org.freedesktop.policykit.exec.allow_gui pada suatu aksi disetel ke nilai kosong; ini tidak disarankan, dan hanya digunakan untuk program-program warisan.
Sekarang saya tidak tahu apa yang harus dilakukan untuk mencapai ini.
Jadi, Bantu saya untuk mengetahui Cara menjalankan aplikasi GUI sebagai root dengan cara pkexec
. Atau ini mungkin atau tidak?
BTW, Terinspirasi oleh gparted-pkexec
perintah yang berfungsi dengan baik. Bagaimana cara gparted
menggunakannya pkexec
?
sumber
Jawaban:
Ini dapat dilakukan dengan menambahkan tindakan khusus ke policykit. Jika Anda ingin menjalankan gedit sebagai root,
pkexec
Anda harus membuat file baru/usr/share/polkit-1/actions/org.freedesktop.policykit.gedit.policy
misalnya:Akhirnya
pkexec gedit
harus bekerja seperti yang diharapkan.Kunjungi manual atau Referensi Manual yang menjelaskannya dengan CONTOH seperti: -
sumber
man pkexec
) juga!