Linked by Matthew T. Atkinson on Tue 22nd Mar 2005 18:25 UTC
General Development Though great advances in Linux Desktop usability have been made in recent years, one rather large area of difficulty still exists, posing some serious issues on the ease-of-use front. There is, however, a little-known solution to these problems...
Order by: Score:

Gnome and KDE aren't Linux-only
by Ian Monroe on Tue 22nd Mar 2005 18:41 UTC

Both Gnome and KDE aren't Linux-only, but support Unix. Relying on a Linux-only kernel service to implement an important part of their DE isn't something that can be done in reality.

I'm not sure, but to do it correctly (having password dialogs come up at the right time, display progress) would seem to be a little difficult. It would be easier to fix the problems you mention.

lufs rocks
by AdamW on Tue 22nd Mar 2005 18:42 UTC

Yes, lufs is fantastic. I was having some irritating problems mounting my media directory from my HTPC on my other machines via nfs and samba last week, and someone suggested I just use lufs instead. Result? urpme samba-server , disable nfs and portmap services, urpmi lufs on the client machines, write one line into fstab and I've got a perfectly transparently 'mounted' filesystem over ssh. Hassle-free remote mounting and a drastic cut in the servers running on my network? I'm all in favour. ;)

FUSE
by - on Tue 22nd Mar 2005 18:42 UTC

Altough it's not the same code base I thin, FUSE (another userspace filesystem alternative) has been included in the -mm tree and will be probably included in future releases of linux!

Very good article.
by Eu on Tue 22nd Mar 2005 18:47 UTC

Thank you for a well-written and reasoned article. We don't get many of those around here.

The problem with LUFS as you stated is portability. KDE and Gnome have refused to adopt it for this reason because Solaris and xBSDs will not be able to use these features.

I find this a little silly. Even though there are some desktop users in the xBSD family, most of the people using BSD, use it as a server.

At least, on the desktop where VFS filesystems are most useful,I think it is time for the KDE and Gnome people to realize that most of their users are on Linux and that holding back the platform in the name of neutrality is actually hurting their respective platforms.

One last thing, KIO slaves have worked beautifully for the past 2 years for me, but I would also like to have a desktop independent solution that was pervasive across the whole Linux stack.

On its way to the kernel...
by jimis on Tue 22nd Mar 2005 18:47 UTC

LUFS is good, FUSE is good too. They are about the same thing and progress is being made by the FUSE developer to include it in the kernel. Check out http://fuse.sourceforge.net/ and the get latest -mm kernel and test! Unfortunately linus is hesitating a bit about this.

Question for AdamW
by Eu on Tue 22nd Mar 2005 18:49 UTC

I am new to LUFS. Could you post your /etc/fstab line to check out the syntax for LUFS?

Thank you.

RE: Gnome and KDE aren't Linux-only
by Chris on Tue 22nd Mar 2005 19:00 UTC

Both Gnome and KDE aren't Linux-only, but support Unix. Relying on a Linux-only kernel service to implement an important part of their DE isn't something that can be done in reality.

Then tell me why HAL is supported in both Gnome and KDE ? HAL only exists on Linux, not on Solaris/xBSD.

There goes your argument :-)

lufs is outdated, use fuse
by Ray on Tue 22nd Mar 2005 19:05 UTC

fuse is a filesystem that is designed to export filesystem functionality to userland tools. lufs is similar but not designed as cleanly. fuse support has continued development today and should prove more useful/functional in the long term. If you must have lufs, look for the lufs module for fuse. fuse supports lufs as well as its own native modules.

http://fuse.sf.net

eu:
by AdamW on Tue 22nd Mar 2005 19:18 UTC

not right now, I'm at my non-MDK job, windows only here! if you google for lufs you get the project home page which has some example fstab lines, that's what I based mine off. If you don't figure it out by the time I get home, I'll try and remember to post mine for ya. sorry!

