KIO - the killer app for KDE

I am a KDE user, if you haven't already guessed and today I thought I would share what really sells KDE for me and makes me use KDE as my desktop environment. First of all, I have no problem with GNOME, I think it is also an excellent desktop environment and has many good features, but with what I use my Linux box for, I think I would go mad without a similar feature to what I'm going to cover today.The killer feature that keeps me with KDE is a technology called KIO.

But simply, KIO is the architecture for doing input and output in (almost) all KDE applications. If a KDE app wants to grab a file from your hard drive or a website, it will use KIO to get that information.

KIO isn't just limited to getting local files either and this is where it really can start to get cool. There are individual programs called KIO slaves which plug into KIO and allow KIO, and subsequently all KDE applications, to use a particular way of getting information.

For example, there is a slave for SFTP transfer, one for FTP, another for Windows file, sharing (SMB) and so on. What this means in a practical sense is that all KDE applications can access information from all these file systems transparently, as if it was a local file.

A great example of this in practice is when I do web development in my favourite IDE, Quanta. I don't have to download files, change them and upload them again, I simply point the open file dialogue at my SFTP server and I can load the files directly off the server. When I've made a change to a file, I hit save. The middle man is cut out and instead of going to a local file for me to upload, it gets saved directly onto the server.

I can then enjoy the benefits of running a local IDE with the convenience of working directly on a server.

This KIO functionality works across almost every single KDE application out there and if you work with remote systems a lot, this feature can save you time, effort and sanity in downloading and uploading files.

Avatar for peter Peter Upfold -

Peter Upfold is a technology enthusiast from the UK. Peter’s interest in Linux stems back to 2003, when curiosity got the better of him and he began using SUSE 9.0. Now he runs Linux Mint 9 on the desktop, runs a CentOS-based web server from home for his personal website and dabbles in all sorts of technology things across the Windows, Mac and open source worlds.

Home » Articles »

