Switching To Arch Linux — Part 2

Arch Linux LogoSo I was ready to give Arch another shot. I had in mind exactly what I wanted for my desktop — mostly lightweight application save for some heavy hitters. LXDE provides a lot of lightweight applications, I was sure I could find some replacement apps for whatever LXDE was missing, and the the heavy hitters could be bolted on with ease.

Of course, almost nothing went according to plan. First up were some the components that made up LXDE.

  • LXDM – Hung unless I switched VTs. Ditched it for SLiM.
  • PCManFM – Crashed LXSession when used to manage the desktop when LXDM wasn’t used as the display manager. No way to configure LXSession to not use PCManFM except to uninstall PCManFM.
  • LXTerminal – Froze my computer. Not an immediate crash, but one of those, “I’ll freeze when you least expect it or need me the most,” freezes. Root cause is XTerminal. Switched to Sakura.
  • LXSession – Non-root user’s window managers would crash if started right away. Had it use a script to introduce a half-second dealay.

All of that took a lot a patience and putzing just to make sure I hadn’t over-looked something. And at the end, I realized I didn’t need LXDE after all. If my main goal was to use Compiz and Emerald, and I wasn’t going to be saving any X session data (does anyone do that any more?) I could just just compiz directly and pick and choose my applications.

That’s not to say LXDE is completely useless. Some good stuff has come from that project. The default apps for it have as few depencies as possible, making them easy drop-ins in any environment.

  • Leafpad — Not by the LXDE team, but they include it. Notepad for Linux. No tabs, tabs, no line numbering, and no syntax highlighting. If you can live without that, this is your program.
  • LXPanel — Default panel for LXDE. Works a lot better in vertical configs than Gnome Panels, but doesn’t enjoy the applet support. Also doesn’t handle transparency correctly though. (Might rely on PCManFM or another desktop manager to handle the wallpaper, which I left up to Compiz.)
  • GPicView — Lightweight image viewer. My only gripe with it is that it uses the scrollwheel to navigate images in a directory and this behavior can’t be changed.
  • ePDFViewer — Not from the LXDE team, but they include it. The only thing missing over evince are the depencies and continuous page scrolling.
  • XArchiver — Not from the LXDE team, but they include it. If you know File Roller, you know XArchiver. Same deal, without all the Gnome depencies.
  • LXTask — Lightwieght task managers. Lacks disk and swap space reporting, but that can be overlooked for the lack of dependencies.
  • LXAppearance — Lightweight GTK2 theme selection. Not as involved as the GTK2 theme configuration utility from Metacity, but it’s better than the current alternatives and lacks depencies.

So, now I pretty much had my own desktop environment, using SLiM, Compiz, and Emerald directy. I kept XArchiver, ePDFViewer, LXTask and LXAppearance from LXDE and set out to find replacements to the rest.

  • gtk-themes — Most programs will look ugly unless you install this since they use GTK but there’s no Gnome installation to provide any themes.
  • ttf-droid — I’ve always “lived with” fonts in Linux, but the Droid fonts actually look fantastic.
  • Sakura — Mentioned previously. Tabbed consoles and background image/transparency support (just not at the same time).
  • Medit — Lightweight text editor with tabs, line numbers, syntax hightlighting, embedded console, and a file list. A little overkill, but the lightest-weight option for a tabbed text editor.
  • Viewnoir — Ligtweight image viewer with configurable mouse wheel/click actions. Great Smart Mode usually ends up with the window being no bigger than needed to show the picture, unlike GPicView.
  • DeaDBeeF — Lightweight music player that actually plays loops correctly (eg, without pause.). There’s LXMusic, but it’s in AUR and doesn’t compile correctly without applyng patches.
  • MPlayer2 — Not really lightweight, but it’s the best option for flexing multi-core and GPU muscle. No GUI interface to speak of, but it runs video perfectly.
  • AWN — Usually thought of as more of a dock than a panel, but it does the job exceedingly well and adds some nice effects.

Now for the fun part. Up until now, I had tried sticking to the official repos only. This was for the sole reason of AUR packages being unpported. Much like Ubuntu’s PPAs, if something goes wrong involving a package from AUR, you can’t really bother the devs about it.

Problem was, I ran out of options for a file browser. Nautilus would look out-of-place since it used GTK3, plus it had Gnome 3 dependencies that I didn’t want litteing my system for the sole purpose of running one program. ROX was too basic. Thunar relied too heavily on XFCE components. PCManFM was actually the closest, but had no video thumbnails and the formatting was a bit off when the directory listing constained at least one really long name.

That really only left me with one choice: Nautilus Elementary, which I had started using in Ubuntu anyway. And while I did handle my initial AUR builds manually to get familiar with the system, I ended up installing packer to help speed up the process and keep up with updates.

From there, I began fillng in the rest of the gaps.

  • packer — Initial instal will have to be manual, but after that you can handle the AUR just as you handle pacman.
  • nautilua-elementary-bzr — File management done right. A bit hefty, but does its job well. Also has support for clutterflow, gloobus previews, and an embedded terminal.
  • umplayer — UMPlayer is probably the best GUI for MPlayer, and I consider a GUI a must since MPlayer really has no auto-zoom capability. Even though UMPlayer uses Qt instead of GTK, Qt can be made to use the GTK engine instead to give UMPlayer a uniform look with the rest of the system.
  • galculator — Lightweight desktop calculator.
  • shutdown-dialog — Since I have no X session manager, there’s nothing to provide an interface to log out, shutdown, and restart. All this does is install a simple script that provides a simple GUI for doing just that. Default config relies on sudo configuration to allow normal users to shutdown, restart, suspend, and hibernate, but I changed it to rely on DBUS messaging instead.
  • elementary-icons — Well, now that we have the AUR in place, here’s an easy way to get a nice-looking icon theme that supports XDG locations.
  • ttf-ubuntu-font-family — Credit where credit is due, the Ubuntu Font Family also looks really nice and may be a bit more readable on smaller screens.

I’ll say, I really wasn’t prepared for the sheer amount of hand-configuring I had to do (each package I listed here usually has a Arch Wiki page devoted to it for this purpose). But I like to look at all the pluses I gained.

  • No arguing with sources.list files and directories.
  • No Evolution mail client (and its endless dependencies) to uninstall.
  • No Desktop 1.0 experience.
  • No arguing with min/max/close button placement.
  • No PPA complexities to deal with.