Интересно, существует ли какой-либо метод командной строки для создания уведомлений в пузыре уведомления Ubuntu. Или есть ли файл, которые принадлежат этой задаче?
Я хочу следующие характеристики:
Я читал, "Как я могу отправить пользовательское настольное уведомление?" и теперь, я знаю это notify-send
поможет мне в моей цели. Но существуют некоторые ограничения с этой командой. Я хочу знать, существует ли какая-либо другая команда для использования, или какой-либо файл для изменения, так, чтобы размер, цвет и положение пузыря уведомления могли быть изменены?
Исторически, были разные подходы к проблеме "уведомлений". Нет даже согласия того, каково "уведомление". Мы используем его, чтобы только сказать пользователю, что что-то произошло? Мы ожидаем какое-либо действие от него? Если так, как введенный собран? То действие может быть задержано, или пользователь должен сразу действовать? Сколько времени это могло быть отложено? Как пользователь, как предполагается, рассматривает все иски на рассмотрении? Ответы на все эти вопросы формируют решения, предложенные различными командами.
нижняя строка, нет никакого единственного, определенного ответа на Ваш вопрос. Но существуют разные подходы, что можно попытаться выбрать тот, который соответствует конкретному примеру использования.
Однажды, стандарт для уведомлений на Linux появился. Движущая сила его, если не изменяет память, меня право, была командой GNOME 3. Они стремились за объединенный путь ко всем приложениям уведомить пользователя и выяснили, что некоторый компонент настольной среды должен быть ответственен за обработку (организация очередей, отображение, собрав вход) все уведомления. Приложения просто отправляют свое уведомление тому компоненту и надеются, что пользователь получает его.
можно создать такое уведомление с notify-send
приложение командной строки. Обратите внимание, что это целеустремленный не допускает настройку. Вы только передаете свое сообщение и оставляете остальных настольной среде. Этот вид уведомлений поддерживается Единицей (Ubuntu), GNOME 3 и SC/плазма KDE.
osd_cat
является приложением, которое отображает содержание файла на слое X-сервера. При помощи -d
переключатель, можно заставить его автоматически исчезнуть через какое-то время, который делает это несколько подходящим как приложение уведомления.
стандартный шрифт будет ужасен, но можно сделать его лучше при помощи -f
переключатель. -f
аргументом должна быть строка, созданная xfontsel
.
демонстрационное уведомление об А могло быть создано этот путь:
echo -e "sample\nnotification" |osd_cat -p middle -A center -d 1 -f '-*-helvetica-*-r-*-*-34-*-*-*-*-*-*-*' -O 1 -c '#fff'
Вопреки notify-send
, можно поместить уведомление куда угодно на экран, и можно настроить его немного (избранный шрифт и цвет; нет никакого цвета фона). Основной недостаток состоит в том, что это - X-specific, таким образом, это не будет работать под Миром или Уэйлендом.
zenity
(для рабочих столов GTK - Единица и GNOME) и kdialog
(для спокойных рабочих столов - KDE и LxQt) позволяют пользователю создавать простые диалоговые окна из командной строки. Можно вставить текст, но также и некоторые предопределенные значки, кнопки, входные формы, списки, средства выбора файла или индикаторы выполнения. С небольшой работой над Вашей стороной Вы могли использовать их в качестве способа уведомить пользователя.
zenity
поддержки --width=
и --height=
переключатели командной строки, но не обеспечивает способа изменить размещение окна. Лично, я использую --title=
, чтобы дать окну некоторые пользовательские правила заголовка и менеджера окон. Менеджер окон (KWin в моем случае) выбирает все окна, которые соответствуют определенным критериям, как заголовок, содержащий строку, и изменяют их свойства. Для уведомлений я поместил эти окна в правый нижний угол экрана, удаляю панель заголовка окна, заставляю их появиться на всех виртуальных рабочих столах и удалить их из панели задач.
, Если ни одна из вышеупомянутых программ не удовлетворяет Вашим требованиям, можно всегда писать настраиваемое решение. Python обеспечивает привязку и к GTK и к QT и позволит, Вы к относительно безболезненно создаете пользовательский GUI. У Вас будут все опции настройки в мире, но это потребует, чтобы некоторая начальная работа начала.