Installing X.org on Ubuntu

Issues I encountered were:

  • A number of development packages needed to be installed – I didn’t keep track on which ones, but the error messages are pretty trivial.
  • I needed to install two patches that I found on the Gentoo website. Apply “MMX GCC4 compile fix” and “fbmmx-gcc4-compile-fix”, in this order.
  • The install failed, because /usr/X11R6/lib/X11/xkb/symbols/pc was a file and not a directory. I just removed it.
  • Configuration: Now /etc/X11/xorg.conf must be tuned. If you screw it up, it can be regenerated with dexconf. If nothing works, start with replacing the driver i810 with vesa, to get a slow but working GUI.

Sun & SOA

SOA is an ambiguous term – Suns sees it as follows: “we are talking about SOA as it relates to integration and composite applications” – very high level statement, but certainly makes sense and is powerful – if executed correctly.

As far as execution goes, acquiring the company SeeBeyond was a step in that direction, which provided them with a sales force that understands SOA. This is complemented with a suit of tools – Java based, of course. Interesting is that Sun doesn’t want to focus too much on vertical integration – a route that IBM took – quite successfully.

1400×1050 with Intel Mobile 915GM

I started off with a clean Suse 9.2 installation. After various dead ends, this is what I did so far:

  • Reinstall X.org (X11R6.8.2) from the sources. This seems necessary to compile the Intel drivers.
  • Install Intel’s linux driver. Without recompiling X first, this kind of fails, but still seems to do something to the system. After the above reinstallation, the installation succeeds without an error.
  • Run “modprobe intel-agp” before starting X. Obviously, this should be automated, once everything is working.
  • Set 1400×1050 as a legal resolution in the Video Bios using 855resolution. However, this doesn’t seem to work with my Bios.
  • I guess I’ll have to update 855resolution. That doesn’t seem so difficult after all. the trick seems to be to make the video bios writable by talking to the right ports. Fortunately, the Intel 915GM Specification is freely available. Thanks, Intel!
  • It turns out there is a tool that tweaks the 915GM!!! The tools is available on Steve Tomljenovic Geocities site (thank you, Steve!!!), and I got pointed there by Christian Zietz on the XFree86.Org Developers Mailing List (thank you, Christian!!!).
  • The tool 915resolution must run on every start – just put the following in /etc/rc.d/boot.local: “915resolution 5c 1400 1050” (on Suse)

Using procmail with the Courier MTA and virtual mailboxes

It was tricky, as it wasn’t clear on how to tell procmail where to get its configuration and the processed files. First, the Courier Documentation clearly says how to do this with non-virtual mailboxes. In the /etc/courier/courierd configuration file, change the line

 DEFAULTDELIVERY=./Maildir 

to

 DEFAULTDELIVERY="| /usr/bin/preline /usr/bin/procmail" 

But this in itself doesn’t work – because procmail tries to process mail for the virtual mailman account (vmailman). The home directory for vmailmain is /var/mail, so it looks for /var/mail/.procmailrc. But procmail complains because of the permissions on that directory, and I really don’t want to change them anyway. And even if I change them, I won’t be able to distinguish the various virtual users (which each have directories under /var/mail).

