Crunchbang Theme notes

To completely change Crunchbang’s visuals, many tweaks are required. These include

  • Editing ~/.themes/openbox_theme/themerc
  • Editing ~/.themes/gtk_theme/gtk-2.0/gtkrc (unless you change gtk themes altogether
  • Changing/editing icon theme
  • Editing .tint2rc
  • Editing ~/.mozilla/firefox/6ikq0|1s.default/chrome/userChrome.css
  • Create a new Terminator layout, and edit the command to start terminator to “terminator -l “my layout name””. This command needs to be added to both the Openbox menu and the keyboard shortcut in rc.xml.
  • Change some background/foreground colors in Xchat to match.
  • Invert colors in Geany so as to be light text on dark background.

These are just a number of tweaks I applied to achieve the latest look on my main machine. As a note, the separators in the Openbox menu got messed up- were the size of an entire menu entry. Simply deleting them and re-adding them in obmenu fixed it, oddly enough it didn’t affect all separators, only a few on submenus.

For the current theme I used the ACYL icon theme, nice because you can change the color with a simple command-

cd ~/.icons/ACYL_Icon_Theme_0.9.4/ && bash AnyColorYouLike

The icon theme should update automatically. If not a simple login/logout will usually put it to rights, same with GTK themes.

I will add to this page as I continue to tweak #! visuals.

Advertisements

Crunchbang, SLiM, and WM Madness

I’m now running Crunchbang Waldorf on the Acer Aspire One 722, having found that the testing version actually supports the most hardware out-of-the-box of ANY distro I’ve tried yet. Being a Debian fan it’s nice that it’s based on Wheezy as well.

The #! community being prone to using lightweight wms, I decided to try a couple, and am currently playing with dwm. First, however, I had to get SLiM (default login manager) to play nicely with multiple wms.

The simplest way to do this is just to edit /etc/slim.conf, and adding the wm session names to this list:


# Available sessions (first one is the default).
# The current chosen session name is replaced in the login_cmd
# above, so your login command can handle different sessions.
# see the xinitrc.sample file shipped with slim sources
#sessions default,startxfce4,openbox,ion3,icewm,wmaker,blackbox,awesome
sessions openbox-session,dwm,spectrwm

The default is just “openbox-session”. I’ve added dwm and spectrwm (although so far I have been working only with dwm). Couldn’t be simpler.
Except for a problem. A window manager like dwm has no autostart file. Therefore, any programs or processes you wish to begin at startup must be called through ~/.xinitrc. By default SLiM does not look for or parse an .xinitrc. This can be easily changed, though, by uncommenting this line:


#login_cmd exec /bin/bash -login ~/.xinitrc %session

and commenting this line:

#login_cmd exec /bin/bash -login /etc/X11/Xsession %session

You can then construct your ~/.xinitrc- make sure it’s executable as well. Here’s mine:

#!/bin/sh

# the following variable defines the session which is started if the user
# doesn't explicitely select a session
DEFAULT_SESSION=openbox-session


case $1 in
openbox-session)
exec openbox-session
;;
dwm)
nm-applet &
synclient TapButton1=1 &
synclient TapButton2=3 &
eval `dbus-launch --sh-syntax --exit-with-session`
exec ck-launch-session dwm
;;
*)
exec $DEFAULT_SESSION
;;
esac

The theme for SLiM can be changed easily by editing the theme config file in /usr/share/slim/themes. So far all I’ve done is change the font to match my system fonts. As a login manager I like SLiM quite well so far.


What distro should I use on my old computer?

This question comes up time and again. This article will attempt to provide a bit of an opinion, if nothing else.

Disclaimers:

This article is a VERY SKETCHY overview of MY OWN OPINIONS on lightweight GNU/Linux distros. I will be the last to deny the possibility that I am ENTIRELY WRONG ABOUT EVERYTHING. If your favorite is not represented here, DON’T PANIC. Send me a note and I’ll check it out. ūüôā

Terminology:

  • DE- Desktop Environment (includes panels, window managers, docks, etc.)
  • WM- Window Manager (software to enable running GUI programs, no docks, bars, panels, etc. included)

First, what’s old?

For clarity’s sake we’ll divide them into several categories. The most common benchmarks for measuring a computer’s speed and ability are RAM quantity and CPU speed.