RE: Gnome and KDE aren't Linux-only
by Shawn on Tue 22nd Mar 2005 19:32 UTC


Then tell me why HAL is supported in both Gnome and KDE ? HAL only exists on Linux, not on Solaris/xBSD.

There goes your argument :-)


I think that's fairly obvious. HAL is a nicety. It's not required for basic expected functionality of the desktop. The underlying OS in many cases already provides this functionality in another form. For example, Solaris 10 automatically handles mounting of CDs, USB keys, and other media perfectly from what I can tell.

But, when you try to do something like this to a VFS layer, which is a fundamental part of the desktop environment, suddenly you've left a lot of users out in the cold.

A few points
by Fredrik on Tue 22nd Mar 2005 19:45 UTC


1. The author doesn't mention FUSE at all. Since it's going to be included in linux LUFS will become rather irrelevant.

2. "The problem is solved too far away from the kernel". This is simply not true. You could move e.g. gnome-vfs to the kernel, it wouldn't change a thing, you still wouldn't be able to use mv,rm,OpenOffice etc with remote filesystems. Similarly, you could implement a POSIX-style API in userspace and make it work with mv,rm and OpenOffice. It's a question of API, not user-level vs kernel-level code.

3. Frameworks like KIO and gnome-vfs handle a lot of things that POSIX-style API:s such as LUFS or FUSE don't. Things like progress bars, key management, password dialogs. They are also much better suited for non-filesystemlike API:s like HTTP for instance. This is the major reason GNOME and KDE developers are not interested in LUFS or FUSE. It's not the first time this suggestion have been made. Yet this article doesn't adress these points at all.

LUFS
by joe on Tue 22nd Mar 2005 19:49 UTC

Um, LUFS is pretty much dead. Some posters already mentioned FUSE, and that's for a good reason as FUSE is actively worked on (I don't have this impression on LUFS).
Pardon me, maybe I'm ignorant, but I don't understand why someone who discovers a pretty old and not very well written project one day (a lot of people in here have been using it two or three years ago) gets an article on osnews. Write about LUFS, instead. Well, right, maybe I should simply start writing an article instead of blaming osnews.

LUFS
by TaterSalad on Tue 22nd Mar 2005 19:51 UTC

Didn't I have to install LUFS to use the captive ntfs drivers? I'm still not sure what userland utilities do, but if I have LUFS can I just mount a Windows partition to read/write or do I need to continue using the captive drivers for that?

kfmexec
by Thorsten on Tue 22nd Mar 2005 19:57 UTC

You can use a kio-slave in every shell command via kfm-exec, e.g

kfm-exec cat fish://root@10.1.1.1/etc/hosts

Bye

Thorsten

using a kernel-userland backend for desktop VFS
by tanstaafl on Tue 22nd Mar 2005 20:18 UTC

Its appreciable that GNOME-VFS and KIO-Slaves do some different things that FUSE/LUFS cannot do, its also true that there are some common tasks. This just cries out for a common backend to unite the technologies.

Does anyone know if the freedesktop people are trying to unite GNOME-VFS and KIO-Slaves into a shared desktop VFS layer? I would then make sense to impliment a backend driver for that layer to use FUSE on Linux systems when its available, and to use the desktop-VFS layer backend for other platforms and things not handled by FUSE.

Translators in the Hurd
by Greg on Tue 22nd Mar 2005 20:21 UTC

File systems in userspace is very similar to the ideas of translators available in the Hurd.

http://www.gnu.org/software/hurd/whatis/translator.html

Here's a list of things which could be made possible by these ideas.

http://hurd.gnufans.org/bin/view/Hurd/TranslatorWishList

Thanks for the feedback!
by matthew on Tue 22nd Mar 2005 20:25 UTC

