README
1How to use kio-fuse
2===================
3
4Building
5--------
6
7Very simple: Install build dependencies, run cmake, make and you're done!
8
9To install build dependencies on Arch Linux:
10
11 pacman -S base-devel fuse3 cmake extra-cmake-modules qt5base kio
12
13 (and kio-extras for running certain tests)
14
15To install build dependencies on Fedora 32:
16
17 dnf install cmake extra-cmake-modules kf5-kio-devel fuse3-devel
18 qt5-qtbase-devel pkg-config
19
20 (and kio-extras for running certain tests)
21
22To install build dependencies on openSUSE Tumbleweed:
23
24 zypper install extra-cmake-modules 'cmake(KF5KIO)' 'pkgconfig(fuse3)'
25 kio-devel 'cmake(Qt5Test)' 'cmake(Qt5Dbus)'
26
27 (and kio-extras5 for running certain tests)
28
29To install build dependencies on Ubuntu 19.04:
30
31 apt install fuse3 libfuse3-dev build-essential cmake extra-cmake-modules
32 pkg-config libkf5kio-dev
33
34 (and kio-extras for running certain tests)
35
36To run the tests, run make test. To install, run make install.
37
38Using
39-----
40
41kio-fuse is a DBus activated service, so for permanent installation the
42installed service file has to be in a directory used by dbus-daemon.
43If you're installing into a custom prefix, you may want to link
44[prefix]/share/dbus-1/services/org.kde.KIOFuse.service into
45~/.local/share/dbus-1/services/ and
46[prefix]/lib/systemd/user/kio-fuse.service into
47~/.local/share/systemd/user/.
48
49To make sure that the installed version is actually used, stop any already
50running instance with "killall kio-fuse" and log out and in again.
51
52For quick testing, installation and DBus activation can be skipped. Instead,
53after stopping any previously running instance, start the built kio-fuse binary
54with the -f parameter and possibly other options.
55
56The DBus service is automatically used by KIO (5.66+) when opening a file on a
57KIO URL with a KIO-unaware application.
58
59Running it manually
60-------------------
61
62Create a new directory somewhere, make sure that no daemon is going to clean
63up after it (like systemd-tmpfiles in /run/user/...) and run kio-fuse -d $dir.
64The "-d" means that it shows debug output and does not daemonize - that makes it
65easier to use it at first.
66
67In your session bus you'll find a org.kde.KIOFuse service with an interface that
68allows one to communicate with the kio-fuse process.
69
70Let's assume you want to make the files at
71ftp://user:password@server/directory accessible in your local file system.
72To send the corresponding mount command, type the following in the command line:
73dbus-send --session --print-reply --type=method_call \
74 --dest=org.kde.KIOFuse \
75 /org/kde/KIOFuse \
76 org.kde.KIOFuse.VFS.mountUrl string:ftp://user:password@server/directory
77
78If it failed, kio-fuse will reply with an appropriate error message. If it
79succeeded, you will get the location that the URL is mounted on as a reply. In
80this case it would be $dir/ftp/user@server/directory and the directory will be
81accessibly at that URL.
82
83After your work is done, simply run "fusermount3 -u $dir" to unmount the URL and
84exit kio-fuse.
85
86Have a lot of fun!
87