Код: Выделить всё
#include
#include
#include
#include
int main(void)
{
GDBusProxy *proxy;
GDBusConnection *conn;
GError *error = NULL;
conn = g_bus_get_sync(G_BUS_TYPE_SESSION, NULL, &error);
g_assert_no_error(error);
proxy = g_dbus_proxy_new_sync(conn,
G_DBUS_PROXY_FLAGS_NONE,
NULL, /* GDBusInterfaceInfo */
"org.gnome.Shell", /* name */
"/org/gnome/Shell", /* object path */
"org.gnome.Shell.Screenshot", /* interface */
NULL, /* GCancellable */
&error);
g_assert_no_error(error);
int success;
char filename_used[100];
g_dbus_proxy_call_sync(proxy,"Screenshot",
g_variant_new ("(bbsbs)", TRUE, FALSE, "/tmp/screenshot",&success,filename_used),
G_DBUS_CALL_FLAGS_NONE,
-1,
NULL,
&error);
g_assert_no_error(error);
return 0;
}
Выручайте! ОШИБКА: dbus-stack.c:33:main: утверждение не выполнено (ошибка == NULL): GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Нет такого метода? Снимок экрана? (g-dbus-error-quark, 19)
Прервано (сброс ядра)
очевидно, я делаю что-то неправильно
Подробнее здесь: https://stackoverflow.com/questions/785 ... s-dbus-api