我不明白DBus系统总线和会话总线之间的区别。例如,当我运行命令时
$ dbus-daemon --<session/system> --print-address --fork在我看来,情况如下(如果我错了,请纠正我):
/usr/share/dbus-1/中的文件名的一种解释。如果我们使用选项dbus-daemon启动--session,那么将使用来自/usr/share/dbus-1/session.conf的设置,而对于--system则使用/usr/share/dbus-1/system.conf的设置。但这只是在设置上的区别.--print-address,并且这个地址必须以某种方式传递给所有将要使用DBus的程序。系统总线似乎没有一个所有客户都知道的特殊的预定义地址。如果上面的语句是正确的,那么这些类型的DBus之间有什么区别?system一词将用于一组通信,而session一词将用于其他通信组,这类似于某种共识吗?我们一定可以打几次电话开始几趟公共汽车。
$ ADDRESS1=$(dbus-daemon --session --print-address --fork)
$ ADDRESS2=$(dbus-daemon --session --print-address --fork)
...然后使用几个独立的会话总线。我们能为系统总线做同样的事吗?
抱歉有这么多问题..。
发布于 2022-02-24 15:17:29
有一个系统总线,它作为一个系统级别的服务运行.全系统的服务都可以在上面访问。
有零个或多个会话总线,每个用户会话一个。它们以用户身份运行,不具有提升的权限。用户的应用程序可以在每个应用程序上访问(对于该用户会话中的其他应用程序)。
https://stackoverflow.com/questions/71251908
复制相似问题