[ This is an incomplete post mainly consisting of notes to myself.  Ignore at will, commander. ]

When installing slackware, I opted for the excellent XFCE desktop environment. But having become aware of i3, a new tiling window manager, I decided to give it a go.

Learning a new Linux distro is never completely straightforward, even for a veteren. All distributions do things differently, so the knowledge you gain in one distro is never wholly applicable to another.

This can make for interesting discoveries and baffling, vexing problems which require prolonged periods of diagnosis to remedy. But the joy of learning how things work is always with you in Slackware, which is why the distribution – while harder work – is certainly quite rewarding.

Installing i3

How to install… SBo… xwmconfig, etc

http://docs.slackware.com/howtos:window_managers:i3wm

Good starter docs by sycamorex

Getting the right screen display resolution with laptop and external monitor

Use Arch documentation as reference xrandr https://wiki.archlinux.org/index.php/Xrandr (and clues from http://oyhus.no/Intel_915G_SuSE_10.3.html)

To XDM or not to XDM…

The problems I had with XDM

Getting started with the i3 config file – setting alternative shortcuts, nm-applet, etc

$TERM – WTF!! http://superuser.com/questions/124908/how-do-you-change-the-default-term-value-set-at-console-login-ubuntu/124915#124915

Getting the € Euro sign working: http://www.dawoodfall.net/index.php/utf-8-console … and having to edit the code page slightly (removing the U+20AC character from the 4th position in the table) http://www.fileformat.info/info/unicode/char/20aC/index.htm (“loadkeys unknown keysym: ‘quotedblbase'”)

Other smaller config changes

Running Emacs (server) and testing with emacsclient http://www.emacswiki.org/emacs/EmacsClient#toc1

INTRODUCTION

Enough was enough. I rocked and rolled along with one mainstream distribution after another, since I started using GNU/Linux in 2000. It was time for something else. Something that wasn’t trying to be everything.

Even I was slightly surprised then that, knowing so little about it, I chose Slackware Linux as my next distribution.

Here are some rough-and-ready notes from my installation, in case they’re of help to anyone else.

INSTALLATION

To install on an encrypted drive, I followed Juan Valencia’s blog:

http://www.jveweb.net/en/archives/2010/10/installing-slackware-in-an-encrypted-lvm.html

Apart from the natural modifications expected, i.e. kernel versions, the instructions were completely sound and the installation proceeded without issue.

INITRD KEYMAP

One LILO was installed, and the system rebooted, I had two issues:

  1. The USB devices attached to my ThinkPad’s docking station weren’t activating at boot time
  2. The keymap of the initial ram disk was set to US, so to decrypt my drive I had to observe the alternative placement of certain characters… 😉

To resolve these issues, I found the “IT Debris” blog (amusingly sub-titled: “Nothing lasts, nothing is finished, nothing is perfect”):

http://blog.beulink.org/slackware-initrd-luks-usb-keyboard/

To the command line (mkinitrd -c -k 3.2.7 -f ext4 -r /dev/vgl01/lvroot -m usb-storage:ehci-hcd:usbhid:jbd2:mbcache:ext4 -C /dev/sda2 -L -u -o /boot/initrd.gz) I added the flag “-l uk”, which loaded the UK keymap by default into the initial ramdisk.

Not forgetting to run lilo afterwards!

LILO’S KEYMAP

LILO’s keymap was also set to US. I decided to take a look at this. While the documentation is pretty comprehensive, the instructions for this particular issue were met with a slight problem – the file locations and names had changed in the 13 years since the documentation was written.

keytab-lilo is the recommended tool for updating LILO’s keyboard mapping.

keytab-lilo expects a US map and the other map (in your language, that you want to use) in order to create a mapping between them.

According to the docs, as referenced in /usr/share/doc/LILO…/doc/README’s web link, keytab-lilo expected keyboard mappigns in /usr/lib/kbd. This directoty doesn’t exist, so I did this:

mkdir usr/lib/kbd mkdir /usr/lib/kbd/keytables

loadkeys uk

cd usr/lib/kbd/keytables

cp /usr/share/kbd/keymaps/i386/qwerty/uk.map.gz . cp /usr/share/kbd/keymaps/i386/qwerty/us.map.gz . gunzip uk.map.gz gunzip us.map.gz

mv us.map us.kmap mv uk.map uk.kmap

keytab-lilo uk > /boot/uk.ktl

.. FINALLY, edit /etc/lilo.conf in your favourite editor:

emacs -nw /etc/lilo.conf

boot = /dev/sda keytable = /boot/uk.ktl

NOTE: the remapping doesn’t seem perfect. The hash (“pound” in en_US) symbol (#) is mapped to two keys and the UK pound (£) symbol is not mapped to number 3 at all, but in the main this is a usable UK mapping for me.

AND.. THE SYSTEM KEYMAP!

Edit /etc/profile.d/lang.sh, adjusting from en_US to en_GB

POST-INSTALL STUFF

After this, there were a couple of issues which I wanted to resolve. When using Ubuntu, I recall there was an issue with using a ThinkPad T420 (my machine) and possibly other ThinkPads with audio output via the docking station‘s analogue port. The issue was also addressed in a Ubuntu forum post.

I created /etc/modprobe.d/t420.conf and added the following:

options snd-hda-intel model=thinkpad

options iwlcore led_mode=1

.. then rebooted. Perfect – audio came up as expected. The flashing LED still appears to be flashing, though, so this requires further investigation.

INSTALL GOOGLE CHROME

http://web.archive.org/web/20150815075708/http://infinityperl.org/post/2009/12/09/How-to-install-Google-Chrome-on-Slackware-13.html

(+ hangouts plugin): http://slackblogs.blogspot.co.uk/2010/08/videovoice-chat-works-in-slackware.html

TERMINAL – modifying the prompt

A long trip arouind the documentation and understanding how bash is invoked made me realise that the easiest thing to do is go into XFCE’s Terminal preferences, and tick the box that says “Run Command as login shell”. Then I get my nice prompt with my login, hostname and path instead of just “sh-4.20$”.

PSEUDO SUMMARY

These are my first steps at installing and configuring Slackware Linux. So far, so good. And not a single crash, which is what I expect from a sensible GNU/Linux distribution.