RAM                CPU SPEED                             AGE GROUP
64-256 MB       100-450 MHz, single core           Ancient
256-768 MB     500-900 MHz, single core           Elderly
1-1.5 GB          1-2 GHz, single core                  Senior
1.5-2 GB          1-2 GHz, dual core                     Middle Aged

Debian

Since this is my article I will start with my perennial favorite, Debian.
For someone wanting stability and to go back to the “roots” of many of today’s popular OS’s, the Debian Project is the ideal distro. Debian comes in three flavors; Stable, Testing, and Unstable. All come with the Gnome desktop environment. While Stable (as of this writing) can probably be used with Elderly computers, the other two will likely run best on Middle Aged and up.

Then there are the Debian deriviatives:

  • Crunchbang
  • antiX
  • MEPIS

First and foremost (in my mind) is Crunchbang. Based on a minimal Debian Stable system, it uses Openbox and Tint2 for a very lightweight but extremely elegant desktop. Crunchbang is solid, reliable, and looks fantastic on top of it. Recommended for Elderly up.
antiX is Debian Testing based and uses Fluxbox and Icewm which put it in the same catagory as Crunchbang; good for Elderly on up.
MEPIS uses KDE and therefore is best for Middle Aged.

Ubuntu

Ubuntu is Debian based and is easy to install and use.
Vanilla Ubuntu has outdistanced these computers in terms of optimal performance. Since we aren’t talking minimum requirements, we’ll be generous with resources for each distro.
There are several official Ubuntu derivatives (we’ll only look at the main ones)

  • Kubuntu
  • Xubuntu
  • Lubuntu
  • (and the upcoming Gn[ou]buntu)

Kubuntu is too heavy for anything older than Middle Aged. Yes, it will probably run, but not well, and certainly not optimally.
Gn[ou]buntu (the name has yet to be confirmed) using pure Gnome shell, would likely be in the same catagory as Kubuntu/Ubuntu.
Xubuntu and Lubuntu use the XFCE and LXDE desktop environments, respectively. Of these LXDE/Lubuntu is arguably the lighter. Pure XFCE is probably as lightweight as LXDE, but Xubuntu comes with many Gnome apps, which, while often more polished than their lightweight counterparts, take a toll in speed.

There are the unofficial Ubuntu derivatives, such as

  • Bodhi Linux
  • Zorin
  • Linux Mint
  • WattOS

Bodhi Linux is Ubuntu with the Enlightenment desktop environment. Enlightenment is very lightweight and can be customized to look very polished. It has graphical tools for all configurations and has a built in lightweight compositing manager.
WattOS utilizes the OpenBox window manager, and focuses on low power consumption. The project however appears to be more or less dormant.
Linux Mint is a popular distro that uses MATE (a Gnome 2 fork), Cinnamon (a Gnome 3 derivative), KDE, and XFCE. Cinnamon and KDE can be considered in roughly the same category, as can XFCE and MATE.

Then there are the tiny distros.

Tiny Linux

  • Tiny Core
  • DSL
  • Puppy Linux
  • Slitaz

Tiny Core is a unique system that loads only a completely base system by default. The user customizes it by adding software “modules” that the OS loads at boot, thus keeping computing requirements at an absolute minimum. TC loads itself into the RAM upon boot and runs from RAM; persistent changes can be saved. This makes it a poor choice for REALLY RAM poor machines, however; 64 MB should be the absolute minimum.
Tiny Core is BUILT for Ancient computers.
DSL is similar to TC but is easier to install straight to a HDD. It supports a number of lightweight WMs, such as Icebox, Fluxbox, Icewm, and JWM. DSL is best for Ancient computers as well.
Puppy Linux aims at being a complete GUI solution for old PC’s. It is built from scratch and comes with a large suite of software. It runs quite well on high-end Ancient to Elderly computers.
Slitaz uses a very slick, useful amalgamation of DE and WM components to create a very good looking and easy-on-the-hardware interface. This is a fine distro and is perfect for all Elderly computers.

You’ve probably figured out by now that DE/WM is easily the most influential part of any operating system’s relative “weight”. Pick your DE or WM wisely and nearly all distros will function more or less the same, the one exception being on Ancient computers.

My personal recommendation? If it’s ancient, run a CLI only system on it. ūüėą


