Dari pertanyaan berikut
kami melihat bahwa gksu tidak akan lagi didukung dalam jangka panjang, dan itu tidak akan diinstal secara default dari> = 13,04. Sebaliknya, kita harus menggunakan pkexec yang berfungsi dengan baik untuk aplikasi non-grafis tetapi tidak untuk aplikasi pada GUI:
pkexec gedit
saat mengganti gksu dalam file .desktop
EXEC=pkexec /usr/bin/gedit
atau ketika saya menjalankan skrip python untuk menjalankan aplikasi grafis dengan izin root saya mendapatkan kesalahan berikut:
>>>subprocess.Popen(['pkexec','gedit'])
** (gedit:3203): WARNING **: Could not open X display
Bagaimana saya harus menulis ulang skrip atau file .desktop saya untuk mendukung dialog otentikasi dan menjalankan aplikasi sebagai root jika saya tidak harus bergantung pada gksu?
sudo
saya lihat mengatakan sesuatu tentang mengintegrasikan dukungan untuk gksu ke dalam sudo. Hal lain yang perlu dilihat adalahsudo -A
bahwa menurut halaman manual meluncurkan (mungkin) login grafis.Jawaban:
Pertama buat
.policy
file tindakan di/usr/share/polkit-1/actions/
. Itu konvensional untuk memberi nama file tindakan dengan cara "vendor hierarkis", seperticom.ubuntu.pkexec.gparted.policy
atauorg.debian.apt.policy
Kemudian rekatkan konten berikut:
Ganti
[Short/Full Program Name/Path]
dengan nilai yang sesuai, misalnyagedit
,gedit Text Editor
dan/usr/bin/gedit
.<action id>
nilai tidak perlu cocok dengan nama file yang dipilih (dan satu file dapat berisi beberapa tindakan), tetapi nama file konvensional adalah awalan untuk semua tindakannya.Setelah menyimpan file, program spesifik akan berjalan dengan X dan GUI dan semacamnya.
Perbaikan lain tampaknya: Tambahkan baris berikut di /etc/pam.d/polkit-1:
sumber
Namun perbaikan lain untuk skrip pengguna: Tentukan variabel lingkungan yang sesuai di dalam skrip Anda.
Anda dapat menggunakan cuplikan seperti yang berikut ini untuk melakukan ini:
(berdasarkan pada
getXuser
fungsi ACPI )Jika Anda menemukan
.desktop
file Anda masih tidak berfungsi, Anda dapat mencoba membungkusnyapkexec commandline
dalamsh
potongan, misalnya:Masalah terakhir adalah bug yang diketahui, tampaknya:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=690339
https://bugzilla.xfce.org/show_bug.cgi?id=9373
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=650038
https://bugzilla.gnome.org/show_bug.cgi?id=686059
sumber