Saya telah menginstal mate-screensaver pada mesin yang menjalankan Linux Mint 16. Pada mesin itu, saya dapat membuka terminal dan menanyakan status screensaver:
dan@box1 ~ $ echo $DISPLAY
:0.0
dan@box1 ~ $ mate-screensaver-command -q
The screensaver is inactive
The screensaver is not inhibited
Ini semua berfungsi dengan baik dan masuk akal. Namun, ketika saya SSH ke mesin yang sama, saya tidak mendapatkan hasil yang saya harapkan:
dan@box2 ~ $ ssh box1
dan@box1 ~ $ export DISPLAY=:0.0
dan@box1 ~ $ echo $DISPLAY
:0.0
dan@box1 ~ $ mate-screensaver-command -q
** Message: Screensaver is not running!
Metode yang sama ini berfungsi pada semua komputer saya yang lain, semua menjalankan berbagai versi Mint. Tidak ada yang aneh untuk masuk ke blog saya ~/.xsession-errors
.
Setelah membaca jawaban ini , saya menemukan bahwa pengaturan DBUS_SESSION_BUS_ADDRESS
to unix:abstract=/tmp/dbus-ToCuEUyLn0,guid=9296df6ba791b044d4236e45545fbe55
(nilainya di terminal lokal) membuat semuanya berfungsi seperti yang saya harapkan di atas SSH. Namun, ~/.dbus/session-bus/*-0
berisi nilai yang berbeda, yang tidak berfungsi, dan saya tidak dapat menemukan file yang berisi nilai yang benar untuk variabel itu.
Mengapa salah satu mesin saya mengharuskan nilai itu diubah, sedangkan sisanya tidak? Jika perilaku itu masuk akal atau rumit untuk diperbaiki, di mana lagi saya akan mencari nilai yang benar untuk variabel itu?
DBUS_SESSION_BUS_ADDRESS=$(ps -fwu $(whoami) | sed -n 's/.*[d]bus.*--address=\(.*\)/\1/p')
Tidak sempurna, tidak dapat diandalkan, tetapi harus bekerja sebagian besar waktu.