GTK-based applications #1: Terminal emulators (2/3)

Here’s the second part of the GTK terminal emulators test. It’s N – Z today. Again we have 9 terminal emulators to take a look at.

The candidates

Here are the candidates:

(Again: Since there’s a lot of them out there, I may well have missed some interesting ones. Feel free to tell me in this case!)

Not tested

Last time I forgot to mention 3 more terminal emulators which don’t run on my test system:

(If you happen to get any of these to work on Arch and care to tell me, I’d be happy for any comments.)

Testing system

The testing system was the same that I described in my previous post.

QuTerm

QuTerm is a Quake-style terminal emulator which uses GTK2.

LXDE with QuTerm

Installation

pacman -U quterm-0.1-1-i686.pkg.tar.xz (4868 / 5 KB)

Statistics

Memory usage after starting up LXDE and opening QuTerm via the menu (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE QuTerm 0.1
MemTotal: 3625888 kb
MemFree: 3514496 kb
Buffers: 10508 kb
Cached: 61876 kb
Rootfs: 830984 / 812 MB
RAM used at startup: 111392 / ~109 MB
Disk space (less LXDE system): 13504 / ~13 MB

ROXTerm

ROXTerm is a terminal emulator which uses GTK3.

LXDE with ROXTerm

Installation

pacman -S roxterm (230084 / 230 KB + 13 dependencies: 14899200 / 14,9 MB)

Statistics

Memory usage after starting up LXDE and opening ROXTerm via the menu (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE ROXTerm 2.7.2
MemTotal: 3625888 kb
MemFree: 3506020 kb
Buffers: 10552 kb
Cached: 68612 kb
Rootfs: 933296 / 912 MB
RAM used at startup: 119868 / ~117 MB
Disk space (less LXDE system): 115816 / ~113 MB

Sakura

Sakura is a terminal emulator which uses GTK3.

LXDE with Sakura

Installation

pacman -S sakura (40416 / 40 KB + 12 deps: 14899200 / 14,9 MB)

Statistics

Memory usage after starting up LXDE and opening Sakura via the menu (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE Sakura 3.0.4
MemTotal: 3625888 kb
MemFree: 3508796 kb
Buffers: 10204 kb
Cached: 68288 kb
Rootfs: 929500 / 908 MB
RAM used at startup: 117092 / ~114 MB
Disk space (less LXDE system): 112020 / ~109 MB

Stjerm

Stjerm is a Quake-style terminal emulator which uses GTK2.

LXDE with Stjerm

Installation

pacman -U stjerm-git-0.16_19_g4038b07-1-i686.pkg.tar.xz (19564 / 20 KB)

Statistics

Memory usage after starting up LXDE and opening Stjerm via run (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE Stjerm 0.16_19
MemTotal: 3625888 kb
MemFree: 3515092 kb
Buffers: 10552 kb
Cached: 61552 kb
Rootfs: 829620 / 811 MB
RAM used at startup: 110796 / ~108 MB
Disk space (less LXDE system): 12140 / ~12 MB

Termite

Termite is a terminal emulator which uses GTK3.

LXDE with Termite

Installation

pacman -U vte3-select-text-0.34.6-1-i686.pkg.tar.xz (356904 / 357 KB 12 dep: 14899200 / 14,9 MB)
pacman -U termite-6-1-i686.pkg.tar.xz (19520 / 20 KB)

Statistics

Memory usage after starting up LXDE and opening Termite via the menu (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE Termite 6
MemTotal: 3625888 kb
MemFree: 3510272 kb
Buffers: 10220 kb
Cached: 67108 kb
Rootfs: 931076 / 910 MB
RAM used at startup: 115616 / ~113 MB
Disk space (less LXDE system): 113596 / ~111 MB

Tilda

Tilda is Quake-style a terminal emulator which uses GTK2.

LXDE with Tilda

Installation

pacman -U tilda-git-20130625-2-i686.pkg.tar.xz (64824 / 65 KB + 2 deps: 133120 / 133 KB)

Statistics

Memory usage after starting up LXDE and opening Tilda via the menu (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE Tilda git-20130625
MemTotal: 3625888 kb
MemFree: 3516252 kb
Buffers: 9800 kb
Cached: 62824 kb
Rootfs: 830976 / 812 MB
RAM used at startup: 109636 / ~107 MB
Disk space (less LXDE system): 13496 / ~13 MB

Tinyterm

Tinyterm is a terminal emulator which uses GTK2.

LXDE with Tinyterm

Installation

pacman -U tinyterm-svn-20100223-1-i686.pkg.tar.xz (4180 / 4 KB)

Statistics

Memory usage after starting up LXDE and opening Tinyterm via run (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE Tinyterm svn-20100223
MemTotal: 3625888 kb
MemFree: 3514148 kb
Buffers: 10520 kb
Cached: 62804 kb
Rootfs: 829576 / 811 MB
RAM used at startup: 111740 / ~109 MB
Disk space (less LXDE system): 12096 / ~12 MB

vTerminal

vTerminal is a terminal emulator which uses GTK2.

LXDE with vTerminal

Installation

pacman -U vterminal-13-3-i686.pkg.tar.xz (11988 / 12 KB + 2 deps: 40960 / 41 KB)

Statistics

Memory usage after starting up LXDE and opening vTerminal via run (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE vTerminal 13
MemTotal: 3625888 kb
MemFree: 3510000 kb
Buffers: 12940 kb
Cached: 62480 kb
Rootfs: 831176 / 812 MB
RAM used at startup: 115888 / ~113 MB
Disk space (less LXDE system): 13696 / ~13 MB

Xfce4-Terminal

Xfce4-Terminal is a terminal emulator which uses GTK2.

LXDE with Xfce4-Terminal

Installation

pacman -S xfce4-terminal (300188 / 300 KB + 4 deps: 399360 / 399 KB)

Statistics

Memory usage after starting up LXDE and opening Xfce4-Terminal via the menu (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE Xfce4-Term 0.6.2
MemTotal: 3625888 kb
MemFree: 3505716 kb
Buffers: 11160 kb
Cached: 63488 kb
Rootfs: 835304 / 816 MB
RAM used at startup: 120172 / ~117 MB
Disk space (less LXDE system): 17824 / ~17 MB

What’s next?

The next post will be a summary of the GTK terminal tests and provide a table for easy comparison.

[Update (08/10): Corrected Termite’s disk usage values – copied the wrong ones before.]

Advertisements

GTK-based applications #1: Terminal emulators (1/3)

Today we’re in for taking a look at the various terminal emulators out there which are based on GTK+. This first part deals with the ones which start with A to M.

The candidates

Here’s the list of available GTK+ terminals I got working on Arch:

(Since there’s a lot of them out there, I may well have missed some interesting ones. Feel free to tell me in this case!)

Not tested

Here’s the list of GTK-based terminal emulators which I didn’t test because they didn’t work (since there are so many available I didn’t have much time to mess with these here):

(If you happen to get any of these to work on Arch and care to tell me, I’d be happy for any comments.)

Testing system

For the coming tests I set up a new, clean Arch VM (25.06.2013). The basic system looks like this (after cleaning pacman cache):

Arch Linux “base”
MemTotal: 3625888 kb
MemFree: 3586228 kb
Buffers: 5404 kb
Cached: 18556 kb
Rootfs: 488660 / 478 MB
RAM used at startup: 39660 / ~39 MB

Then I installed a typical LXDE:

pacman -S xorg-server xorg-xinit xf86-video-vesa lxde (132 packages; size: 59914 Bytes / 59 MB)

Memory usage right after starting up LXDE (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux + LXDE (0.5.5)
MemTotal: 3625888 kb
MemFree: 3522368 kb
Buffers: 9740 kb
Cached: 58860 kb
Rootfs: 817480 / 799 MB
RAM used at startup: 103520 / ~101 MB
Disk space (less basic system): 328820 / ~321 MB

Dwt

DWT is a terminal emulator which uses GTK3.

LXDE with dwt

Installation

pacman -U dwt-0.3-1-i686.pkg.tar.xz (7272 / 7 KB + 19 dependencies: 1689000 KB / 17 MB)

Statistics

Memory usage after starting up LXDE and opening Dwt via the menu (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE dwt 0.3
MemTotal: 3625888 kb
MemFree: 3502520 kb
Buffers: 11648 kb
Cached: 67740 kb
Rootfs: 958252 / 936 MB
RAM used at startup: 123368 / ~120 MB
Disk space (less LXDE system): 140772 / ~137 MB

Evilvte

Evilvte is a terminal emulator which uses GTK3.

LXDE with Evilvte

Installation

pacman -U evilvte-0.5.1-1-i686.pkg.tar.xz (28244 / 28 KB + 13 deps: 14899200 / 15 M)

Statistics

Memory usage after starting up LXDE and opening Evilvte via the menu (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE Evilvte 0.5.1
MemTotal: 3625888 kb
MemFree: 3508236 kb
Buffers: 10292 kb
Cached: 68140 kb
Rootfs: 923508 / 902 MB
RAM used at startup: 117652 / ~115 MB
Disk space (less LXDE system): 106028 / ~104 MB

Ftjerm

Ftjerm is a terminal emulator which uses GTK2.

LXDE with Ftjerm

Installation

pacman -U ftjerm-0.12.3-1-i686.pkg.tar.xz (24968 / 25 KB)

Statistics

Memory usage after starting up LXDE and opening Ftjerm via run from the menu (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE Ftjerm 0.12.3
MemTotal: 3625888 kb
MemFree: 3514480 kb
Buffers: 10556 kb
Cached: 62180 kb
Rootfs: 822280 / 804 MB
RAM used at startup: 111408 / ~109 MB
Disk space (less LXDE system): 4800 / ~4.6 MB

Gnome-terminal

The gnome-terminal is a terminal emulator which uses GTK3.

LXDE with Gnome-terminal

Installation

pacman -S gnome-terminal (16056320 / 16 MB)

Statistics

Memory usage after starting up LXDE and opening Gnome-terminal via the menu (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE Gnome-terminal 3.8.3
MemTotal: 3625888 kb
MemFree: 3501640 kb
Buffers: 12000 kb
Cached: 69792 kb
Rootfs: 931004 / 910 MB
RAM used at startup: 124248 / ~121 MB
Disk space (less LXDE system): 113524 / ~111 MB

Lilyterm

Lilyterm is a terminal emulator which uses GTK2.

LXDE with Lilyterm

Installation

pacman -S lilyterm (163840 / 160 KB)

Statistics

Memory usage after starting up LXDE and opening Lilyterm via the menu (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE Lilyterm 0.9.9.2
MemTotal: 3625888 kb
MemFree: 3516284 kb
Buffers: 9748 kb
Cached: 62648 kb
Rootfs: 822928 / 804 MB
RAM used at startup: 109604 / ~107 MB
Disk space (less LXDE system): 5448 / ~5.3 MB

Lwt

Lwt is a terminal emulator which uses GTK2.

LXDE with Lwt

Installation

pacman -S lwt-20130625-1-i686.pkg.tar.xz (4380 / 4 KB)

Statistics

Memory usage after starting up LXDE and opening Lwt via the menu (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE Lwt 20130625
MemTotal: 3625888 kb
MemFree: 3517248 kb
Buffers: 9776 kb
Cached: 62272 kb
Rootfs: 822204 / 803 MB
RAM used at startup: 108640 / ~106 MB
Disk space (less LXDE system): 4724 / ~4.6 MB

Lxterminal

Lxterminal is a terminal emulator which uses GTK2.

LXDE with Lxterminal

Installation

Included with LXDE

Statistics

Memory usage after starting up LXDE and opening Lxterminal via the menu (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE Lxterminal 0.1.11
MemTotal: 3625888 kb
MemFree: 3515556 kb
Buffers: 9728 kb
Cached: 62020 kb
Rootfs: same as LXDE
RAM used at startup: 110332 / ~108 MB

Mlterm

Mlterm is a terminal emulator which uses GTK3.

LXDE with Mlterm

Installation

pacman -U mlterm-3.2.0-1-i686.pkg.tar.xz (622240 / 622 KB + 19 deps: 16404480 / 16 MB)

Statistics

Memory usage after starting up LXDE and opening Mlterm via the menu (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE Mlterm 3.2.0
MemTotal: 3625888 kb
MemFree: 3517600 kb
Buffers: 10120 kb
Cached: 61444 kb
Rootfs: 935600 / 914 MB
RAM used at startup: 108288 / ~106 MB
Disk space (less LXDE system): 118120 / ~115 MB

Mt

Mt is a terminal emulator which uses GTK2.

LXDE with Mt

Installation

pacman -U mt-.1-2-i686.pkg.tar.xz (4260 / 4 KB)

Statistics

Memory usage after starting up LXDE and opening Mt via run from the menu (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux LXDE Mt .1
MemTotal: 3625888 kb
MemFree: 3515324 kb
Buffers: 10504 kb
Cached: 61212 kb
Rootfs: 825676 / 807 MB
RAM used at startup: 110564 / ~108 MB
Disk space (less LXDE system): 8196 / ~8.0 MB

What’s next?

The next post will deal with the rest of the GTK+ terminal emulators which I got running.

Taking a look at ArchBSD

[UPDATE 06/2016: The project has changed its name and is now known as PacBSD. I’ll leave the rest of the post as-is.]

Today’s post will deal with ArchBSD, a rather young project which brings the familiar Arch way to the FreeBSD world.

Edit: Sorry for the delay in making this post public. Just like with the previous post I was having problems with the images. Also had to replace some of them.

Prerequisites and Installation

First go here and download the iso. This post was done with the new iso released in the beginning of this month.

If you’re going to try out ArchBSD in VirtualBox you better enable the IO APIC function first. Otherwise the FreeBSD kernel won’t boot and it’s not even going to give you any error message.

Enableing IO APIC in VirtualBox.

Let’s boot the iso! The new boot loader (GRUB 2) is looking nice. The previous iso still came with another boot loader.

ArchBSD’s boot loader on the live iso: GRUB 2.

It’s a good idea to follow the official install guide. I only have two things to add:

  1. Be sure to replace daX with adaX when referring to the hard disks.
  2. If you’re as lazy as me and use auto-completion even for /mnt, be sure to remove the tailing slash since the command ‘pacstrap /mnt/ base‘ won’t work.

Mind that and you should be ok. I won’t cover more of the installation here; except for those two things the guide is fine and the installation procedure is typical nowadays Arch-style.

Pacstrapin’ the “base” group.

The installation is a bit faster than that of ArchLinux since the base system is (currently) a little smaller. As you can tell from the packages and their download sizes, ArchBSD could more or less be called “FreeBSD with pacman“.

ArchBSD!

After setting it all up and rebooting we’re greeted by the ArchBSD boot screen. It features some very nice ASCII art and has a clean look. This is how things should be. Great work if you ask me!

The ArchBSD boot screen.

The FreeBSD kernel boots a little slower than we’re used to with the Linux-based system. But when the system is up we find a familiar Arch environment where little shows that this is not Linux.

ArchBSD has started.

Working with a distribution following a rolling release model our system is already up to date after installation and doesn’t have to be updated. So what to do next? Let’s see if ArchBSD provides Xorg! Does it? Of course it does. However it does not currently have twm available so we can’t simply get the traditional X11 – but who seriously uses that today?

So far nobody has packaged GNOME or KDE but since this is a nice slim system it’s not like I’d miss them here. Currently I have the choice between Xfce or LXDE if I want a full DE. LXDE is fine for me.

Installing the “lxde” group.

Just having LXDE installed, we really have a fairly light graphical system: Just look at the menu! There’s almost nothing there (which is good since that means we can install whatever we want).

LXDE running on ArchBSD.

Alright. Next we have to populate that bare system a bit, right? One of the most important things today surely is a web browser. ArchBSD currently offers Chromium and Links. Both are nice browsers in their own regard, the first one probably a bit too heavy, the later a bit too minimalistic. I’d like something in between – and that probably makes for a good next step! Let’s install the development group and links so I can get some PKGBUILDs from the ArchLinux site.

Installing “build-devel” and downloading PKGBUILDs.

Now things are getting a little more interesting. Just building the FLTK packages on ArchBSD using the ArchLinux PKGBUILD doesn’t work. The sed utility from the BSD world works differently and packagers for ArchBSD are to translate the lines calling sed. Since I have no experience with BSD sed, I’d have to read how to do it. Fortunately ArchBSD comes with gsed, too, the familiar GNU sed utility. It’s deprecated to use that but since I’m not an official packager and just want to get FLTK running, I guess it will be ok to just use that. After calling gsed and commenting out the lines installing the LICENSE files as a quick and dirty “fix”, FLTK compiles nicely and the packages are built.

Let’s install FLTK and try to build Dillo, a very light-weight FLTK based browser. The default ArchLinux configuration wants OpenSSL which is not (currently) available on ArchBSD. So for this quick look at the system it will suffice to just build Dillo without SSL support. It works perfectly and after the package is built, I can run the application:

Running the freshly built Dillo.

Well, obviously building packages on ArchBSD works well. You can easily run into problems (like with the OpenSSL package), though since the BSD world is quite a bit different from Linux under the hood. In cases like that a bit of deeper knowledge is required.

You have some time on your hands? You like what you’ve just seen? And think you’re cool enough to be part of BSD? Why not give ArchBSD a try then? Head over to their forums sign up there and lend them a hand! They will surely appreciate it.

What’s next?

The next post will be something special. I won’t spoil it here – but it has something to do with my favorite light-weight DE. Guess which one that is!

DDD #3: Advanced Live-CD/DVD creation

In post 19 (Creating an Arch Live-CD) I blogged about building a simple Live-CD on Arch Linux. It was the summary of my first attempts relating to that topic. In the meantime I created another ISO and published it as a first preview of my “Desktop Demo DVD” project in post 21 (The Desktop Demo DVD).

This new entry will describe how my “DDD” was built (and thus how you add things like a graphical login manager and add users to a live medium).

Preparations

First I create a new virtual machine to keep things clean and tidy and then build and install the archiso tool. Next is building AUR packages edelib and ede as well as creating a custom repo for them. (I won’t repeat it in detail here. You can look up both things in post #19 if you wish).

Configuring archiso

Just like in my previous building attempt, it’s necessary to create a new directory and copy over the “releng” dir from archiso. After that the various steps at configuring the iso can be taken.

Packages

The first thing to do is adding the right packages to the file packages.i686. Since we want a graphical environment, it’s a good idea to have xorg-server installed (we’re going to use a graphical login manager this time, so we can do without xorg-xinit).

Since the system is meant to run on about every hardware, X11 needs the proper graphic drivers. You may want to look for all xf86-video-* packages and add them. The only issue with that was that the openchrome and unichrome drivers were conflicting, but later (and older) one has been removed from the “extra” repository recently. Whatever you do, be sure to leave xf86-video-vesa in there – that’s the fallback driver that will work on most machines even if none of the others does (which is pretty rare however). Also it might be a good idea to add xf86-input-evdev just to make sure, you can use e.g. your keyboard in X. Adding virtualbox-guest-modules, too, will let X.org use the appropriate driver if running inside a VirtualBox VM.

Next I added the desktop environments that I wanted to be available. I chose mate (remember to add the additional repos for it and ede!), xfce4, lxde and e-svn as well as libxpm (needed by ede) and the packages edelib and ede. Finally the display manager lxdm is added as well.

Display manager

Thanks to systemd, much of the wiki page about archiso is outdated and no longer of any use. This is the case e.g. when it comes to starting the display manager automatically after booting. It suggests using an inittab and we could actually do so and use a sysVinit compatibility package as well. However it was already announced that this would be dropped in the forseeable future so it’s best to do things the proper way right from the beginning.

LXDM comes with its own service file for usage with systemd. So the default command to configure the system for starting it after booting is systemctl enable lxdm.service. However this will of course not work in our case: First we don’t even have LXDM installed on building system and second – even if we had – enabling it there would not affect the live system. However for that reason there’s a folder called root image where we can make changes that will affect it!

So what does the above command really do? No more actually than creating a softlink! Of course we can do that by hand, too. Let’s change our PWD (present working directory) to /root/archlive/releng/root-image/etc/systemd/system. Now let’s create the proper link, shall we? The command for that is ln -s /usr/lib/systemd/system/lxdm.service display-manager.service.

Next step is creating a new directory (that is normally created when LXDM is installed): mkdir ../../lxdm and then I change into that dir. Afterwards I install lxdm on my build system and copy its configuration file into the new dir: cp /etc/lxdm/lxdm.conf . (if you’ve got LXDM installed on any other system, you can of course also copy it from there). Now it’s time to edit lxdm.conf: I simply add user “arch” to the blacklist (right at the end of the default configuration file). It’s a user automatically created by the install scripts and I have not yet looked into how to prevent its creation. For that reason I decided to just block it there so that it’s not offered by LXDM.

Adding a user

This step is important since we disabled the user “arch” and cannot log in as “root”. The solution suggested for this on the Arch wiki is simply copying over the files passwd, shadow and group (all located in /etc) from a system set up the way we want it. This is actually a fine way and since we’re using virtual machines anyway, it does not hurt to simply clone one, adding the desired user (“desktopdemodvd” in my case) there and copying said files over to root-img/etc on our building VM (using a USB device is probably the most confortable way).

That was the easy part. Many DEs will however not work if there’s no proper /home/$username directory present. We could of course create one in root-image/home, but that would be owned by root on our live system so that’s not quite what we want. Again the wiki is outdated (while I’m at it anyway, I should dedicate some love to it when I’m done here, I guess). We want to do things the systemd way! So how to do it in this case? Let’s write a new service for it (woah)!

Luckily things are easier than it might look first. Ok, I admit that it took me a few attempts before things finally worked right. But you can save yourself some time and simply copy what I did. Change into the dir root-img/etc/systemd/system again. Now create a new service file – I called mine “autostart.service”. The content of my file is like this:

[Unit]
Description=Autostart

[Service]
Type=oneshot
ExecStart=/bin/mkdir /home/desktopdemodvd
ExecStart=/bin/chown desktopdemodvd /home/desktopdemodvd

[Install]
WantedBy=multi-user.target

Note: “ExecStart=/bin/chown desktopdemodvd /home/desktopdemodvd” is one line!

Done configuring

Yes, if I remember correctly, that was all. You should be able to build the iso now.

I don’t know if I did any changes beside these, but this blog entry at least shows two important things: Adding users and using a graphical login manager.

There are of course a lot of things you could customize as well and perhaps I’m going to explore some of these in the future, too. But right now I’m going to wait and see what happens with the “DDD”.

What’s next?

My next post will deal with what should be considered essential graphical applications – and afterwards we’re getting back into the world of toolkits.

DDD #2: The “Desktop Demo DVD”!

In the last entry I discussed the situation of Linux desktop environments in general and how it encourages taking various less-known DEs into account for your system, too. Now it’s time to talk about the first alpha version of the actual DDD!

If you just want to download it, have a look here.

The idea behind the DDD

There are four reasons why I decided to create the “DDD”:

  1. Because I found out that there are many Linux users today who would like to know more about alternative DEs
  2. Because I think the less known DEs deserve some publicity
  3. Not every DE can be installed easily on each distro and thus it can take a lot of time and effort to try them out
  4. Because I’m interested in different DEs and building “DDD” is another informative thing

The version I release today is just a little preview. But before I describe what 0.1 includes right now, I’d like to share my vision of what DDD 1.0 should be.

Vision

  • A perfect Desktop Demo DVD should come with all available desktop environments the Linux world has to offer.
  • If possible it should also showcase some default applications of the particular DE which are not in the menus of the other ones so things don’t get confusing.
    (I think that this can be done with the desktop files or probably by other means.)
  • Localization at least for the most common languages.
    (Better: As much languages supported as possible.)
  • Only list the real DEs in the display manager (and not probably confusing variants with different WMs).
  • A short html tutorial which helps the users to discover the most important features of the various DEs could be very beneficial.
  • Some nice artwork would be great, too.
  • A few other “cosmetics”.

Desktop Demo DVD

This project is to provide an ISO file that can be downloaded and used in either a virtual machine or burned to a disk and then used with real hardware. It is meant to showcase the various DEs that work with Linux and thus give anybody interested the oportunity to quickly take a look at them without all the hassle (i.e. finding out that they even exist, often building them yourself, getting them to run on your distro, etc.).

You can download version 0.1 of it from Bitshare.

If you want to check the integrity of the downloaded file, you can just put this into a new file and use md5sum:

f9d57debb8d83cba46f4dada042133a5 desktop_demo_dvd_0.1.iso

As you would guess when you read the version number, this release is mearly a first attempt. Right now it fits on a CD but that’s going to change. I’ll try to improve DDD if I find time for it and then release a second version.

Currently it provides a graphical login (using lxdm) and comes with as much as 5 DEs:

  • MATE
  • Xfce
  • LXDE
  • Enlightenment 17
  • Equinox DE

Using the DDD

If all goes well you should be greeted by the graphical login manager LXDM after startup. First open the list of available desktop environments (if you don’t change anything, LXDE will be started as default). To do so, click on the list to open it.

Graphical login: First step

Now select which one to start and then click on the user “desktopdemodvd”.

Graphical login: Second step

The password for the primary user desktopdemodvd is simply ddd. Enter it and then press the return key.

Graphical login: Last step

That’s it! The DE you selected from the list should be starting.

Issues with version 0.1

There are a few issues I didn’t find a solution for yet, but I didn’t want to postpone things again for an even longer delay. Probably the worst thing is performance: Even when using the ISO in a virtual machine on a fast PC it takes quite a while until the DEs finish loading. Please be patient. Because of that I can’t recommend burning it and using a disk. Also for some reason loging out of E-17 does not work.

Please report other problems, make suggestions and give feedback of any kind. I’d very much appreciate it!

What’s next?

I can’t promise when (or if!) a new DDD version will be released. The next post will be about the technical side of it and describe how to build an extended Arch live-cd including users other than root and with a graphical login (display manager).

Linux desktop comparison summary – 20 solutions for your desktop!

Our first Linux desktop comparison is over. I took a look at quite some projects during the last weeks. 20 of those (including modes that are behaving differently) proved to be full DEs which should be covered by a broadscale test.

Some others, like UDE for example, had to be skipped. While it does have a very interesting concept, it’s not currently a DE but only offers a window manager (despite the name “Unix Desktop Environment”). In the end 18 DEs were actually tested (I failed to get the other two to run on Arch).

Problems

Comparing DEs over the time of several weeks on a rolling release system might not really wield the best results. I also wanted to add something new to this post so that it’s not just a boring summary for those who have read the past entries. Therefore I decided to add the size of the packages that are downloaded to install the DE, too. After all network traffic can still be an issue for some people. Well, and for some DEs new versions have been released in the meantime and I’d feel stupid to write a new entry by just warming up old stuff.

For these reasons I repeated most of the tests last Monday and Tuesday and use the new values here (which sometimes make a huge difference!). Only CDE uses the old package; I was able to build a current package but did not succeed in making the DE start. Unity2d is now obsolete just like the old GNOME 2 (which I essentially added so that MATE can be compared to it, anyway).

Overall Ranking

I’ll begin with the overall rating here since that’s the most important thing. I’ve compared all DEs in terms of 1. memory consumption (most important for me and thus weighted *3), 2. disk space used (weighted *2) and 3. size of packages to download. So, here’s the result:

Rank DE Version
01 OpenCDE 620
02 Equinox DE 2 2.0
03 CDE 2.2.0a/b
04 LXDE 0.5.x
05 ROX DE 0.41.0
06 Enlightenment 17 svn-75246
07 Razor-Qt 0.4.1
08 Xfce 4.10.0
09 Sugar 0.94.1
10 MATE DE 1.4
11 Cinnamon UI 1.5.7
12 GNOME 3 Classic 3.4.2
13 GNOME 3 Shell 3.4.2
14 Trinity DE 3.5.13
15 Unity 3D 6.4.0
16 KDE Plasma 4.9.0

RAM usage

Here’s the table that compares memory usage of the tested DEs:

<101 MB 101 – 200 MB 201 – 300 MB >300 MB
obsolete not working
Rank DE Version Memory usage
00 Arch Linux 08/2012 37 MB
00 X11, VBoxadds, xterm 08/2012 54 MB
01 OpenCDE 620 57 MB
02 Equinox DE 2 2.0 71 MB
03 CDE 2.2.0a 72 MB
04 ROX DE 0.41.0 72 MB
05 LXDE 0.5.x 83 MB
06 Enlightenment 17 svn-75246 97 MB
07 Xfce 4.10.0 104 MB
08 Razor-Qt 0.4.1 117 MB
09 Sugar 0.94.1 122 MB
10 GNOME 2 2.32 137 MB
11 MATE DE 1.4 139 MB
12 Trinity DE 3.5.13 202 MB
13 GNOME 3 Classic 3.4.2 211 MB
14 Cinnamon UI 1.5.7 224 MB
15 GNOME Shell 3.4.2 253 MB
16 Unity 3D 6.4.0 312 MB
17 KDE Plasma 4.9.0 354 MB
18 Unity 2D 6.0.0 404 MB
xx Ètoilè 0.4.2 ??
xx Mezzo ?? ??

Drive space needed

Here’s the next table:

<301 MB 301 – 600 MB 601 – 1.2 GB >1.2 GB
obsolete not working
Rank DE Version Disk space used
00 Arch Linux 08/2012 561 MB
00 X11, VBoxadds, xterm 08/2012 +68 MB
01 OpenCDE 620 +83 MB
02 Equinox DE 2 2.0 +174 MB
03 CDE 2.2.0b +192 MB
04 Razor-Qt 0.4.1 +226 MB
05 LXDE 0.5.x +325 MB
06 Enlightenment 17 svn-75246 +340 MB
07 ROX DE 0.41.0 +497 MB
08 Xfce 4.10.0 +559 MB
09 Sugar 0.94.1 +604 MB
10 GNOME 2 2.32 +630 MB
11 MATE DE 1.4 +675 MB
12 Cinnamon UI 1.5.7 +947 MB
13 GNOME Shell 3.4.2 +1023 MB
14 GNOME 3 Classic 3.4.2 +1023 MB
15 Unity 3D 6.4.0 +1121 MB
16 KDE Plasma 4.9.0 +1232 MB
17 Trinity DE 3.5.13 +2098 MB
18 Unity 2D 6.0.0 ??
xx Ètoilè 0.4.2 ??
xx Mezzo ?? ??

Download size

And here’s the last one:

<51 MB 51 – 100 MB 101 – 200 MB >200 MB
Rank DE Version size default / max
00 Arch Linux 08/2012 123 MB
00 X11, VBoxadds, xterm 08/2012 +15 MB
01 OpenCDE 620 +19 MB
02 Equinox DE 2 2.0 +38 MB
03 CDE 2.2.0b +49 MB
04 Razor-Qt 0.4.1 +53 MB
04 LXDE 0.5.x +53 MB
05 ROX DE 0.41.0 +75 MB
05 Enlightenment 17 svn-75246 +75 MB
06 Xfce 4.10.0 +82 / 99 MB
07 Sugar 0.94.1 +89 MB
08 MATE DE 1.4 +119 /169 MB
09 Cinnamon UI 1.5.7 +147 / 347 MB
10 Unity 3D 6.4.0 +163 /302 MB
11 GNOME 3 Shell 3.4.2 +167 / 366 MB
11 GNOME 3 Classic 3.4.2 +167 / 366 MB
12 KDE Plasma 4.9.0 +306 / 774 MB
13 Trinity DE 3.5.13 +485 MB

Conclusion

The most light-weight DE tested is OpenCDE, based upon Motif. The second best is Equinox DE using FLTK as its toolkit. The lightest GTK+-based DE is LXDE, ranked No. 5 and the lightest Qt one Razor-Qt which scored rank 7. So these will be the candidates to examine closer in a future testing series.

What’s next?

The next entry will deal with what Eerie’s last two letters stand for.

Linux desktop comparison (pt. 2): Traditional GTK+ DEs

This is part 2 of our desktop testing series. We’ll deal with 4 traditional gtk+-based desktop environments in this entry.

These are:

For test criteria and the basic Arch system, please refer to the first part of this test.

GNOME 3 Classic

GNOME 3 Classic – also called “fallback mode” – is a re-implantation of GNOME 3 resembling the “GNOME 2 way”. It offers the familiar panel instead of the shell. However it is not on an equal footing with the shell but really meant only for those machines which cannot run the later (most likely because of missing 3D acceleration). It’s not working exactly like GNOME 2 as there are a number of (mostly annoying) differences but it may be dropped anyway in the future.

The GNOME 3 Classic desktop

Installation

pacman -S xorg-server xorg-xinit dbus virtualbox-archlinux-additions gnome

Statistics

Memory usage right after starting up GNOME 3 Classic (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux + GNOME 3 Classic (3.4.2)
MemTotal: 1030652 kb
MemFree: 804524 kb
Buffers: 15868 kb
Cached: 94984 kb
Rootfs: 1732056 / 1.7G
RAM used at startup: 226128 / ~221 MB
Disk space (less basic system): 1077768 / 1.1 GB

MATE desktop

The MATE desktop begun its life as a complete fork of the latest version of GNOME 2. Many people doubted (or continue to do so) if the project will last. While it started with one developer renaming all the applications (to avoid incompatibility with GNOME 2 and 3), in the meantime some people have joined the project, additional features have been added and with Linux MINT a big distribution has adopted it as one of its standard DEs. To just name one of the new features: Caja, the file manager (formerly Nautilus), now has an undo option available in the menu (this was actually something that I had been missing since I left the Windows world)!

The MATE desktop

Installation

Additional repo “mate”: http://repo.mate-desktop.org/archlinux/$arch
pacman -S xorg-server xorg-xinit dbus virtualbox-archlinux-additions mate

Statistics

Memory usage right after starting up MATE (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux + MATE (1.4)
MemTotal: 1030652 kb
MemFree: 878688 kb
Buffers: 13536 kb
Cached: 58112 kb
Rootfs: 1348280 / 1.3G
RAM used at startup: 151964 / ~148 MB
Disk space (less basic system): 693992 / 678 MB

Xfce

Xfce started as a light-weight desktop environment but over time it has grown into a full DE. It’s still quite a bit lighter than GNOME/KDE, of course. But if you’re looking for something really light, Xfce may no longer be what you may want to install on your machine. If you however want a good compromise between a rather light-weight DE and great usability, give it a try. In some aspects it’s somewhat like a less bloated GNOME 2 but it’s going its own way in other cases.

The Xfce desktop

Installation

pacman -S xorg-server xorg-xinit dbus virtualbox-archlinux-additions xfce4

Statistics

Memory usage right after starting up Xfce (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux + Xfce (4.10.0)
MemTotal: 1030652 kb
MemFree: 918092 kb
Buffers: 11388 kb
Cached: 49092 kb
Rootfs: 1226416 / 1.2G
RAM used at startup: 112560 / ~110 MB
Disk space (less basic system): 572128 / 559 MB

LXDE

LXDE is currently the most popular light-weight desktop environment available for Linux. It’s designed with low resource usage in mind and build completely modularly. If you just need some of the applications it consists of, you are encouraged to do so. It is in a rather early state, however, and people who are spoiled by a full-grown DE might miss quite some features which LXDE simply does not provide. Yet if you are not looking for something that is primarily appealing visually but just want a working DE with the basic functions – LXDE might well be your desktop environment of choice.

The LXDE desktop

Installation

pacman -S xorg-server xorg-xinit dbus virtualbox-archlinux-additions lxde

Statistics

Memory usage right after starting up Xfce (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux + LXDE (0.5.x)
MemTotal: 1030652 kb
MemFree: 938660 kb
Buffers: 9744 kb
Cached: 41816 kb
Rootfs: 986260 / 963M
RAM used at startup: 91992 / ~90 MB
Disk space (less basic system): 331972 / 324 MB

Conclusion

Well, no surprise: These GTK+ based non-3D-desktops are generally quite a bit lower on system resources. While it shows that GNOME 3 Classic is not optimized in this regard, even the full-grown MATE does rather well in comparison. Xfce is yet a little lighter and LXDE the smallest DE so far.
I’ve dropped the “minimal RAM” thing this time as it is not of much use with these DEs. Each one can run actually with as little 32 MB – with heavy swapping of course. Like one would expect, GNOME 3 Classic is totally useless in this case while LXDE is a lot more responsive (but still far from being useful).

What’s next?

The next entry will cover the QT based desktop environments.