Как показать сервисные уведомления на рабочем столе

Я хочу показать sshd.service уведомления на рабочем столе, чтобы знать, подключен ли кто-то к моему ПК с помощью ssh.

Я мог отследить изменения при помощи терминала и выполнения journalctl -t sshd -f, но это требует дополнительного внимания от меня в случае вводного терминала каждый раз, выполняя команду и отслеживая изменения.

0
задан 3 March 2020 в 16:24

1 ответ

Я попробовал его следующим способом:

  • Проверьте, видел ли я, что сервис входит в систему journalctl: journalctl -t sshd -f
  • Создайте новый сервис, который выполнит мой journalctl команда и вывод это с помощью уведомлений на рабочем столе: sudo vim.tiny /etc/systemd/system/shownotes.service

    [Unit]
    Description=Show notifications from service on the desktop
    After=sshd.service
    
    [Service]
    Type=simple
    ExecStart=/home/user/test/output.sh
    WorkingDirectory=/home/user/test
    StandardOutput=journal+console
    
    [Install]
    WantedBy=multi-user.target
    
  • Создайте сценарий: vim.tiny /home/user/test/output.sh:

    #!/bin/bash
    export DISPLAY=:0 && journalctl -t sshd -f > /dev/pts/0
    

    Я использую echo $DISPLAY получить значение дисплея. /dev/pts/0 - устройство вывода уведомлений. sshd - сервис, который вывод системного журнала я буду прямо к DISPLAY=:0.

  • Запустите и включите новый сервис:

    sudo systemctl start shownotes && sudo systemctl enable shownotes
    

Состояние нового сервиса в режиме реального времени я видел:

journalctl -u shownotes -f

Результаты:
notifications image

Но после перезагрузки и ввода в сессию Gnome, не Kubuntu/Plazma, это начало показывать уведомление на /dev/pts/2

0
ответ дан 17 March 2020 в 00:09

Другие вопросы по тегам:

Похожие вопросы: