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

Я на Linux Mint 18.1, MATE.

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

  • libnotify с bash и grep
  • Что означают категорию уведомлений-отправки-уведомления, подсказки и параметры версии?
  • Почему я не могу использовать `kill $!` С расширением параметра в Bash, когда самый последний процесс «уведомлять-отправлять»?
  • notify-send - Как отображать полное сообщение, когда сообщение длиннее одной строки?
  • Основная проблема

    При выполнении 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>' 
    Linux и Unix - лучшая ОС в мире.