Use the Minimal CD

I’ve used Ubuntu for almost a year now. ¬†I started out knowing nothing to very little about Linux, and I’m glad I started with Ubuntu. In spite of its bloat, the odd direction (in some people’s opinion) that Canonical seems to be taking it, it is still quite stable, good looking, and requires minimal configuration and knowledge to run.

I’m still very much a Linux novice, but I’ve come to the place where I am no longer satisfied with a vanilla Ubuntu system, nor any of the remixes. Too much software I’ll never need or want comes along and clutters things up- and butchering an existing installation is usually an effort in futility, as far as speed gains and cruft removal go.

Enter the Ubuntu Minimal CD. This ISO image installs a core operating system, CLI only, that you can build your X components on top of. It’s rather like Arch, one step up. You can build your Ubuntu system from the first story up (the ground floor is already laid. :)).

I am an unabashed Gnome Shell fan. At first I was aghast at what Gnome had done with their DE, but after installing a few extensions and tweaking a few features, I enjoy using it a lot. So on my main laptop I installed Gnome Shell as my DE, and gdm for the login manager. Those wanting a more lightweight system can go with lxdm for login manager and any number of the lightweight WM’s or DE’s. When it comes to lightweight I’m of the opinion that Openbox is hard to beat. I’d like to try some of the more esoteric ones such as Awesome or JWM some time as well, but that’s as I have time.

The list of packages I installed to get a functional Gnome/Ubuntu system running is quite small:

xorg
gnome-shell
gdm

That’s all it takes. If you’re installing a more minimal WM, you’ll need more- terminal emulators, text editors, panels, etc., to suit your taste.
But now that I have my Ubuntu installation just where I like it, the Arch Side is tempting me… ūüėą


Add Startup Program to (almost) Any DE

This is one of the more frequently asked questions I see on varoious forums- I’ve asked it myself in times past. So here’as a bit of a compilation.

Key word: almost. This covers the top five at least. ¬†These are the DE’s used by the main *buntu spinoffs- but of course they will hold true for any distro using the DE.

In Ubuntu/Unity:

Click the gear icon in the upper right hand corner of the top panel. Select¬†Startup Applications. Click¬†Add. In the resulting dialog box give the name of the program and set “command” to the command you use to run the program from the terminal. Click add and close.

In Gnome shell

Press¬†Alt+F2¬†to bring up the Run dialog. Type¬†gnome-session-properties.¬†Click the “Add” button. In the resulting dialog box give the name of the program and set “command” to the command you use to run the program from the terminal. Click add and close.

In KDE

Go to K-Menu>Computer>System Settings. Select Startup and Shutdown and click the Add Program button. Type the command to run the program and click OK.

In LXDE

Run the following commands in a terminal:

mkdir -p ~/.config/lxsession/LXDE/
touch ~/.config/lxsessions/LXDE/autostart
leafpad ~/.config/lxsessions/LXDE/autostart

Add this line to the autostart file:

@program_command

Save and close.

IN LXDE/Lubuntu

An autostart file already exists, in ~./config/lxsession/Lubuntu/autostart. Just use this file instead of making a new one, in the manner described above.

In XFCE

In the Applications menu open¬†Settings Manager¬†and select¬†Session and Startup. On the¬†Application Autostart¬†tab click the¬†Add¬†button. In the resulting dialog box give the¬†name of the program and set “command” to the command you use to run the program from the terminal. Click add and close.


Gnome-shell miscellany

Add startup programs to your Gnome system:

gnome-session-properties


How to install themes/icons in Gnome shell

For shell themes:

Make sure the download is a .zip file. For some reason, that’s the only file type that Gnome-tweak recognizes. Then open gnome-tweak-tool (Advanced Settings) go to the Theme tab, and browse to find your theme.

For GTK/window themes:

Extract the folder containing the data into /usr/share/themes. Close and reopen gnome-tweak to add it to the options. If it still won’t show up, open a terminal and type

gconf-editor

Go to desktop>gnome>shell>windows and type in the name of the theme (exactly!). Then do alt+F2 and it should reload, plus add it to your options in gnome-tweak.

For icon themes:

Extract the folder containing the icon data into /usr/share/icons. Restart gnome-tweak. They should be there.