Arch Linux

October 8th, 2012

Over the years I have used almost every significant Linux distribution available: either in work or at home.

  • Yggdrasil Linux/GNU/Xl
  • Slackware
  • Caldera Linux
  • Red Hat/Fedora and clones like CentOS
  • SuSE and openSuSE
  • Debian and Unbuntu and spinoffs like Linux Mint
  • Arch Linux
Check out DistroWatch for information on many of these and lots more distributions. More than that, at times work has taken me onto just a few of the different flavours of Unix:
  • SunOS, Solaris, OpenSolaris
  • AIX and its friends
  • BSD flavours
  • Xenix and later Sco Unix

Eventually - possibly somewhere in the very late 90's or just into the new millennium - I was able to close down my last remaining Windows system and say goodbye to Microsoft products forever - at least as far as my own home systems were concerned. I certainly do not miss the regular 6-monthly system rebuilds or the frantic virus eradication sessions or the progressive performance degradation or the enforced hardware upgrades. Even now, after all these years, I am still impressed by the multi-year uptime stats reported by my Linux systems.

Up until recently, my distro of choice has been openSuSE. Mostly because of my preferred KDE desktop and the Yast administration tool; both made managing the platform very easy. Most of the time, the openSuSE team have created really good migration tools so that moving from one version to another has been relatively painless.

Migration policy has become more important too, not just with the SuSE team but others as well.

  • the cost of maintaining version repositories has meant that most versions have a lifetime of 18 months or less before their repositories are closed
  • the rate of change of application packages and even core packages such as language versions, window managers, support tools, etc means that a particular OS version rapidly becomes outdated either missing features or forcing an upgrade
I found myself being regularly thwarted by missing repositories and therefore unable to upgrade manually to new package versions since required support libraries were missing. As a result, forced to do without new, improved versions.

Then I discovered Arch Linux. I tested it out on my Asus netbook and liked it so much, it has spread now to all my home systems. The key differentiator compared to most, if not all, distributions is the lack of versions: there is only the current active one.

To be sure, it is not a distribution for everyone; it can be difficult to configure compared to the likes of SuSE and package updates can cause temporary breakages. Still, for me the cost of these inconveniences is far exceeded by the knowledge that my systems are generally as current as they can be and most of all I can exercise more control over what is installed compared to any other distro.

Unlike most other systems, I can also engage directly with the distribution; helping to evolve documentation and even contributing packages. Being able to give something back, however small, for the amazing software countless people continue to contribute to Linux is a pretty awesome experience.

Arch Linux rocks!

Running an X-app without an X-server

March 15th, 2011

Hmm, I suppose this sounds like a really daft thing to do - why would you want to run a graphics application on a system without a GUI? Here are a few use cases:

  1. you manage a remote Unix server hosted abroad and of course it is headless and has no use for a Graphics environment
  2. you do have a full-blown Desktop system which has a working Xserver but for some sessions - possibly spawned by a root process - there is no access to the Xserver; you can emulate this with the following sequence entered into an xterm:
    su -
    su - username
    i.e. su to root and then to another user - this final session will have lost access to the Xserver
  3. you need to run a graphic tool designed to be called from the command-line; it still needs a GUI environment because it requires access to GUI elements perhaps to generate a graphics file. Lazy programming? Maybe, but that does not fix your problem

In my particular case I needed to run a command that need a GTK environment to generate a graphic image; the command was launched from a Zope application which in turn had been launched as a root service and ultimately it was designed to be run as a facility on a webserver. So I was hit by all these issues.

Ordinarily it should be possible to address issue 2 with some trickery with xhost and Xauthority but even this seems to be non-trivial. I had already identified Xvfb-server as a long-term solution to the first problem and fortunately those good folks on the Interweb were able to point me at a complete solution which does not even require an X server to be running all the time. Instead a virtual server can be created on the fly and brought down when it is finished with. All achieved by the script


Kudos to darvasan for getting this together and making it easily available. On my SuSE 11.3 system, the script failed to run complaining with

mktemp: too few X's in template `Xauthority'

which was resolved by editing the script as follows:

- AUTHFILE=$(mktemp -p "$XVFB_RUN_TMPDIR" Xauthority) 
+ AUTHFILE=$(mktemp -p "$XVFB_RUN_TMPDIR" Xauthority.XXXXXXXX)

Kudos for that one goes to olesen, an almost anonymous dude on Red Hat Bugzilla.

So having installed the Xvfb server you can now execute the following:

xvfb-run some-daft-gui-script

and provided your script finishes cleanly and doesn't get stuck in a GUI dialogue, you are back at a prompt.


Home Sweet Home (in 3D)

November 30th, 2010

Actually, what prompted me to upgrade my system recently was Sweet Home 3D.

Sweet Home 3D: an interior design application

Screenshot of Sweet Home 3D

This is a Java application suggested on ILUG (pointing to as a tool to help design floor layouts; other CAD-like applications were recommended too but this one seemed to be exactly what I wanted - just draw simple floor layouts with or without furniture. And as an added bonus, it creates 3D walk-throughs for you as well. Cool indeed.

Problem was, although it would startup on SuSE 11.2, it whinged bitterly about some GLX library that did not fully support ATI cards in its 1.2 incarnation. Upgrading my SuSE provided v1.3 of the particular library and right now I am happily making 3D plans or our house, the office and a rather futuristic Work-in-Progress that Kevin McCloud will definitely want to see!

Of course, being Java, it will also work on Macs.

© 2013 Andy Ferguson