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 depan mesin, itu tidak akan bekerja 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 memberi tahu saya cara mengkonfigurasi dbus agar pengguna ssh dapat menangguhkan mesin?
Jawaban yang Diterima:
Ada dua cara dasar yang dapat dilakukan dan solusinya:
Anda perlu mengubah /usr/share/polkit-1/actions/org.freedesktop.upower.policy
, atur XDG_SESSION_COOKIE
variabel lingkungan ke nilai yang sesuai atau gunakan pm-suspend
:
Memodifikasi /usr/share/polkit-1/actions/org.freedesktop.upower.policy
Terapkan tambalan ini:
--- /usr/share/polkit-1/actions/org.freedesktop.upower.policy.orig 2011-11-16 19:06:59.274055248 +0100
+++ /usr/share/polkit-1/actions/org.freedesktop.upower.policy 2011-11-16 19:11:15.178864922 +0100
@@ -21,6 +21,7 @@
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
+ <allow_any>yes</allow_any>
</defaults>
</action>
(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 $XDG_SESSION_COOKIE
memiliki satu nilai, tetapi dalam sesi ssh, ia memiliki nilai lain. Simpan XDG_SESSION_COOKIE
misalnya dalam .dotfile atau sesuatu ketika desktop dimulai dan sumbernya dalam skrip Anda yang perlu dilakukan melalui ssh.
pm-suspend
Atau Anda bisa berhenti melakukannya dengan dbus
dan UPower
dan cukup keluarkan pm-suspend
sebagai root dan selesaikan!