Я пишу несколько небольших скриптов bash под Ubuntu Linux. Я хочу иметь возможность запускать их из графического интерфейса без необходимости в окне терминала для ввода любого ввода или просмотра любого вывода.
Пока что единственный вводимый пароль - это пароль для sudo - и gksudo прекрасно с этим справляется. Но я еще не нашел простой способ показать окно сообщения. Есть ли какая-нибудь команда 'gkmessage'? Я бы предпочел что-то, присутствующее в установке Ubuntu по умолчанию, но я не против установить новый пакет, если это необходимо.
Ответы:
Я верю, что Zenity сделает то, что вы хотите. Он специально разработан для отображения диалогов GTK из командной строки и доступен в виде пакета Ubuntu .
источник
zenity --help
не очень полезно Чтобы сделать это полезным, вам нужно убедиться, что вы настроили--text=My text here
отображение чего-то ...zenity --info --text="Calculation complete"
zenity --help-all
..xinitrc
при запускеxorg
сервера. В противном случае ошибки будут прозрачными. Я также предпочитаю это заzenity
кадром ,kdialog
так как KDE еще не начала и GTK ЛИЭС более легкий.Если вы используете
Ubuntuво многих дистрибутивах,notify-send
команда выдаст одно из этих хороших скоропортящихся уведомлений в верхнем правом углу. Вот так:notify-send "My name is bash and I rock da house"
Прекрасный!
источник
libnotify-bin
пакет содержитnotify-send
двоичный файл. Gnome3, по-видимому, не требует,notify-osd
но я предполагаю, что в других средах рабочего стола может потребоваться это в дополнение кlibnotify-bin
Все упоминают о зените, кажется, что есть много других. Смешанный, но интересный список находится по адресу http://alternativeto.net/software/zenity/
Во-первых, пример zenity с разметкой форматирования текста, заголовком окна, меткой кнопки.
gxmessage
xmessage
xmessage
очень старый, поэтому он стабилен и, вероятно, доступен во всех дистрибутивах, использующих X (поскольку он распространяется с X). Его можно настроить через ресурсы X для тех, кто достаточно долго использовал Linux или Unix, чтобы понять, что это значит (.Xdefaults
кто-нибудь?).kdialog
(не проверено)
В PPA
YAD: Zenity On Steroids [Отображать графические диалоги из сценариев оболочки] ~ Web Upd8: блог Ubuntu / Linux . Не похоже на автоматическое изменение размеров диалогов.
Большой пример
Другие не в стандартных репозиториях Ubuntu
Не по теме (для терминала)
Не стесняйтесь редактировать.
источник
--infobox
есть давняя ошибка отображения с xterm (gnome-терминал)whiptail --infobox
(который не работает должным образом на терминалах, которые поддерживают альтернативный экран) возвращается без ожидания ввода пользователя, в то время какwhiptail --msgbox
(который работает) ожидает подтверждения пользователя перед выходом.В Zenity появляется приложение , чтобы быть то , что вы ищете.
Чтобы получить входные данные из zenity , вы можете указать переменную и сохранить в ней выходные данные zenity --entry . Это выглядит примерно так:
Если вы посмотрите на значение в my_variable сейчас, это будет то, что было введено в диалоге ввода всплывающего окна zenity.
Если вы хотите дать какой-то запрос о том, что пользователь (или вы) должен ввести в диалоговом окне, добавьте ключ --text с нужной вам меткой. Это выглядит примерно так:
У Zenity есть много других приятных опций, предназначенных для конкретных задач, поэтому вы можете проверить их и с помощью zenity --help . Одним из примеров является параметр --calendar, который позволяет вам выбирать дату из графического календаря.
Что дает красиво отформатированную дату в зависимости от того, на что нажал пользователь:
дает:
Есть также варианты выбора слайдера, ошибок, списков и так далее.
Надеюсь это поможет.
источник
zentity
выглядит круто. Однако он не является частью Ubuntu 12.04, поэтому яgxmessage
выбрал его.Я нашел команду xmessage , которая достаточно хороша.
источник
Вот небольшой Tcl-скрипт, который будет делать то, что вы хотите. По умолчанию в Ubuntu должен быть установлен интерпретатор Wish.
Назовите это так:
источник
alert
и,notify-send
кажется, то же самое. я используюnotify-send
сообщения, не входящие в систему, так как они не крадут фокус, и я не могу найти способ остановить зениту и т.д. от этого.например
источник
Есть также
dialog
и версия KDEkdialog
.dialog
используется Slackware, поэтому он может быть не сразу доступен в других дистрибутивах.источник
если больше ничего нет. Вы можете запустить Xterm и эхо в нем, как это:
источник
Как насчет предупреждения Ubuntu . Его можно использовать после любой операции, чтобы сообщить о завершении и даже показать значок красного креста, если операция была завершена с ошибками
источник
Zenity - это действительно тот инструмент, который, я думаю, вы ищете.
или
источник
Kdialog и диалог оба хороши, но я бы порекомендовал Zenity. Быстрый, легкий и намного лучше выглядящий xmessage или диалог.
источник
Пример сценария bash для использования элементов управления Gambas GTK / QT (объекты GUI). Среду Gambas можно использовать для разработки даже больших графических интерфейсов и работы в качестве сервера графического интерфейса. Примеры объяснений можно скачать в магазине приложений Gambas.
https://gambas.one/gambasfarm/?id=823&action=search
источник