File: tramp-gvfs.el.html
Access functions for the GVFS daemon from Tramp. Tested with GVFS
1.0 (Ubuntu 8.10, Gnome 2.24). It has been reported also to run
with GVFS 0.2.5 (Ubuntu 8.04, Gnome 2.22), but there is an
incompatibility with the mount_info structure, which has been
worked around.
It has also been tested with GVFS 1.6 (Ubuntu 10.04, Gnome 2.30),
where the default_location has been added to mount_info (see
<https://bugzilla.gnome.org/show_bug.cgi?id=561998>.
With GVFS 1.14 (Ubuntu 12.10, Gnome 3.6) the interfaces have been changed, again. So we must introspect the D-Bus interfaces.
All actions to mount a remote location, and to retrieve mount information, are performed by D-Bus messages. File operations themselves are performed via the mounted filesystem in ~/.gvfs. Consequently, GNU Emacs with enabled D-Bus bindings is a precondition.
The GVFS D-Bus interface is said to be unstable. There were even no introspection data before GVFS 1.14. The interface, as discovered during development time, is given in respective comments.
The user option tramp-gvfs-methods contains the list of supported
connection methods. Per default, these are "afp", "dav", "davs",
"gdrive", "mtp", "nextcloud" and "sftp".
"gdrive" and "nextcloud" connection methods require a respective
account in GNOME Online Accounts, with enabled "Files" service.
The "mtp" connection method is responsible for media devices, like cell phones, tablets, cameras etc. The device must already be connected via USB, before accessing it.
Other possible connection methods are "ftp", "http", "https" and
"smb". When one of these methods is added to the list, the remote
access for that method is performed via GVFS instead of the native
Tramp implementation. However, this is not recommended. These
methods are listed here for the benefit of file archives, see
tramp-archive.el.
GVFS offers even more connection methods. The complete list of connection methods of the actual GVFS implementation can be retrieved by:
(message
"%s"
(mapcar
#'car
(dbus-call-method
:session tramp-gvfs-service-daemon tramp-gvfs-path-mounttracker
tramp-gvfs-interface-mounttracker "ListMountableInfo")))
See also /usr/share/gvfs/mounts
Note that all other connection methods are not tested, beside the
ones offered for customization in tramp-gvfs-methods. If you
request an additional connection method to be supported, please
drop me a note.
For hostname completion, information is retrieved from the zeroconf
daemon (for the "afp", "dav", "davs", and "sftp" methods). The
zeroconf daemon is pre-configured to discover services in the
"local" domain. If another domain should be used for discovering
services, the user option tramp-gvfs-zeroconf-domain can be set
accordingly.
Restrictions:
* Two shares of the same SMB server cannot be mounted in parallel.
Defined variables (51)
tramp-goa-identity-regexp | Regexp matching GNOME Online Accounts "PresentationIdentity" property. |
tramp-goa-interface-account | The account interface of the GNOME Online Accounts. |
tramp-goa-interface-calendar | The calendar interface of the GNOME Online Accounts. |
tramp-goa-interface-chat | The chat interface of the GNOME Online Accounts. |
tramp-goa-interface-contacts | The contacts interface of the GNOME Online Accounts. |
tramp-goa-interface-documents | The manager interface of the GNOME Online Accounts. |
tramp-goa-interface-files | The files interface of the GNOME Online Accounts. |
tramp-goa-interface-mail | The mail interface of the GNOME Online Accounts. |
tramp-goa-interface-oauth2based | The oauth2based interface of the GNOME Online Accounts. |
tramp-goa-interface-photos | The photos interface of the GNOME Online Accounts. |
tramp-goa-interface-printers | The printers interface of the GNOME Online Accounts. |
tramp-goa-methods | List of methods which require registration at GNOME Online Accounts. |
tramp-goa-path | The object path of the GNOME Online Accounts. |
tramp-goa-path-accounts | The object path of the GNOME Online Accounts accounts. |
tramp-goa-path-manager | The object path of the GNOME Online Accounts manager. |
tramp-goa-service | The well known name of the GNOME Online Accounts service. |
tramp-gvfs-dbus-event-vector | Current Tramp file name to be used, as vector. |
tramp-gvfs-enabled | Non-nil when GVFS is available. |
tramp-gvfs-file-attributes | GVFS file attributes. |
tramp-gvfs-file-attributes-with-gvfs-info-regexp | Regexp to parse GVFS file attributes with ‘gvfs-info’. |
tramp-gvfs-file-attributes-with-gvfs-ls-regexp | Regexp to parse GVFS file attributes with ‘gvfs-ls’. |
tramp-gvfs-file-name-handler-alist | Alist of handler functions for Tramp GVFS method. |
tramp-gvfs-file-system-attributes | GVFS file system attributes. |
tramp-gvfs-file-system-attributes-regexp | Regexp to parse GVFS file system attributes with ‘gvfs-info’. |
tramp-gvfs-gio-mapping | List of cons cells, mapping "gvfs-<command>" to "gio <command>". |
tramp-gvfs-interface-mountoperation | Used by the dbus-proxying implementation of GMountOperation. |
tramp-gvfs-interface-mounttracker | The mount tracking interface in the GVFS daemon. |
tramp-gvfs-interface-remotevolumemonitor | The volume monitor interface. |
tramp-gvfs-listmounts | The name of the "listMounts" method. |
tramp-gvfs-methods | List of methods for remote files, accessed with GVFS. |
tramp-gvfs-methods-mounttracker | The list of supported methods of the mount tracking interface. |
tramp-gvfs-mountlocation | The name of the "mountLocation" method. |
tramp-gvfs-mountlocation-signature | The D-Bus signature of the "mountLocation" method. |
tramp-gvfs-nextcloud-default-prefix | Default prefix for owncloud / nextcloud methods. |
tramp-gvfs-nextcloud-default-prefix-regexp | Regexp of default prefix for owncloud / nextcloud methods. |
tramp-gvfs-password-anonymous-supported | Operation supports anonymous users. |
tramp-gvfs-password-need-domain | Operation requires a domain. |
tramp-gvfs-password-need-password | Operation requires a password. |
tramp-gvfs-password-need-username | Operation requires a username. |
tramp-gvfs-password-saving-supported | Operation supports saving settings. |
tramp-gvfs-password-tcrypt | Operation takes TCRYPT parameters. |
tramp-gvfs-path-mounttracker | The object path of the GVFS daemon. |
tramp-gvfs-path-remotevolumemonitor | The object path of the remote volume monitor. |
tramp-gvfs-path-tramp | The preceding object path for own objects. |
tramp-gvfs-service-afc-volumemonitor | The well known name of the AFC volume monitor. |
tramp-gvfs-service-daemon | The well known name of the GVFS daemon. |
tramp-gvfs-service-goa-volumemonitor | The well known name of the GOA volume monitor. |
tramp-gvfs-service-gphoto2-volumemonitor | The well known name of the GPhoto2 volume monitor. |
tramp-gvfs-service-mtp-volumemonitor | The well known name of the MTP volume monitor. |
tramp-gvfs-zeroconf-domain | Zeroconf domain to be used for discovering services, like host names. |
tramp-media-methods | List of GVFS methods which are covered by the "mtp" method. |