还有做dbus相关开发的话,使用一个叫d-feet工具,就可以查看当前所有在使用中的dbus名称及其他属性。 dbus分为两种总线,一种叫SystemBus,一种叫SessionBus。SystemBus就只有一条,SessionBus是一个用户会话时会产生一条。至于这两种的区别,SystemBus一般是用于权限较高的系统级(root)进程与其他进程(可以是普通进程)的...
#include <stdio.h>#include<stdlib.h>#include<dbus/dbus.h>#include<unistd.h>staticDBusConnection *connection;intdbus_init(charconst*name) { DBusError error;intret =0; dbus_error_init(&error);/*建立与D-Bus后台的连接*/connection= dbus_bus_get(DBUS_BUS_SESSION, &error);if(dbus_error_is_...
dbus分为两种总线,一种叫SystemBus,一种叫SessionBus。SystemBus就只有一条,SessionBus是一个用户会话时会产生一条。至于这两种的区别,SystemBus一般是用于权限较高的系统级(root)进程与其他进程(可以是普通进程)的通信,而SessionBus是用于普通的用户进程之间的交流。 dbus是单对单的通信,其实和C/S架构差不多,一...
当我们登录进桌面环境的时候,系统启动脚本会调用到dbus-launch来启动一个dbus-daemon,同时会把这个dbus-daemon的地址赋予环境变量DBUS_SESSION_BUS_ADDRESS。 一般情况下,我们是不需要考虑DBUS_SESSION_BUS_ADDRESS的,但是,有些时候,单独启动一个dbus-daemon,则有助于程序的调试。 比如,还是假设我们写了两个程序,A和...
connection = dbus_bus_get(DBUS_BUS_SESSION, &error); if(dbus_error_is_set(&error)) { fprintf(stderr, "dbus_bus_get: %s\n", error.message); dbus_error_free(&error); return -1; } /* 给连接分配一个名字 不是必须*/ ret = dbus_bus_request_name(connection, name, DBUS_NAME_FLAG_...
如果使用bus daemon,libdbus将通过读取环境变量自动获取session bus damon的地址,通过检查一个指定的UNIX domain socket路径获取system bus的地址。如果使用D-bus,但不是daemon,需要定义那个应用是server,那个是client,并定义一套机制是他们认可server的地址,这不是通常的做法。
unix:abstract=/tmp/dbus-ZfKHkBvsWm,guid=6fcb847152517d1d7a75bafa5474bf74 然后,启动 d-feet, 选择 “Connect to other bus”, 输入上面的地址,就建立了一个connection. 然后,执行: $ DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-ZfKHkBvsWm 。/dbus-send --print-reply --dest=org.freedesktop...
unset DBUS_SESSION_BUS_ADDRESS startxfce4 & “` 保存并关闭文件。 3. 设置配置文件权限 为了使配置文件能够正常工作,我们需要设置相应的权限。使用以下命令设置权限: “`bash chmod +x ~/.vnc/xstartup “` 4. 启动VNC服务器 现在,我们可以启动VNC服务器,使用以下命令: ...
unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources vncconfig -iconic &xfce4-session& ###代码结束### xstartup脚本内容 然后在ssh端就可以...
unset DBUS_SESSION_BUS_ADDRESS [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xfce4-session & “` 注意:上述配置文件适用于安装了XFCE桌面环境的情况。如果你使用其他桌面环境,请相应地修改配置文...