Я думаю, що ви плутаєте різні технології та те, як вони працюють. Я не очікував, що демон-повідомлення з однієї системи може надсилати повідомлення через SSH. Налаштування $DISPLAY
полягає в тому, як X11 відправляє вихід з програми в іншу для демонстрації цілей, але повідомлення notify-send
надсилає фактичне повідомлення демону сповіщень. Це повідомлення надсилається за допомогою libnotify
бібліотеки.
витяг
libnotify - це бібліотека, яка надсилає сповіщення на робочому столі до демона сповіщень, як визначено у специфікації сповіщень на робочому столі. Ці сповіщення можна використовувати для інформування користувача про подію або відображення певної форми інформації, не заважаючи користувачеві.
Джерело: https://developer.gnome.org/libnotify/
За підхід до програми
Одним із способів приєднання notify-send
повідомлень до оповіщувача вашої локальної системи є використання підходу, описаного в цій публікації блогу під назвою: IRC-повідомлення через SSH та libnotify . Цей підхід потрібно налаштувати під кожен тип сповіщень, які ви хочете повернути тунелю до місцевого сповіщувача.
Тунелювання libnotify над SSH
Для більш загального рішення libnotify-over-ssh
може бути більше того, що ви шукаєте.
витяг
Це сценарій perl для клієнтського сервера, який я написав, щоб мій сервер міг фактично надсилати повідомлення libnotify на мою локальну машину. Я використовую це в основному з weechat, але має особливість зробити його більш загальним. Під час виклику клієнта з тегом weechat сервер перевіряє ім'я поточного зосередженого вікна. Якщо це починається з weechat, сповіщення призупиняється, якщо не викликається повідомлення notify-send.
Відображення на віддаленому сервері
Якщо з іншого боку ви просто намагаєтеся використовувати notify-send
для відображення повідомлень на віддаленому сервері, з яким ви раніше ssh
підключалися, вам, ймовірно, доведеться дотримуватися однієї з пропозицій, що були зроблені в цьому запитанні під назвою: Використання сповіщення-відправлення з кроном . Незважаючи на те, що кілька відповідей підказують, що це непотрібно, я повинен був зробити наступне, як інші згадували в коментарях до моєї системи Fedora 20, використовуючи Cinnamon як робочий стіл, щоб налагодити роботу.
Для notify-send
роботи мені довелося встановити цю змінну з відповідним значенням із середовища робочого столу віддаленої системи.
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-wzrbFpDUZQ,guid=82e5bffe1f819506faecc77a53d3ba73
У моїй системі я зміг використати файл, який підтримується саме для цієї мети.
$ ssh me@remote
$ source ~/.dbus/session-bus/6a34f24f9c504e3f813bc094ed0b67af-0
$ notify-send "hi"
ПРИМІТКА: Ім'я файлу DBUS буде змінюватися від сеансу до сеансу.
DISPLAY=:0 notify-send 'hello'
працював на мене (а не на aikeru), спробуйте це перед складнішими кроками.