KIO Slavery

kioslaves are one of the most powerful, but sadly hidden, features of kde. As has been written many times, the power of kde lies in its frameworks and the integration of those frameworks into every facet of the desktop environment through kdelibs. kioslaves is one of those key frameworks. It provides access to resources such as file systems and network protocols in a consistent way, so that all kde applications can access them. Why is this important? Because it opens up a whole new world of usability that you may not have been aware of.

where do I find kioslaves?

They’re everywhere. You may not even realise that you are using them. They are available in the kde file dialog, krunner (press alt+f2, dolphin and konqueror. Everytime you look at a web page in konqueror, you are using the http:// kioslave. You can see what kioslaves are available on your system under “Protocols” in kinfocenter (to run it, just press alt+f2 and type “kinfocenter” into the run dialog).

how do I use kioslaves?

kioslaves are entered into the address bar of konqueror, a file dialog, or the run dialog. They generally take the format protocol:/[address]. For example if you want to use the tar protocol, you’d type tar:/path/to/tarfile into the address bar. One exception seems to be network based protocols like ftp:// and fish:// which require 2 “//”’s to work.

How Do Kioslaves Behave?

Generally entering a kioslave into an address bar will produce a list of files that are accessed through the protocol. The files can be browsed like any other file listing in konqueror, or the file dialog. You should be able to drag and drop them as you would any other file. This is where the usability of kioslaves lies. It gives you a common interface to a whole bunch of disparate concept. So in dolphin, you can open up a remote ftp server in one tab, and a remote ssh server in another tab, and drag and drop files between them as if they were on your local filesystem. It means that when you’ve finished creating an image in krita, you can save it directly to your remote web server using the ftp:// kioslave from the file dialog. Alternatively, you can use dolphin and the same ftp:// protocol to open a php file off your webserver in kate, edit it, and save it directly back.

so what are they good for?

Looking at the following screenshot, you can see the wide range of kioslaves available:

These are just a few suggestions of what you can do with kioslaves. Given the number of protocols available, the possibilities are endless.

audiocd:/

The audiocd kioslave is one of the most impressive features of kde. It presents you with a directory containing a number of other directories containing the tracks from the cd converted to various formats, including .mp3, .ogg, .flac and .wav. You open the directory containing the format you want, and when you copy the files into a real directory, the files are converted into that format.

help:/

If you put help:/kappname into the addressbar of konqueror, konqueror will show the application’s handbook.

sysinfo:/

The sysinfo kioslave gives you an overview of your … system information. That’s it – very simple.

settings:/

This kioslave will give you a simplified interface to the kcontrol modules. You end up with a konqueror or dolphin window that looks a bit like the control panel in windows.

remote file management

kioslaves give you access to remote filesystems and files that can be used and manipulated as if they are local files. This is great for things like web development. You can manipulate files directly from a remote server. So if you need to resize an image to better fit on a webpage, open the fileopen dialog from krita, point it at the webserver using ftp:// open the image file directly from the server, work on it, and save it. No ftp client needed. The same applies for other protocols; fish:// for ssh, smb:// for samba, nfs:// for nfs, sftp:// for sftp and webdav:// for webdav.

What’s more, you can explore remote systems on your network using the remote:/ kioslave. This kioslave provides a screen with a number of options to explore remote shares using samba or zeroconf. You can also add a network folder using either the webdav, smb, ssh or ftp protocols, which will allow you to connect to the remote host just by clicking on the icon created.