Это команда dbus-launch, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
dbus-launch - Утилита для запуска шины сообщений из сценария оболочки
СИНТАКСИС
dbus-запуск [--версия] [--help] [--sh-синтаксис] [--csh-синтаксис] [--авто-синтаксис]
[--binary-syntax] [--close-stderr] [--exit-with-session]
[--autolaunch =МАШИНА] [--config-file =ИМЯ ФАЙЛА] [ПРОГРАММА] [ARGS...]
ОПИСАНИЕ
Команда dbus-запуск команда используется для запуска экземпляра сеансовой шины dbus-демон от
сценарий оболочки. Обычно он вызывается из сценариев входа пользователя. В отличие от демона
сам, dbus-запуск выходы, поэтому обратные кавычки или конструкция $ () могут использоваться для чтения
информация от dbus-запуск.
Без аргументов, dbus-запуск запустит экземпляр сеансовой шины и напечатает адрес
и PID этого экземпляра в стандартный вывод.
Вы можете указать программу для запуска; в этом случае, dbus-запуск запустит сессионную шину
например, установите соответствующие переменные среды, чтобы указанная программа могла найти
bus, а затем выполнить указанную программу с указанными аргументами. См. Ниже для
примеры.
Если вы запустите программу, dbus-запуск не будет печатать информацию о новом автобусе в
стандартный вывод.
После появления dbus-запуск выводит информацию о шине на стандартный вывод, по умолчанию это простой
Формат пар ключ-значение. Однако вы можете запросить несколько альтернативных синтаксисов, используя
Параметры --sh-syntax, --csh-syntax, --binary-syntax или --auto-syntax. Некоторые из этих
вызывать dbus-запуск для выдачи кода оболочки для настройки среды.
С параметром --auto-syntax, dbus-запуск смотрит на значение среды SHELL
переменная, чтобы определить, какой синтаксис оболочки следует использовать. Если SHELL оканчивается на "csh", то
генерируется csh-совместимый код; в противном случае выдается оболочка Bourne. Вместо того, чтобы пройти
--auto-syntax, вы можете явно указать конкретный, используя --sh-syntax для Bourne
синтаксис или --csh-syntax для синтаксиса csh. В сценариях это более надежно, чтобы избежать
--auto-syntax, и вы, надеюсь, знаете, в какой оболочке написан ваш скрипт.
Посмотреть http://www.freedesktop.org/software/dbus/ для получения дополнительной информации о D-Bus. Смотрите также
страница руководства для dbus-демон.
ПРИМЕРЫ
Распространения запущены dbus-запуск как часть стандартного X-сеанса должен запускаться dbus-запуск
--exit-с-сеансом после того, как X-сервер был запущен и стал доступен, как оболочка
вокруг "основного" X-клиента (обычно диспетчера сеансов или оконного менеджера), как в этих
Примеры:
dbus-запуск --exit-с-сеансом гном-сеанс
dbus-запуск --exit-с-сеансом открытая коробка
dbus-запуск --exit-с-сеансом ~ / .xsession
Если ваш дистрибутив этого не делает, вы можете добиться аналогичных результатов, запустив свой
сеанс или оконный менеджер таким же образом в сценарии, запущенном вашим сеансом X, например
~ / .xsession, ~ / .xinitrc or ~ / .Xclients.
Чтобы начать сеанс D-Bus в сеансе текстового режима, не используйте dbus-запуск. Вместо этого см.
dbus-запуск-сеанс(1).
## test для существующего шинного демона, на всякий случай
если тест -z "$ DBUS_SESSION_BUS_ADDRESS"; тогда
## если не найдено, запустить новый
eval `dbus-launch --sh-syntax`
echo "Адрес демона D-Bus для сеанса: $ DBUS_SESSION_BUS_ADDRESS"
fi
Обратите внимание, что в этом случае dbus-launch завершится, а dbus-daemon не будет завершен.
автоматически при выходе из системы.
Автоматические ЗАПУСК
Если DBUS_SESSION_BUS_ADDRESS не установлен для процесса, который пытается использовать D-Bus, по умолчанию
процесс попытается вызвать dbus-launch с параметром --autolaunch, чтобы запустить
новую шину сеанса или найдите существующий адрес шины на дисплее X или в файле в
~ / .dbus / шина сеанса /
Каждый раз, когда происходит автозапуск, приложение, которое должно было запустить новую шину, будет в своем
собственный маленький мир; он может фактически начать новый сеанс, если попытается
использовать много автобусных рейсов. Это может быть неоптимальным или даже полностью нарушенным, в зависимости от
app и что оно пытается делать.
Есть две распространенные причины автозапуска. Один из них - ssh на удаленную машину. Идеальное решение
для этого будет пересылка DBUS_SESSION_BUS_ADDRESS так же, как DISPLAY
переадресовано. А пока вы можете отредактировать файл конфигурации session.conf, чтобы ваш сеанс
шина прослушивает TCP и вручную устанавливает DBUS_SESSION_BUS_ADDRESS, если хотите.
Вторая распространенная причина автозапуска - это su другому пользователю и отображение X
приложения, работающие от имени второго пользователя на дисплее, принадлежащем первому пользователю.
Возможно, идеальным решением в этом случае было бы позволить второму пользователю подключиться к
сеансовая шина первого пользователя, так же как они могут подключаться к дисплею первого пользователя.
Однако механизм этого не закодирован.
Вы всегда можете избежать автозапуска, установив вручную DBUS_SESSION_BUS_ADDRESS. Автозапуск
происходит из-за того, что адрес по умолчанию, если он не задан, - "autolaunch:", поэтому, если любой другой
адрес задан, автозапуска не будет. Однако вы можете включить автозапуск в
явный адрес шины сеанса в качестве запасного варианта, например
DBUS_SESSION_BUS_ADDRESS = "something:, autolaunch:" - в том случае, если первый адрес
не работает, процессы будут запускаться автоматически. (Переменная адреса шины содержит
Список адресов, разделенных запятыми, которые можно попробовать.)
Параметр --autolaunch считается внутренней деталью реализации libdbus, а в
на самом деле есть планы его поменять. Нет реальной причины использовать его вне libdbus
реализация так или иначе.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Поддерживаются следующие варианты:
--авто-синтаксис
Выберите --csh-syntax или --sh-syntax в зависимости от переменной среды SHELL.
- двоичный-синтаксис
Запишите в stdout адрес шины с завершающим нулем, затем PID шины как двоичное целое число
size sizeof (pid_t), затем идентификатор окна шины X как двоичное целое число размера sizeof (long).
Целые числа находятся в порядке байтов машины, а не в сетевом или другом порядке байтов.
канонический порядок байтов.
--close-stderr
Закройте стандартный поток вывода ошибок перед запуском демона D-Bus. Это
полезно, если вы хотите записывать сообщения об ошибках dbus-launch, но не хотите
dbus-daemon, чтобы поток оставался открытым для вашего приложения.
--config-file = ИМЯ ФАЙЛА
Передайте --config-file = FILENAME демону шины, вместо того, чтобы передавать ему --session
аргумент. См. Страницу руководства для dbus-daemon
--csh-синтаксис
Выпустите код, совместимый с csh, для настройки переменных среды.
--exit-с-сеансом
Если предоставляется эта опция, будет создан постоянный процесс «няни», который
наблюдает за HUP по стандартному вводу и пытается подключиться к X-серверу. Если этот процесс получает HUP
на стандартном вводе или теряет свое X-соединение, он убивает демон шины сообщений.
--autolaunch = МАШИНА
Этот вариант подразумевает, что dbus-запуск должен сканировать ранее запущенный сеанс и
повторно использовать найденные там значения. Если сеанс не найден, он начнет новый сеанс. В
Параметр --exit-with-session подразумевается, если указан --autolaunch. Этот вариант предназначен для
исключительное использование libdbus, вы не хотите использовать его вручную. Это может измениться в
будущее.
--sh-синтаксис
Выпустить код, совместимый с оболочкой Bourne, для установки переменных среды.
--версия
Распечатать версию dbus-launch
--Помогите
Распечатать справочную информацию о dbus-launch
ПРИМЕЧАНИЯ
Если вы запустите dbus-запуск MyApp (с любыми другими параметрами), dbus-daemon будет выйти, когда
MyApp заканчивается: это потому, что MyApp предполагается, что это часть более крупного сеанса, а
чем отдельная сессия.
Используйте dbus-launch онлайн с помощью сервисов onworks.net