2012-10-23 42 views
2

我有一個glib/gio GVolumeMonitor的問題。當我運行此代碼使用glib gio GVolumeMonitor沒有GNOME

g_type_init(); 
GVolumeMonitor *vmon = g_volume_monitor_get(); 
GList *drives = g_volume_monitor_get_connected_drives(vmon); 
printf("DRIVES: %p\n", drives); 

inside gnome我得到一個有效的條目。

在gnome之外(例如在沒有gnome會話的終端中),我得到一個NIL。

有沒有人有提示如何正確使用GVolumeMonitor?也許gio需要初始化,但我不知道該怎麼做。

回答

1

您需要dbus和gvfsd。要測試它,在TTY中,您可以嘗試以下操作:

$ dbus-launch screen 
$ ipython 
>>> import gio 
>>> vmon = gio.volume_monitor_get() 
>>> vmon.get_connected_drives() 
[...]