这是 dbus-launch 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
dbus-launch - 从 shell 脚本启动消息总线的实用程序
概要
dbus 启动 [--版本] [--帮助] [--sh-语法] [--csh-语法] [--自动语法]
[--二进制语法] [--close-stderr] [--exit-with-session]
[--自动启动=机器ID] [--配置文件=文件名[课程[ARGS...]
商品描述
这款 dbus 启动 命令用于启动会话总线实例 dbus 守护进程 从
外壳脚本。 它通常会从用户的登录脚本中调用。 与守护进程不同
本身, dbus 启动 退出,因此可以使用反引号或 $() 构造来读取
信息来自 dbus 启动.
没有任何争论, dbus 启动 将启动一个会话总线实例并打印地址
和该实例的 PID 到标准输出。
您可以指定要运行的程序; 在这种情况下, dbus 启动 将启动会话总线
例如,设置适当的环境变量,以便指定的程序可以找到
总线,然后使用指定的参数执行指定的程序。 见下文
例子。
如果你启动一个程序, dbus 启动 不会将有关新巴士的信息打印到
标准输出。
什么时候 dbus 启动 将总线信息打印到标准输出,默认情况下它是在一个简单的
键值对格式。 但是,您可以使用
--sh-syntax、--csh-syntax、--binary-syntax 或 --auto-syntax 选项。 其中几个
原因 dbus 启动 发出 shell 代码来设置环境。
使用 --auto-syntax 选项, dbus 启动 看SHELL环境的价值
变量来确定应该使用哪种 shell 语法。 如果 SHELL 以“csh”结尾,则
发出与 csh 兼容的代码; 否则会发出 Bourne shell 代码。 而不是通过
--auto-syntax,您可以使用 --sh-syntax 为 Bourne 显式指定特定的语法
语法,或 --csh-syntax 用于 csh 语法。 在脚本中,避免
--auto-syntax 并且您希望知道您的脚本是用哪个 shell 编写的。
参见 http://www.freedesktop.org/software/dbus/ 有关 D-Bus 的更多信息。 也可以看看
手册页 dbus 守护进程.
示例
正在运行的发行版 dbus 启动 作为标准 X 会话的一部分应该运行 dbus 启动
--退出会话 在 X 服务器启动并可用后,作为包装器
围绕“主”X 客户端(通常是会话管理器或窗口管理器),如下所示
例子:
dbus 启动 --退出会话 侏儒会议
dbus 启动 --退出会话 开箱
dbus 启动 --退出会话 〜/.xsession
如果您的发行版没有这样做,您可以通过运行您的
在 X 会话运行的脚本中以相同的方式会话或窗口管理器,例如
〜/.xsession, 〜/ .xinitrc or ~/.Xclients。
要在文本模式会话中启动 D-Bus 会话,请不要使用 dbus 启动. 相反,请参阅
dbus 运行会话(1)。
## 测试现有的总线守护进程,只是为了安全
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; 然后
##如果没有找到,启动一个新的
eval`dbus-launch --sh-syntax`
echo "D-Bus 每会话守护进程地址是:$DBUS_SESSION_BUS_ADDRESS"
fi
注意这种情况下dbus-launch会退出,dbus-daemon不会被终止
注销时自动。
自动化 发射
如果未为尝试使用 D-Bus 的进程设置 DBUS_SESSION_BUS_ADDRESS,则默认情况下
该进程将尝试使用 --autolaunch 选项调用 dbus-launch 以启动一个
新会话总线或在 X 显示或文件中查找现有总线地址
~/.dbus/会话总线/
每当发生自动启动时,必须启动新总线的应用程序将在其
自己的小世界; 如果它尝试这样做,它可以有效地结束一个全新的会话
使用大量的巴士服务。 这可能不是最佳的,甚至完全被破坏,具体取决于
应用程序及其尝试执行的操作。
自动启动有两个常见原因。 一个是到远程机器的 ssh。 理想的修复
因为那将以与 DISPLAY 相同的方式转发 DBUS_SESSION_BUS_ADDRESS
转发。 同时,您可以编辑 session.conf 配置文件以使您的会话
总线侦听 TCP,并根据需要手动设置 DBUS_SESSION_BUS_ADDRESS。
自动启动的第二个常见原因是 su 到另一个用户,并显示 X
在属于第一个用户的显示器上作为第二个用户运行的应用程序。
在这种情况下,理想的解决方法可能是允许第二个用户连接到
第一个用户的会话总线,就像他们可以连接到第一个用户的显示器一样。
但是,尚未对此机制进行编码。
您始终可以通过手动设置 DBUS_SESSION_BUS_ADDRESS 来避免自动启动。 自动启动
发生是因为如果没有设置的默认地址是“自动启动:”,所以如果有任何其他
地址设置将不会自动启动。 但是,您可以将自动启动包含在
例如,显式会话总线地址作为后备
DBUS_SESSION_BUS_ADDRESS="something:,autolaunch:" - 在这种情况下,如果第一个地址
不起作用,进程将自动启动。 (总线地址变量包含一个
要尝试的地址的逗号分隔列表。)
--autolaunch 选项被认为是 libdbus 的内部实现细节,在
事实上有计划改变它。 没有真正的理由在 libdbus 之外使用它
无论如何执行。
配置
支持以下选项:
--自动语法
根据 SHELL 环境变量选择 --csh-syntax 或 --sh-syntax。
--二进制语法
将空终止总线地址写入 stdout,然后将总线 PID 作为二进制整数写入
大小 sizeof(pid_t),然后总线 X 窗口 ID 作为大小为 sizeof(long) 的二进制整数。
整数是机器的字节顺序,而不是网络字节顺序或任何其他
规范的字节顺序。
--关闭标准错误
在启动 D-Bus 守护进程之前关闭标准错误输出流。 这是
如果您想捕获 dbus-launch 错误消息但您不想
dbus-daemon 以保持流对您的应用程序开放。
--config-file=文件名
将 --config-file=FILENAME 传递给总线守护程序,而不是将 --session 传递给它
争论。 请参阅 dbus-daemon 的手册页
--csh-语法
发出 csh 兼容代码来设置环境变量。
--退出会话
如果提供此选项,将创建一个持久的“保姆”进程
监视 HUP 的 stdin 并尝试连接到 X 服务器。 如果这个过程得到一个 HUP
在 stdin 上或丢失其 X 连接,它会终止消息总线守护进程。
--autolaunch=机器ID
这个选项意味着 dbus 启动 应该扫描以前开始的会话和
重用在那里找到的值。 如果没有找到会话,它将开始一个新的会话。 这
如果给出 --autolaunch ,则隐含 --exit-with-session 选项。 此选项用于
独家使用libdbus,您不想手动使用它。 它可能会改变
的未来。
--sh-语法
发出 Bourne-shell 兼容代码来设置环境变量。
- 版
打印 dbus-launch 的版本
- 帮帮我
打印 dbus-launch 的帮助信息
附注
如果你跑步 dbus 启动 我的应用程序 (使用任何其他选项),dbus-daemon 将 而不去 退出时
我的应用程序 终止:这是因为 我的应用程序 被假定为更大会话的一部分,而不是
而不是一个会话本身。
使用 onworks.net 服务在线使用 dbus-launch