git-annex/doc/bugs/Volume_monitor_in_GNOME_3.18.mdwn
grawity@2ea26be48562f66fcb9b66307da72b1e2e37453f 234e7a5826 copied the wrong signals, re-testing
2016-01-22 07:53:18 +00:00

163 lines
5.4 KiB
Markdown

### Please describe the problem.
The assistant prints _"No known volume monitor available through dbus; falling back to mtab polling"_ on startup. Based on source code, it expects to find `org.gtk.Private.UDisks2VolumeMonitor` on the session bus.
However, gvfs 1.26 (on GNOME 3.18) has renamed the service to `org.gtk.vfs.UDisks2VolumeMonitor` instead, and git-annex doesn't know about that yet.
### What steps will reproduce the problem?
Start the assistant on GNOME 3.18.
### What version of git-annex are you using? On what operating system?
Arch Linux:
git-annex 6.20160114-8
gvfs 1.26.2-1
### Please provide any additional information below.
These signals are emitted:
[[!format text """
[tba]
"""]]
The DBus interface looks like this:
[[!format text """
$ gdbus introspect -e -d org.gtk.vfs.UDisks2VolumeMonitor -o / -r
node /org/gtk/Private/RemoteVolumeMonitor {
interface org.freedesktop.DBus.Properties {
methods:
Get(in s interface_name,
in s property_name,
out v value);
GetAll(in s interface_name,
out a{sv} properties);
Set(in s interface_name,
in s property_name,
in v value);
signals:
PropertiesChanged(s interface_name,
a{sv} changed_properties,
as invalidated_properties);
properties:
};
interface org.freedesktop.DBus.Introspectable {
methods:
Introspect(out s xml_data);
signals:
properties:
};
interface org.freedesktop.DBus.Peer {
methods:
Ping();
GetMachineId(out s machine_uuid);
signals:
properties:
};
interface org.gtk.Private.RemoteVolumeMonitor {
methods:
IsSupported(out b is_supported);
List(out a(ssssbbbbbbbbuasa{ss}sa{sv}) drives,
out a(ssssssbbssa{ss}sa{sv}) volumes,
out a(ssssssbsassa{sv}) mounts);
CancelOperation(in s cancellation_id,
out b was_cancelled);
MountUnmount(in s id,
in s cancellation_id,
in u unmount_flags,
in s mount_op_id);
VolumeMount(in s id,
in s cancellation_id,
in u mount_flags,
in s mount_op_id);
DriveEject(in s id,
in s cancellation_id,
in u unmount_flags,
in s mount_op_id);
DrivePollForMedia(in s id,
in s cancellation_id);
DriveStart(in s id,
in s cancellation_id,
in u flags,
in s mount_op_id);
DriveStop(in s id,
in s cancellation_id,
in u unmount_flags,
in s mount_op_id);
MountOpReply(in s mount_op_id,
in i result,
in s user_name,
in s domain,
in s encoded_password,
in i password_save,
in i choice,
in b anonymous);
signals:
DriveChanged(s dbus_name,
s id,
(ssssbbbbbbbbuasa{ss}sa{sv}) drive);
DriveConnected(s dbus_name,
s id,
(ssssbbbbbbbbuasa{ss}sa{sv}) drive);
DriveDisconnected(s dbus_name,
s id,
(ssssbbbbbbbbuasa{ss}sa{sv}) drive);
DriveEjectButton(s dbus_name,
s id,
(ssssbbbbbbbbuasa{ss}sa{sv}) drive);
DriveStopButton(s dbus_name,
s id,
(ssssbbbbbbbbuasa{ss}sa{sv}) drive);
VolumeChanged(s dbus_name,
s id,
(ssssssbbssa{ss}sa{sv}) volume);
VolumeAdded(s dbus_name,
s id,
(ssssssbbssa{ss}sa{sv}) volume);
VolumeRemoved(s dbus_name,
s id,
(ssssssbbssa{ss}sa{sv}) volume);
MountChanged(s dbus_name,
s id,
(ssssssbsassa{sv}) mount);
MountAdded(s dbus_name,
s id,
(ssssssbsassa{sv}) mount);
MountPreUnmount(s dbus_name,
s id,
(ssssssbsassa{sv}) mount);
MountRemoved(s dbus_name,
s id,
(ssssssbsassa{sv}) mount);
MountOpAskPassword(s dbus_name,
s id,
s message_to_show,
s default_user,
s default_domain,
u flags);
MountOpAskQuestion(s dbus_name,
s id,
s message_to_show,
as choices);
MountOpShowProcesses(s dbus_name,
s id,
s message_to_show,
ai pid,
as choices);
MountOpShowUnmountProgress(s dbus_name,
s id,
s message_to_show,
x time_left,
x bytes_left);
MountOpAborted(s dbus_name,
s id);
properties:
};
};
"""]]
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
Works fine in general.