Thanks, all, for your posts and constructive criticism of the article. Also, cheers for pointing out about FUSE -- I was not aware of it. As has been mentioned, it is in the same vein as LUFS so it's good to know that those ideas are being continued. I discovered LUFS almost a couple of years ago and have been meaning to write to OSNews about it for nearly that long :-). I've been on the lookout for other such projects and things like this getting into the kernel but FUSE seems to have passed me and my LUFS-using friends by. Mostly, I was trying to explain the principles that LUFS stood for and I'm pleased that something like it will probably now get into Linux. Hopefully we'll be able to benefit from it soon.

I thought the points made about the cross-platform (or not) nature of some of the other technologies the DEs depend on was quite good. HAL will be more and more important in the future. It would be nice to see it ported to the other *NIXes (or is that *NIXen? hehe), but using them where we can does seem to make sense at the moment, especially given the competition which is represented by that other, quite easy-to-use, OS...

I've been interested in trying the HURD for some time and probably will do now the LiveCD is out. I look forward to using translators first-hand!

best regards,

Matthew

There is a freedesktop.org project to unify the VFS implementations. But it's not mature or accepted enough by GNOME or KDE teams AFAIK

http://freedesktop.org/wiki/Software_2fdvfs

v9fs
by anonymous on Tue 22nd Mar 2005 20:58 UTC

v9fs - A /Sane/ Answer to the Problems of Desktop Virtual Filesystems. (and much more)

v9fs.sf.net

Unix semantics and asyncron operations
by Bone on Tue 22nd Mar 2005 21:27 UTC

The problem with filesystems is, that you can only access them trough unix file operations. But you cannot wrap asyncron file operations in unix file operations.

To cite Havoc Penning:
"An async/gnome-vfs/http type API can wrap POSIX file APIs, but the reverse isn't true without breaking POSIX semantics in major ways (and keeping you from implementing things you need, like progress bars). The desktop file API can really be extremely simple: get/put user-visible documents/data. For config files and caches and such, using the vfs isn't even right; you want a guaranteed local/fast filesystem or an API like gconf. The way to think about a proper gnome-vfs would be a document load/save API more than as a streams API. This is ignoring things like Storage."

Quake for the blind
by -=StephenB=- on Tue 22nd Mar 2005 21:28 UTC

AGRIP [http://www.agrip.org.uk/] which is an Open Source project that aims to make mainstream games accessible to blind players. Currently Quake has been made accessible.

Dear god. Is it textmode quake translated to brail?

An Important Problem
by David on Tue 22nd Mar 2005 21:30 UTC

I posted something like this to a KDE mailing list, as you've got wonderful technology in io-slaves but you simply cannot open a file across them without it downloading the whole damn file to your hard drive. This creates usability problems for users, as they expect the file they open to be located wherever they opened it.

KIO-FUSE
by Anonymous on Tue 22nd Mar 2005 21:44 UTC

some people ask KDE to use fuse.

yeah. ever heard about KIO-fuse? you can mount any KIO slave as a folder. so every app can use KDE's IO slaves. problem solved?

Re: An Important Problem
by Luke Chatburn on Tue 22nd Mar 2005 21:58 UTC

Ummm.... In order a view a file, the contents do have to be downloaded. Why would you want to have KIO Slaves act in any other manner than they currently do?

In general, almost all programs act upon complete files, not chunks or streams. You could rewrite them, but that is somewhat perverse for a word processor/image editor, etc.

KIO Slaves download, allow editing and implictly re-upload the results (with rw-capable protocols, at least). To do this, I can just do fish://user:passs@myserver in Konqi and middle-click or open/edit as I need to, or I can just have that in the file selector. When I click 'Save' toolbar icons or menu items, the file is resaved to the SSH server through SCP automatically. As a user, I don't need to know about any of that. That's network transparency as it is meant to be.

Downloading a complete piece of data prior to editing, for media that need it is essential, as semi-streaming everything produces massive problems with network disconnects, coherency and versioning. You'd *really* not want to do it.

Re: Re: An Important Problem
by David on Tue 22nd Mar 2005 22:25 UTC

In order a view a file, the contents do have to be downloaded.

Nope, the whole of a file should not need to be downloaded to work on it. It is over a network after all.

Why would you want to have KIO Slaves act in any other manner than they currently do?

Errrrrrrr, so I don't have every MP3 downloaded to my local machine when I play it, or I don't have a several hundred meg video file downloaded needlessly? Just a thought ;) .

