Saya mencoba untuk menangguhkan server saya menggunakan dbus dan UPower. Server menjalankan Ubuntu LucidLynx 64bit.
Sementara semuanya bekerja dengan baik jika saya duduk langsung di mesin, itu tidak akan berfungsi melalui ssh. Jika saya terhubung ke server melalui ssh dan mencoba untuk menangguhkan mesin menggunakan dbus dan upower, itu memberikan kembali
dbus.exceptions.DBusException: org.freedesktop.UPower.GeneralError: tidak diotorisasi
Adakah yang bisa tolong beri tahu saya cara mengkonfigurasi dbus untuk memungkinkan pengguna ssh menangguhkan mesin?
Jawaban:
Ada dua cara dasar ini bisa dilakukan dan solusinya:
Entah Anda perlu memodifikasi
/usr/share/polkit-1/actions/org.freedesktop.upower.policy
, setelXDG_SESSION_COOKIE
variabel lingkungan ke nilai yang sesuai atau gunakanpm-suspend
:Memodifikasi
/usr/share/polkit-1/actions/org.freedesktop.upower.policy
Terapkan tambalan ini:
(Ke
<action id="org.freedesktop.upower.suspend">
tag / bagian), dan itu akan berfungsi juga ...atau
XDG_SESSION_COOKIE
Saat Anda menggunakan desktop, Anda akan melihat bahwa
$XDG_SESSION_COOKIE
ada satu nilai, tetapi dalam sesi ssh, ada nilai lain. SimpanXDG_SESSION_COOKIE
mis. Dalam file .dot atau sesuatu ketika desktop dimulai dan sumbernya di skrip Anda yang perlu melakukannya lebih dari ssh.pm-tunda
Atau Anda bisa menyerah melakukannya dengan
dbus
danUPower
dan hanya mengeluarkanpm-suspend
sebagai root dan menyelesaikannya! :-)sumber
File di bawah
/usr/share/polkit-1/actions
tidak dimaksudkan untuk dimodifikasi.Buat file dengan nama
/etc/polkit-1/localauthority/50-local.d/allow_all_ssh-users_to_upower.pkla
sumber
ResultAny
, bukanAllowAny
.