Вопрос или проблема
ИЗМЕНЕНИЕ
Если я подключаюсь через ssh, запускаю dbus-monitor
, а затем подключаюсь с помощью TigerVNC, вот что я вижу.
$ dbus-monitor "interface="org.freedesktop.Notifications""
signal time=1650458466.197413 sender=org.freedesktop.DBus -> destination=:1.236 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.236"
signal time=1650458466.197460 sender=org.freedesktop.DBus -> destination=:1.236 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.236"
method call time=1650458500.661102 sender=:1.98 -> destination=:1.69 serial=119 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=CloseNotification
uint32 9
method call time=1650458500.662477 sender=:1.69 -> destination=:1.49 serial=109 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=CloseNotification
uint32 9
signal time=1650458500.664097 sender=:1.49 -> destination=(null destination) serial=10204 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=NotificationClosed
uint32 9
uint32 3
signal time=1650458500.665577 sender=:1.69 -> destination=(null destination) serial=110 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=NotificationClosed
uint32 9
uint32 3
method call time=1650458500.673202 sender=:1.98 -> destination=:1.69 serial=120 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=Notify
string "GNOME Desktop Sharing"
uint32 0
string "preferences-desktop-remote-desktop"
string "Другой пользователь управляет вашим рабочим столом"
string "Пользователь на компьютере 'xxxxxxxxxx' удаленно управляет вашим рабочим столом."
array [
]
array [
dict entry(
string "desktop-entry"
variant string "vino-server"
)
]
int32 5000
method call time=1650458500.678437 sender=:1.69 -> destination=:1.49 serial=113 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=Notify
string "GNOME Desktop Sharing"
uint32 0
string "preferences-desktop-remote-desktop"
string "Другой пользователь управляет вашим рабочим столом"
string "Пользователь на компьютере 'xxxxxxxxxx' удаленно управляет вашим рабочим столом."
array [
]
array [
dict entry(
string "desktop-entry"
variant string "vino-server"
)
dict entry(
string "sender-pid"
variant uint32 13810
)
]
int32 5000
Связанные
- Можно ли заблокировать NotifyOSD для одного приложения?
- Можно ли вызвать org.freedesktop.Notifications.CloseNotification(uint id) через DBus?
- Как временно отфильтровать определенные окна уведомлений от конкретных источников?
- https://askubuntu.com/a/194279/226614
Я использую vino-server
в Ubuntu 20.04.3 LTS.
Когда клиент подключается к моему ПК, я получаю уведомление.
Я хочу их отключить.
Клиент – TigerVNC на Win 10, но я думаю, что это не важно.
Я установил org.gnome.Vino notify-on-connect
в false
.
Поскольку установка этого через командную строку, похоже, не изменила то, что я вижу в dconf-editor
(по крайней мере, немедленно, я больше не экспериментировал с этим), я также установил это в dconf-editor
и перезагрузил.
У меня это.
Я не знаю, где еще искать.
$ gsettings list-recursively org.gnome.Vino
org.gnome.Vino prompt-enabled false
org.gnome.Vino require-encryption false
org.gnome.Vino use-alternative-port false
org.gnome.Vino disable-background false
org.gnome.Vino disable-xdamage false
org.gnome.Vino alternative-port uint16 5900
org.gnome.Vino icon-visibility 'client'
org.gnome.Vino authentication-methods ['vnc']
org.gnome.Vino network-interface ''
org.gnome.Vino notify-on-connect false
org.gnome.Vino mailto ''
org.gnome.Vino lock-screen-on-disconnect false
org.gnome.Vino use-upnp false
org.gnome.Vino vnc-password 'keyring'
org.gnome.Vino view-only false
Как я могу отключить эти уведомления?
Сомнительно, что это можно сделать на уровне vino (даже если есть настройка для этого, судя по всему!).
Возможно, обработка уведомлений имеет какой-то тип фильтрации.
$ dpkg -l | grep notif
ii gir1.2-notify-0.7:amd64 0.7.9-1ubuntu2 amd64 отправляет уведомления на рабочем столе демону уведомлений (файлы интроспекции)
ii libevent-2.1-7:amd64 2.1.11-stable-1 amd64 библиотека асинхронных уведомлений о событиях
ii libkf5notifications-data 5.68.0-0ubuntu1 all Фреймворк для уведомлений на рабочем столе
ii libkf5notifications5:amd64 5.68.0-0ubuntu1 amd64 Фреймворк для уведомлений на рабочем столе
ii libnotify-bin 0.7.9-1ubuntu2 amd64 отправляет уведомления на рабочем столе демону уведомлений (Утилиты)
ii libnotify4:amd64 0.7.9-1ubuntu2 amd64 отправляет уведомления на рабочем столе демону уведомлений
ii libstartup-notification0:amd64 0.12-6 amd64 библиотека для обратной связи о запуске программы (общая библиотека)
ii libuv1:amd64 1.34.2-1ubuntu1.3 amd64 библиотека асинхронных уведомлений о событиях - библиотека времени выполнения
ii update-notifier 3.192.30.10 amd64 Демон, который уведомляет о обновлениях пакетов
ii update-notifier-common 3.192.30.10 all Файлы, общие между update-notifier и другими пакетами
ii vlc-plugin-notify:amd64 3.0.9.2-1 amd64 Плагин LibNotify для VLC
Что я могу сделать, так это отключить уведомления глобально с помощью Не беспокоить, и это эффективно сработало для моего случая, но это применимо к любому уведомлению.
Если вы отключите значок, уведомления не появляются.
gsettings set org.gnome.Vino icon-visibility ‘never’
Это также предотвращает ошибки vino-preferences.
Ответ или решение
Для того чтобы отключить уведомление о подключении клиента к вашему Vino серверу VNC на Ubuntu 20.04.3 LTS, вам необходимо выполнить несколько шагов. Давайте рассмотрим детально процесс, используя предложенные вами данные и подходы.
1. Изменение настроек Vino
Вы уже проверили и настроили notify-on-connect
в gsettings
, который отвечает за уведомления при подключении. Тем не менее, стоит убедиться, что этот параметр установлен правильно:
gsettings set org.gnome.Vino notify-on-connect false
Вы можете также заново проверить это с помощью:
gsettings list-recursively org.gnome.Vino
2. Настройка видимости иконки
Как вы сами отметили, изменение видимости иконки Vino также предотвращает появления уведомлений. Введите следующую команду:
gsettings set org.gnome.Vino icon-visibility 'never'
Это действие должно полностью убрать уведомления о подключении, так как иконка не будет отображаться, и связанные с ней уведомления не будут активированы.
3. Использование dconf-editor
Если настройки с командной строки не дают ожидаемого результата, вы можете использовать dconf-editor
, чтобы визуально удостовериться, что изменения применены:
-
Установите
dconf-editor
, если он ещё не установлен:sudo apt install dconf-editor
-
Запустите
dconf-editor
и перейдите в путьorg/gnome/vino
. -
Убедитесь, что параметры
notify-on-connect
иicon-visibility
установлены наfalse
и'never'
соответственно.
4. Проверка зависимостей
На всякий случай убедитесь, что соответствующие библиотеки для нотификаций установлены, и если необходимо, выполните их обновление:
sudo apt update
sudo apt upgrade
5. Альтернативное решение
Если вы хотите временно отключить все уведомления на уровне системы, вы можете использовать режим «Не беспокоить». Он полностью отключает все уведомления, но знайте, что это временное решение и может не подойти для всех пользователей:
Для активации режима «Не беспокоить» выполните:
gsettings set com.canonical.desktop.interface show-notifications false
Или используйте GUI для включения данной функции.
Заключение
Для достижения наилучших результатов необходимо, чтобы все вышеуказанные настройки были проверены, а изменения обязательно сохранились. Используя подход, который сочетает в себе настройки gsettings
и dconf-editor
, вы должны устранить уведомления при подключении к вашему Vino серверу. В случае дальнейших вопросов не стесняйтесь обращаться за дополнительной помощью.