In the end things were simple, because courier conveniently calls procmail in the virtual user’s home directory (e.g. /var/mail/user1. procmail takes a configuration file as an argument, so the following line in /etc/courier/courierd does the trick:

 DEFAULTDELIVERY="| /usr/bin/preline /usr/bin/procmail ./.procmailrc" 

I still need a custom .procmailrc file in each virtual user directory (because procmail needs absolute paths), but that’s something I can live with.

KDE or Gnome…?

Why KDE? Because (1) it’s easier to customize, and (2) more like Windows. Let me elaborate:

(1) Maybe I didn’t do things right, but the ability to configure look and feel, font sizes, widget sizes was quite awkward in Gnome. While it is possible to select a specific Theme, it’s quite difficult to fine-tune it without editing configuration files. Well, I don’t mind editing the configuration file for my mail server, because I often access my mail server through a ssh session. But for a system with the only purpuse of giving me graphical access, I’d rather have the ability to fine-tune the system quickly and efficiently within this system. On that account, KDE beats Gnome by far.

(2)Windows… I am not a big fan of Microsoft, and I think they do a bad job on the server side. But they do understand the desktop! There are few things that I miss on Windows (like multiple desktops), and I gut used to their keybindings, and am unwilling to learn something new without a good reason. So I was pleased to see that KDE supported the Windows-Key right out of the box.

Gnome apps under KDE

My biggest struggle was to get Gnome apps look right under KDE. And I am dependent on Gnome (or more acurately, GTK) apps, specifically Firefox, Gimp and Eclipse.

I tried Debian and Suse, and on both distributions the fonts were huge, and the empty space around widgets unproportionally wide, eating up all my real estate. I tried to tinker with the gtk configuration files (.gtkrc and .gtkrc-2.0), but eventually gave up (I’ll tell you why later on).

For a while, I was limping along with workarounds. I used a different Firefox Theme. It didn’t look great, but saved me real estate. I was using the Motif version of Eclipse. Again, it saved me real estate, but it looked horrible

Suse screws up Gnome

When I tried to find some advice online once more, I finally found out why I didn’t go anywhere by editing my .gtkrc files: Suse designed their own hook to make sure Gnome applications would look good under KDE – but they didn’t take users changing the widget set into account, and screwed things up. How to fix it is documented here. Essentially, you have to edit /opt/kde3/bin/startkde to allow the .gtkrc file to be picked up! It looks like an ugly hack to me, but at least it works.

Now I set my .gtkrc and .gtkrc-2.0 files to use the “Simple” theme, and things started to look much, much better! The fonts were still a little too big for my taste, but I could fix that by adding the following entry to my .gtkrc* files: gtk-font-name = "Sans 7".

Now I feel that my Linux System is truly usable on a daily basis, but fixing these things made quite a difference. I hope these notes will be useful for somebody – including myself the next time I set up a Linux box.

Blog Spam

… and plenty of them, too! I just finished weeding out the comment database a second time. There were hundreds of spam-like entries. Fortunately, they came in pairs of 20, so that it was’t too difficult. For me this means that I will have to change the submissions mechanism – either by forbidding posts without login, or by inserting a “human detection mechanism”. Very frustrating.

How to update the Tripwire Policy

I write this down as a note to myself, and to help those poor souls who have the same problem.

The Problem
I successfully installed and ran Tripwire on my system. But the policy file I used needed some tuning. When I tried to update the policy (not the database!), I encountered several error messages as follows:

 ... ### Object name: Conflicting properties for object /etc ### > Modify Time ### > Change Time ### Object name: Conflicting properties for object /usr ### > Modify Time ### > Change Time ... 

… and many more. Note that my database was clean – essentially, I first ran

 tripwire -m c 

To check the system, then I ran

 tripwire -m u -r /path/to/report 

to update the database with the changes, just to be sure, I ran again the check again, to make sure that 0 files were affected, and last I ran

 tripwire -m p /path/to/policy 

To update the policy, and I got those nasty errors shown above.

The Solution
I found two extensive Google Group discussion threads about this topic, but none came to a conclusion (Thread 1, Thread 2). The problem was entirely elsewhere: in the tripwire configuration file (twcfg.txt) I set LOOSEDIRECTORYCHECKING = true, because I just wanted to ignore directories. I assume this is a bug (and I’ll report it to the tripwire team): the database update honors this setting, but the policy update does not. Thus, the policy update sees inconsistencies, but the database update does not. Setting it back to false and running the database update again allowed me to update the policy without a problem.

I hope this information is useful to somebody out there ­čÖé

Gmail account for free

For those who don’t know, the main advantage of Gmail is that you get 1 GB of storage. Just for reference: I kept my email since 1997, and accumulated only 500 MB of data ever since, without throwing anything away (except Spam). So unless you deal with huge attachments on a regular basis, this should last for a while…

Checking out SuSE Linux

Getting the installation started took me maybe two hours, and I encountered hurdles too difficult for a novice to handle, in my opinion. To be fair, I didn’t install using a full set of installation CDs, but I installed with a bootstrap CD directly from the Internet.

So I started booting the machine with the boot CD that I burned from the ISO provided on the SuSE web site. The navigation was rather sparce, but fairly straight forward. The first issue I encountered when I selected Network installation. “No Network driver – load proper module”. Oops – I had to navigate back a few levels to the top level menu, and indeed, there was an option to load kernel modules, and a submenu for network driver modules. There was a list of maybe a hundred drivers – and no autodetect! Luckily, through intelligent guessing, I found the proper module. Fortunately, it didn’t need any configuration parameters (some modules do!).

Back to the Network installation menu. I had to work my way through a number of menus to get connectivity in the first place, and I am sure many novices would have been intimitdated by all those questions. The next challenge was to find a place to download. While the SuSE website provided a list of mirrors, it was not really clear which subdirectory on the server the installer was expecting. Also, it wasn’t asking for a server name, but an IP address. Eventually, I figured all these things out. Nevertheless, two installation attempts were unsuccessful. The first time, the installer simply froze at some point, and the second time, the installer must have failed to grab the list of Software packages available for installation. But the third attempt succeeded, and after leaving the system alone overnight to download all required files, I had a working system the next morning!

From that point on, everything was easy. Configuration didn’t take long, and everything (network, graphics, sound, power management, etc.) seemed to work out of the box on a pretty KDE desktop.

To sum it up, Once properly installed, SuSE seems like a decent distribution. It would be nice to perform an install from CD, just to compare the installers. While I had to do too much configuration myself, I don’t expect this to be required for the CD install – and after the install was complete, everything was properly detected without manual intervention. I may post a followup after having worked a bit with the machine.