Wednesday, January 21, 2009

Gnome file extensions are screwing up my life!

Okay, perhaps a touch of frustration crept into that choice of subject.
When you double click a file in gnome file manager a lot of the time it works. When it doesn't you are in deep trouble. I've visited this problem before:

I never did fix the AIR problem - I had to uninstall AIR completely.
Now, since yesterday, all my inc files refuse to open in SciTE. They say "this claims to be an inc file, but the contents look like PHP. Even though SciTE is your editor of choice for both inc and php files I'm not going to let you open it. Please also check behind the sofa for terrorists."

I suspect it was because I was editing an inc file in jedit a few days ago and manually chose PHP for the syntax highlighting. But if so, how and why is jedit allowed to alter my system configuration??
(I've also noticed that when clicking links within zip files gedit is now associated with txt files; it used to be open office writer. Something weird is going on, but at least this one is an improvement: application associations in zip files are a world of their own, and I've never tracked down any method of configuring them.)

Following my advice in the second of my above blog entries I tried making a php.xml file for *.inc files. But no luck there.

Somebody help! How do I restore this? Or, even better, how do I switch off Gnome's stupid wrong-extension-is-a-security-risk check? In many years of using gnome it has never once complained in a useful way, or detected a genuine problem. Every single time it has just got in the way.

(If you type "gnome-control-center" there is supposed to be an icon in there for file types. It is missing in ubuntu 7! Or perhaps it was only in there in gnome 1 and got removed in gnome 2.)

UPDATE: Problem half-solved. I've installed PC File Manager, and replaced Nautilus everywhere. See the instructions here:
(they say Ubuntu 8 but everything seems to apply to Ubuntu 7 fine.)
I had to go through each text file extension and assign it to /usr/bin/scite (it was defaulting to jedit for most of them, and defaulting to nothing for the troublesome *.inc), but after I did that it is working nicely. File associations appear to be much more transparent than in Nautilus.
However following instructions in 2nd post here: for replacing the desktop didn't go so well. The icons cannot be moved around on the desktop, and launchers were not working. So I undid those changes, and will now try and change my directory launchers on my desktop to use pcmanfm. It seems I'll need to go through and replace each "location launcher" with an application launcher that calls pcmanfm. A bit of a pain, but looks like it will work.

Perhaps I'll investigate kubuntu... Surely KDE cannot be worse than Gnome/Nautilus?


keith.s.wilkinson said...

My feeling is that Ubuntu is an OS desktop end-user's distro. It's intended to hide the geeky stuff.
You might find Fedora a better environment for programming -- but you need to browse Fedora's repositories alphabetically to find the crown jewels. The geeky stuff (e.g. Tripwire, Snort, Gambas and the like) does not appear in any of the program categories. But you probably won't find it in other distros at all, period.
I found that Fedora 10 wouldn't install on one of my machines, but Fedora 9 would. It appears that the Fedora 10 installer could not work out the resolution of my monitor, so gave me a blank screen. However there's a new RPM "preupgrade" to install and run before upgrading (e.g. from 9 to 10) -- it is supposed to check for possible dependency problems before one commits to upgrading.

keith.s.wilkinson said...

When installing Fedora in English, I find it best to install both Gnome and KDE. KDE makes it easy to set up the Japanese IME, but Gnome is maybe easier to use (the reverse may be true of SuSE, for example). RedHat offers free trials for RHEL (server) and RHED (desktop) -- Novell also offers free trials of their server and desktop offerings -- and the free RHEL clone CENTOS has friendly and knowledgeable mailing-list support.