Discussion: KIO - the killer app for KDE

  1. Jim Davis (guest)

    # Posted on 16 June 2007 at 05:34 AM

    I love it, thanks for the heads up. I had previously been using krusader to shuffle files after editing to my dev server.

  2. Jacob (guest)

    # Posted on 16 June 2007 at 08:03 AM

    You know GNOME has an equivalent to this called GNOME-VFS.

    In fact, if you replaced every instance of: - KDE -> GNOME - KIO -> G-VFS - Quanta -> Bluefish then this article would still be entirely accurate.

    Hehe ;)

  3. Vash (guest)

    # Posted on 16 June 2007 at 06:27 PM

    Wow thanks, this is REALLY going to help me out. I'm on SuSe and always have to upload new files. Thanks for the info :D

  4. Matt (guest)

    # Posted on 16 June 2007 at 07:31 PM


    There is no intent to start a flamewar by this.

    GNOME-VFS is, in my opinion, very immature and unstable framework. KIO has been incredibly useful years before GNOME-VFS. GNOME supposedly had SSH-VFS since 2003 or 2004. Only in 2006 did it actually become usable. I'm trying to remember now, but I think that I had been able to do SSH transfer in KIO back in 2001 or 2002. Hard to say. :-/

    The sad thing is that the Gtk+ GUIs wrapped around GNOME-VFS are not always GNOME-VFS aware. KDE's class inheritance model seems to have handled these issues very cleanly.

    GNOME might look nice, but parts of its core are pretty rotten in places.



  5. Jacob (guest)

    # Posted on 16 June 2007 at 07:43 PM

    Matt - I know GNOME has not had too great of SSH support in the past, but is that important now? It works pretty nicely right now IMO, GNOME 2.18 in particular. This version of GNOME has gotten a lot better at handling I/O for networks.

    GTK+ GUI's only use GNOME if you tell them to in the core. You are not forced to use G-VFS if you don't want to. If you use GNOME dependencies in your project or application, then yes, you do get access to G-VFS.

    It works now, and really - isn't that all that matters? :)

  6. Jack (guest)

    # Posted on 16 June 2007 at 08:07 PM

    "It works now, and really - isn’t that all that matters? :)"

    Um, no. Struggling to get it working for years is evidence of bad design, and that isn't overcome just because it's working now. If it continues to work for years, then the bad design has been braced well enough by other code that it can do the job, and at that point your argument becomes valid.

  7. Ed Heil (guest)

    # Posted on 16 June 2007 at 08:16 PM

    Now that we can create filesystems in userspace with things like FUSE, potentially any application which can read or write files has these magical powers. Desktop schmesktop.

    Who needs kioslaves or GNOME vfs's when you can write a virtual filesystem in Python in half an hour?

  8. Jacob (guest)

    # Posted on 16 June 2007 at 08:29 PM

    Heh heh. I started a flamewar. Kinda reminds me of the Automatix posting I did here a month back. :-P

  9. # Posted on 16 June 2007 at 08:32 PM

    [...] can access information from remote file systems transparently, as if it was a local more | digg [...]

  10. # Posted on 16 June 2007 at 09:13 PM

    [...] Dig from:Here [...]

  11. remser (guest)

    # Posted on 17 June 2007 at 05:49 AM

    Speaking of gnome vfs vs kio, kan i use vfs url's in all gnome applications like i can use kio url's in every kde application?

    E.g. browse with gimp on a ftp server/ssh server and open/save image files?

    AFAIK it can't, so it is not comparable with the power of kio.

  12. James (guest)

    # Posted on 17 June 2007 at 06:14 AM

    Forgive a non-GUI user's ignorance, but does the native KDE terminal program support KIO? For example could I use one of those targets with, say, copy to accomplish something equivalent to scp without using the scp command? I am thinking of something like:

    % cp myfile ssh://remotehost/targetdir

  13. Andre (guest)

    # Posted on 17 June 2007 at 06:57 AM

    James, no, it doesn't work that way, but you could always use scp myfile

  14. Narishma (guest)

    # Posted on 17 June 2007 at 07:27 AM

    Actually you can. $ kioclient cp myfile sftp://whatever

  15. Wedge (guest)

    # Posted on 17 June 2007 at 10:37 AM

    I'm a KDE user for years, and love just the way it operates. I'm not software developer yet, but eventually i may start, and the books I have are for Qt/KDE, which is what I enjoy using. And I agree, KIO slaves are fantastic. I've been using gnome on laptop at work, and have just been feeling something is missing, and its all the features of kde i love, especially the kio slaves. I'm a big fan of fish:// =) Gnome is pretty, and has a ton of great features, but the way its laid out, just it feels almost to me that its a bunch of mismatched programs floating around that make it work. Where as KDE has a sense of unity, everything to control it is contained and thought out. shrug I look forward to how KDE4 pans out. Just my opinion.

  16. Luigi (guest)

    # Posted on 17 June 2007 at 10:46 AM

    Quanta -> Gedit

  17. Marsolin (guest)

    # Posted on 17 June 2007 at 10:47 AM

    I completely agree. KIO makes working in KDE very easy and it's one of my favorite features.


  18. Security conscious (guest)

    # Posted on 17 June 2007 at 11:19 AM

    Is there any security here, or can any kde app do anything to any other kde app? If so, that reminds me of X Windows.

    IOW, with normal files, I can use apparmor, which uses accessc control lists for every file opening. Is there a similar tool for kio?

  19. Iwan (guest)

    # Posted on 17 June 2007 at 11:26 AM

    From an architectural standpoint it seems to me that the type of consistent view of disparate file access protocols that KIO and G-VFS provide should be a provided by the underlying operating system, not the desktop environment.

  20. Aidan McQuay (guest)

    # Posted on 17 June 2007 at 01:48 PM

    On windows WinSCP can provide similar functionality of you work directly on servers.

  21. Martin (guest)

    # Posted on 17 June 2007 at 02:58 PM

    Iwan: The problem is that KDE is offered for many different operating systems. With a gnu/linux system you can easily mount networked folders into the local file system, but that isn't possible on all the platforms KDE is being developed for.

  22. Cyrus Jones (guest)

    # Posted on 18 June 2007 at 01:45 PM

    I use Ubuntu now (previously used KDE, now use Gnome) and now I understand what kio-server (or something like that) is. It shows up whenever I open kTorrent in Gnome.

  23. Michael (guest)

    # Posted on 10 October 2007 at 05:14 AM

    What would be nice (perhaps it is possible) would be to be able to use kio from the command line without X11 running. Something like:

    cp file.txt smb://someserver/somedir

    Obviously I can live with the fact that cp would have to be rewritten for this to work :) I think that this is possible with gnomevfs. And of course, it would be nice to share an architecture between KDE and Gnome. Generally, I find that KIO semantics are much cleaner for many things than mounting - mounting anything other than a fixed disk always seems a bit of a hack to me.

  24. # Posted on 02 November 2007 at 09:54 AM

    [...] read more | digg story [...]

  25. troll (guest)

    # Posted on 25 June 2008 at 01:31 PM

    the problem with kde is:

    it sucks

    (type "killall kwrapper" in konsole, wow, kde has an amazing inheritance model)

  26. Basewerma (guest)

    # Posted on 11 August 2009 at 03:26 AM

    exercise machines for breast enhancement is it against the law to shoot a cardinal in nc

Home » Articles » KIO - the killer app for KDE