libotify / notify-send: основной текст не печатается, если он содержит '<' или '>'

Я на Linux Mint 18.1, MATE.

Я использую команду notify-send, чтобы визуализировать имя ключей (например, <enter> ), отправляя их в текущее окно через скрипт python. Примерно через две недели notify-send показала странное поведение. Я знаю, что базовый синтаксис в bash notify-send [OPTIONS] <summary> [body] .

Основная проблема

При выполнении notify-send -t 0 '<enter>' 'text body' , все выглядит нормально: введите описание изображения здесь

Однако при попытке распечатать имя ключа в теле сообщения с помощью notify-send -t 0 'Summary' '<enter>' я получаю:

введите описание изображения здесь

То же самое происходит с notify-send -t 0 'Summary' '<' , notify-send -t 0 'Summary' '>' или notify-send -t 0 'Summary' \<

Любые идеи, почему основной текст печатается пустым, если он содержит <или>?


Обход (неудачный)

Я попытался использовать модуль python istead:

 from gi.repository import Notify Notify.init("App Name") Notify.Notification.new("Summary","<enter>").show() 

Но результат такой же, как на рисунке 2 выше.


Дополнительная информация:

При попытке zenity --info --title='Summary' --text='<enter>' в bash появляется сообщение об ошибке:

(zenity:4952): Gtk-WARNING **: Failed to set text '<enter>' from markup due to error parsing markup: Error on line 1 char 24: Element 'markup' was closed, but the currently open element is 'enter'

И вместо текста <enter> в диалоговом окне с информацией об открытии появляется удивительный текст: All updates are complete.

  • libnotify с bash и grep
  • Почему я не могу использовать `kill $!` С расширением параметра в Bash, когда самый последний процесс «уведомлять-отправлять»?
  • Что означают категорию уведомлений-отправки-уведомления, подсказки и параметры версии?
  • notify-send - Как отображать полное сообщение, когда сообщение длиннее одной строки?
  • One Solution collect form web for “libotify / notify-send: основной текст не печатается, если он содержит '<' или '>'”

    Спецификация уведомлений говорит, что тело может содержать простую разметку, поэтому любые теги внутри «<…>» будут удалены и интерпретированы, если это возможно. Например, "<b>hello</b>" отобразит слово жирным шрифтом.

    Вы можете использовать стандартный механизм сущности html и показать < с &lt; и > с &gt; давая, например,

     notify-send 'Summary' '&lt;enter&gt;' 

    Если вы предпочитаете, вы можете просто использовать многострочное резюме, например:

     notify-send 'Summary <enter>' 
    Interesting Posts

    Рисование на экране

    Параметры командной строки для стойки не отображаются в выводах ps или procfs

    Suse 11 против Suse 10 разницы, влияющие на цвета терминала?

    ipfw: Формирование трафика

    Удаление строк в сценарии оболочки

    «Протокол не указан» при запуске vim с sudo

    Firefox на Arch Linux всегда спрашивает о загрузке

    Как обрабатывать исключительную страницу при распределении смежных страниц кеша в Linux

    Почему никто не использует позиционные аргументы, доступные для функций завершения Bash?

    можно изменить звуковой сигнал, используя команду сценария оболочки Linux

    Как запустить команду на переднем плане, а затем отправить на задний план

    Установка драйверов в ubuntu

    Воспроизведение звукового файла медленнее или быстрее

    Объединение двух сценариев bash путем добавления флагов

    Автоматическое монтирование местоположения в файлах GNOME (Nautilus) при перетаскивании

    Linux и Unix - лучшая ОС в мире.