2012-07-17 136 views
1

我有一个通过SSH连接到dbus的代码,在ubuntu中工作,但我必须迁移到gentoo。 在Ubuntu中,我编写了一个脚本,用于查找在其环境中具有DBUS_SESSION_BUS_ADDRESS的dbus的pid,并将其导出,以便我可以ssh并访问目标的dbus。 我在gentoo中使用完全相同的脚本,但没有找到dbus会话。 在这里有谁熟悉gentoo和dbus并能帮助我吗?我想ssh,然后在gentoo中访问dbus。gentoo中的DBUS_SESSION_BUS_ADDRESS在哪里?

谢谢。

回答

0

看起来好像dbus会话通常只与Gentoo上的X会话一起启动。我只能找到这些文件变量的情况下...

  • /etc/X11/xinit/xinitrc.d/80-dbus
  • 的/ etc/XDG/XFCE4/XINITRC

话虽如此,我ssh'd到Ubuntu服务器框,变量也没有设置在那里。也许它通常只在桌面版本中设置,或者它可能需要安装一些软件包。

如果您不想连接到现有的dbus会话,我想您需要做的是启动一个新的作为ssh登录的一部分,使用.bash_profile或其他。

0

如果您已经启动了X会话,并且想要获取该会话的DBUS地址,则它将在拥有_DBUS_SESSION_BUS_SELECTION_[hostname]_[machineid]选择的窗口的_DBUS_SESSION_BUS_ADDRESS属性中。不知道是否有一种简单的方法可以使用shell one-liner/xlsatoms/xprop组合来提取它。我有node.js script它给你的地址使用node-x11