Downloading a complete piece of data prior to editing, for media that need it is essential, as semi-streaming everything produces massive problems with network disconnects, coherency and versioning.

We are actually in the 21st century you know? The vast majority of networks, wireless as well, have handled this fine for a very long time.

You'd *really* not want to do it.

Works fine on a Windows Network. Don't see why it shouldn't elsewhere.

@tanstaafl
by Rayiner Hashem on Tue 22nd Mar 2005 22:29 UTC

Does anyone know if the freedesktop people are trying to unite GNOME-VFS and KIO-Slaves into a shared desktop VFS layer?

There is a proposal on the Freedesktop.org wiki to build a common VFS (ala KIO) on top of D-BUS: http://www.freedesktop.org/wiki/Software_2fdvfs
It's not a unification of KIO and GNOME-VFS, but rather a reimplementation of both.

Text editing my ass
by Jake rich on Wed 23rd Mar 2005 00:14 UTC

The last time i tried it, you can not open/edit/save
text files with Lufs. Your files
will get corrupt!

@David
by leo on Wed 23rd Mar 2005 00:33 UTC

Works fine on a Windows Network. Don't see why it shouldn't elsewhere.

It works on windows shares. Windows has extremely poor support for non-local files otherwise. KDE (and perhaps Gnome, I don't really know) has far superior VFS support than any other environment.

I think the problem with it downloading the entire file is limited to the smb:/ io-slave in KDE. You can play a video over http:/ just fine. It's just over a windows share it downloads it first. No idea why though. I wish they would fix that. Time to check bugs.kde.org.

HAL
by leo on Wed 23rd Mar 2005 00:39 UTC

HAL support is not neccesary for KDE. I think the media:/ ioslave will function just fine without it.

HAL in its current state is highly overrated anyway. I don't see why I should run some daemon 24/7 sucking up system resources just so I can save 3 minutes every 6 months when I plug in some new hardware.

Re: Unix semantics and asyncron operations
by Anonymous on Wed 23rd Mar 2005 09:29 UTC

The problem with filesystems is, that you can only access them trough unix file operations. But you cannot wrap asyncron file operations in unix file operations.

I'm not sure why that is supposed to be so, Posix does support non-blocking file operations after all.

But in any case, if there are problems, surely the solution should be to extend Posix (and its implementation in the kernel and glibc), so that virtual file systems become transparently and consistently available to every program, including the command line.

KIOSlaves and Gnome_vfs were great to get things moving in the right direction, but they really need to be replaced at a lower level.

another KIOSlaves inconsistency
by Anonymous on Wed 23rd Mar 2005 10:02 UTC

In Konqueror, When clicking on a zipped file on a local drive, it is opened right there using the zip kioslave, which I find very useful.

However, when clicking on a zipped file on a remote drive, e.g. sftp or smb, it is opened using "ark", which isn't half as good as the kioslave.

That's confusing and inconsistent.

The problem is that kioslaves can't be nested. When clicking on a local zip file, the resulting URL is something like:

zip:/dir/file.zip

This means that the 'zip' slave directly accesses local files, which duplicates functionality of the 'file' slave and stops it from working on remote files (unless they're mounted locally of course).

Really, kioslaves like zip should be wrappers around other slaves, thus allowing for remote access, e.g.:

zip:(file:/dir/file.zip)
zip:(sftp://user@server/file.zip)

The parentheses would be necessary to disambiguate directories when browsing into archives, e.g.:

zip:(sftp://user@server/file.zip)/dir

Nested archives would be possible too, e.g.:

zip:(zip:(file:/dir/file.zip)/foo.zip)

Do LUFS or FUSE support that kind of thing? Are there any plans for KDE 4.0 to include nested ioslaves?





RE: another KIOSlaves inconsistency
by Anonymous on Wed 23rd Mar 2005 11:54 UTC

I recall vaguely something like this mentioned on the dot, but I don't know for sure. but I think you are right, there should be more flexibility here. some applications don't support it correctly, too (can open remote files from the filemanager, but not save them - while it works with the file-open dialogue) - I filed some bug reports, as its very easy to fix (they just have to change 1 or 2 characters in the application's .desktop file).

check bugs.kde.org, and/or file a wish, as this sounds very cool.

Re: LUFS
by Lord-Storm on Wed 23rd Mar 2005 13:28 UTC

"Pardon me, maybe I'm ignorant, but I don't understand why someone who discovers a pretty old and not very well written project one day (a lot of people in here have been using it two or three years ago) gets an article on osnews. Write about LUFS, instead. Well, right, maybe I should simply start writing an article instead of blaming osnews."

But remember google is so large...
I personaly have found lots of old projects (dead) but full of information.

We would all enjoy more articles joe (IP: ---.stusta.mhn.de)

Re: Good Idea
by smoke on Wed 23rd Mar 2005 13:54 UTC

The problem with LUFS as you stated is portability. KDE and Gnome have refused to adopt it for this reason because Solaris and xBSDs will not be able to use these features.

what people use gnome/kde on solaris/bsd ? all these people run blackbox or enlightnement any way and prefer screen sessions to a desktop environment. i hardly doubt people there use nautilus at all.

random havoc pennignton cluelessness:
by smoke on Wed 23rd Mar 2005 13:56 UTC

"you want a guaranteed local/fast filesystem or an API like gconf"

RE: Good Idea
by phoenix on Wed 23rd Mar 2005 19:37 UTC

The problem with LUFS as you stated is portability. KDE and Gnome have refused to adopt it for this reason because Solaris and xBSDs will not be able to use these features.

what people use gnome/kde on solaris/bsd ? all these people run blackbox or enlightnement any way and prefer screen sessions to a desktop environment. i hardly doubt people there use nautilus at all.


Just because you don't use KDE/GNOME on Solaris or BSD doesn't mean there aren't a lot of us out there. There are. Considering how often the KDE/GNOME ports are updated on FreeBSD, I'd say there are a large number of us. Sure, maybe there are more KDE/GNOME users running on some version of an OS using some version of the Linux kernel. But that's no reason to alienate an entire section of your userbase.

KDE and GNOME are cross-platform and portable by design. Let's keep it that way. Create the VFS layer and make it portable. Underneath the VFS, let it use whichever technologies are available on that OS (LUFS, FUSE, SSH, NFS, RSH, whatever). Make the user-visible layers work the same, and make use of the best techonologies available in the OS on the backend.

kernel VFS versus desktop VFS
by sadyc on Thu 24th Mar 2005 14:11 UTC

For the record.
The article speaks of VFS as the Desktop VFS. However right at the heart of the linux kernel there is a subsystem called VFS.
Those are two different things implemented at two oppsite levels. Distinction should be clearly made between them, even they somehow provide same functionality.
It is unfortunate that there is a second VFS at the desktop level.

--sadyc

The 'delete file from FTP server' example is funny.
by renox on Sun 27th Mar 2005 11:41 UTC

If the browser would do what he suggest, when the user removes a files from a FTP server, the browser would *download* the file into the wastebasket to be 'coherent' with local file deletion..
How nice! Users will love downloading files that they want to remove.. I think not!!
Actually this means that the browser cannot let a VFS layer handles totally the files: it must handle differently 'local files' and remotes files.
That said, a desktop agnostic VFS is a good idea of course.