My final laptop

I've been running Slackware 14.0 with my Nitrogen laptop for very long time. In this time I

And then the backlight started to misbehave. At first it would refuse to light up until I pushed Fn-F6-Fn, but this trick suddenly stopped working.
So I transfered the system to Mercury, running Slackware 14.1 Mercury was a Toshiba Satellite A210. A very reliable machine, until it received a minute bump and since then it refused to turn on or off.

The nasty part: Nitrogen just worked flawlesly, but the screen was unreadable. All data was still reachable via the network. Is it wise to invest yet another 40 euro in an old laptop, waiting for the next problem to emerge? Or was it better to spend some cash on a new laptop, lasting the coming decade?
I opted for the second option so I started looking around on the web and in shops. In the meantime I still had the Beryllium desktop and the Gallium laptop.

The Hewlett Packard 250 G1

While browsing the Komplett website I found an interesting machine in the Outlet section: a Hewlett Packard 250 G1 (an outdated model) with 15.6" screen and Core i3 processor. According to the website the machine was unpackaged and nothing else. But the price was very right so I ordered it.
When it arrived, the battery was already in the computer and the machine would not boot. When I checked with a Linux disk, the HDD was empty and it had a normal MBR partition table. I was a bit disappointed.... Apparentlky this computer was not only 'taken out of its box'. The OS was gone and the GPT partitioning as well.

For some reason I didn't trust it so I got an RMA and returned the computer. I shouldn't have done it, as I learned later on.

The Acer Aspire E5-521

The Acer was also in the outlet section. I had quite good experiences with the eMachines D620 so I gave Acer another shot. The E5-521 is a nice machine, although the keyboard reminds me of the ZX Spectrum keyboard... But at €340 this was a steal.
I started installing Windows 8.1 since I paid for it in the first place. For some reason, MicroSnot seems to remain the owner of the Windows package and grants me the right to use it, at a price. I have to register for just about anything. I have to humbly apply to all MicroSnot's demands otherwise Windows 8.1, for which I paid money, will NOT be installed, period.

After installing Windows 8.1 I tried to get into the system. Acer keeps all options open. It has Diskmgmt.msc as part of the software so I can shrink the Windows partition. When rebooting I can get into the BIOS and set things up in many different ways. But at a certain moment I decide: this Acer is a flaky machine and I want better hardware for my new Linux computer. So the Acer is here to stay as a Windows 8.1 computer. I call this a hardware bootmanager.

All in all, Windows 8.1 in itself ain't all that bad. It's just that it treats the user as if (s)he is a complete idiot and that pisses me off every time I run with Windows. I log on as Administrator (aka root) and suddenly I have not enough privileges to delete a file. Hey! I'm root! I am the god f hell and fire and I do whatever pleases me! But not in Windows...

The Toshiba Satellite Pro

After having used the Acer for some time I guess it is time again to find a new Linux machine so I order a Satellite Pro at Komplett. The Toshiba has better hardware but it is close to impossible to get the computer to even boot into another OS than windows. This is a big disappointment. So I sent the machine back to Komplett.

The Lenovo G50-80

At this moment I'm getting a bit nervous. Are there still computer builders who dare to resist Microsoft's UEFI scheme, which strongly favors the use of Windows? At that moment I realize: I should have kept the HP 250 G1. It worked with Linux. It could be put in LegacyMode and boot alternative operating systems.
So I start searching the web and come to the conclusion that HP and Lenovo might be my best options. At a day off I went to a local outlet store and I saw the Lenovo G50-80. in reality the computer looks a lot better than on a website. And the keys type better than the Acer's keyboard, So I decide for my last try: get myself a Lenovo G50-80.
The outlet store (mediamarkt) charge 25% more than Komplett so I order one online.

Some specs:

This is a mighty machine. And you can enter the BIOS by pessing the tiny 'novo' button. Neat.
The most important question is: do I want to keep Windows 8.1? Sure I paid for it, but more and more I come to realize that Microsoft just imposes a tax on all new laptops and as a receipt you get the right to use Windows 8 for some time. And when that time is over, you need to pay the tax again and you get a new receipt.

I paid the tax, I don't need the receipt, so now the computer is mine!

I first installed Slackware 64 Current (14.2) but I wasn't impressed by it's speed or whatever. But the biggest drawback: I could not install obc or mocka without making the OS multilib. So I installed Linux Mint in a second partition. Mint is great, if you are a Windows pentiti. Mint is just Windows. Period. Mint is slick, but I need slack.

So I burn Slackware 14.2 x32 to a USB stick, boot off it and installed 32 bit Slackware Current (14.2) and never regretted it. Slackware is so much faster than Mint.

Installing Slackware 14.2

I tried to install 14.1 but it was outdated. 14.2 has a newer kernel and better support for new hardware and the G50-80 is brandnew. So if you want to follow my lead, just don't use a stable kernel.


Make sure the USB stick is in a USB port.

  1. Make sure the computer is powered off (press powerbutton for 10 seconds)
  2. Press the 'novo' button and wait 5 seconds
  3. In the menu choose 'BIOS settings' and go to 'Configuration':
  4. Now go to the 'Boot' caption:
Now press F10, save and exit, and cross your fingers. The machine should now boot into the Slackware installer. Log on as root (no password required). If you want to zap the disk, do as follows, assuming your disk is /dev/sda and your GPT UEFI scheme is erased. You just liberated another computer.

Now start cfdisk as usual and create a swap partition, a root partition and a /home partition. Slackware needs about 10 GB diskspace in the root partition so a 20 GB '/' partition is big enough.

Just use the default options as much as possible. Install all of the software packages and choose 'full install' (uppermost option) and press enter. Installing from a USB stick will take about 15 minutes.


Everything worked, out of the box, except for

First of, install the wicd package from the 'extra' section on the installation medium. When installed, issue the command
chmod -x /etc/rc.d/rc.wireless

Fixing the wireless

Just blacklist the ideapad_laptop module and you're done. You do so by creating a file /etc/modprobe.d/blacklist.conf containing the text:

blacklist ideapad_laptop
After the next reboot, you have wireless working.

Fixing the sound

First, issue the command

aplay -l
. In my case this yielded:
oxygen:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0

card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0

card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0

card 1: PCH [HDA Intel PCH], device 0: CX20751/2 Analog [CX20751/2 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0		
Linux picks the default sound device by taking the smallest indexes, so in the G50-80 Linux chooses the HDMI system by default. So we need to teach Linux what to do. We do so by creating a file called /etc/asound.conf containing
defaults.pcm.card 1
defaults.pcm.device 0
defaults.ctl.card 1
The HDMI was at card=0 and device=0 so Slackware chose that one.

Fixing the volume control keys

To be done; I just use the alsamixer or any graphical mixer when needed.

Starting X

Start the graphical environment with the command

If you want to change over to another window manager, issue the command
and choose the one you like.

Emergency exit

Once in a while Slackware comes to a halt. At least, that's what it looks like. But you don't need to perform a power cycle. Just do as follows:

S is for Sync, U is for Unmount, B is for reBoot. The moment you press the B key the system starts to shutdown in a controlled way and next performs a restart.

Kill the X server

Press Alt-Ctrl-Backspace and you are returned to the command prompt.


Below is the file /etc/lilo.conf. I changed the green lines. root needs to run the command

in order to update your bootloader.
# LILO configuration file
# generated by 'liloconfig'
# Start LILO global section
# Append any additional kernel parameters:
append=" vt.default_utf8=0"
boot = /dev/sda
#compact        # faster, but won't work on all systems.

# Boot BMP Image.
# Bitmap in BMP format: 640x480x8
  bitmap = /boot/slack.bmp
# Menu colors (foreground, background, shadow, highlighted
# foreground, highlighted background, highlighted shadow):
  bmp-colors = 255,0,255,0,255,0
# Location of the option table: location x, location y, number of
# columns, lines per column (max 15), "spill" (this is how many
# entries must be in the first column before the next begins to
# be used.  We don't specify it here, as there's just one column.
  bmp-table = 60,6,1,16
# Timer location x, timer location y, foreground color,
# background color, shadow color.
  bmp-timer = 65,27,0,255

# Standard menu.
# Or, you can comment out the bitmap menu above and 
# use a boot message with the standard menu:
#message = /boot/boot_message.txt

# Wait until the timeout to boot (if commented out, boot the
# first entry immediately):
# Timeout before the first entry boots.
# This is given in tenths of a second, so 600 for every minute:
timeout = 20
# Override dangerous defaults that rewrite the partition table:
# VESA framebuffer console @ 640x480x64k
vga = 895
# Normal VGA console
#vga = normal
# Ask for video mode at boot (time out to normal in 30s)
#vga = ask
# VESA framebuffer console @ 1024x768x64k
# VESA framebuffer console @ 1024x768x32k
# VESA framebuffer console @ 1024x768x256
# VESA framebuffer console @ 800x600x64k
# VESA framebuffer console @ 800x600x32k
# VESA framebuffer console @ 800x600x256
# VESA framebuffer console @ 640x480x64k
# VESA framebuffer console @ 640x480x32k
# VESA framebuffer console @ 640x480x256
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz
  root = /dev/sda5
  label = Slack14_2
# Linux bootable partition config ends


I just used cups to install my OKI B4350 as my default printer (via a parallel printserver at and a dedicated ppd file.

Wired network

Wireless has been running from the very first moment so I felt no need to use the RJ45 connector.

Taskbar in XFCE

The XFCE taskbar is very versatile. It can save you a lot of time. All items in panel 2 (bottom) are launched with a single click. I always have panel 2 in autohide mode so the software can use the full window height.

Panel 1 is fixed in the top of the window and harbors:

No need to explain how the taskbars are configured. You can do it by right clicking on the panels or by going through the Settings manager.


I use SeaMonkey as my default webbrowser and Email client. Firefox is nice but SeaMonkey offers me a light weight browser with a paranoid operating mode. SeaMonkey trusts nothing on the net. So it enables the user to have a lot more control of the footprint you leave on the internet.
If you liked Netscape Navigator, you will sure like SeaMonkey. It has built-in Webbrowswer, Email client, Address book, Webpages composer and IRC client. And it is fully configurable to a degree unmatched by any other browser.

If you want to use your old emails in the new system:

Email addresses can be moved in a similar way:

Data files

Just power on the old machine and start 'ncftp' on the new machine. Then log on to the old machine with a line similar to

ncftp> open -u jan
ncftp> get -R directory-to-copy
to transfer complete directory trees between computers. Beware though: file attributes are not transfered with ncftp. So if a file used to be executable, you will have to chmod it afterwards.

If you want to keep directories intact, just create a tar file from the directory tree and ftp that tar file.

Start the ftp server

By default, the system rejects ftp access from remote users. You need to turn it on in /etc/inetd.conf. Just look for this line and remove the '#' in front of it:

#ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  proftpd
No need to restart the system; this is not Windows, Ubuntu or Mint! Just issue the command:
/etc/rc.d/rc.inet1 restart
and you're done.

A good editor

Slackware performs best at the commandline. All conf files are text only so you need a good editor. The default editor in most Linux systems is 'vi' but to me vi is a nightmare. And to many others as well. Therefore Slackware comes with a bunch of good editors among which are:

I prefer 'jed' since I have been using it for over a decade. But ymmv. jed has syntax highlighting for just about all the programming languages on earth. Only oberon and modula are not supported. These webpages are also made with jed. It takes some time to get used to but then....
Here's my .jedrc file:
%   User Initialization file for the JED editor  -*- slang -*-
%   If a user does not have a startup file in the user's home directory,
%   JED will automatically load this from JED_ROOT/lib.   Thus it is easier
%   for a system manager to make defaults for all users.

%   Do not edit this file directly.  Instead, copy it to your home 
%   directory (sys$login:jed.rc on VMS or $HOME/.jedrc on Unix) and edit
%   the resulting file.

%   To uncomment a line, simply remove any leading '%' characters.

%   This file is divided into various sections.  The first section pertains
%   to keybindings (e.g., Wordstar, Emacs, EDT, etc...) and the following
%   sections pertain to user preferences such as default TAB sizes, line 
%   and column numbers on status line, colors, indentation style, etc...

if (BATCH == 0)
%  Keybindings  (not loaded for batch processes)
%    Default bindings are Emacs-like with EDT emulation on Unix and VMS.
%    For the PC, only Emacs is enabled by default.  If you do not want EDT
%    bindings, simply coment out the appropriate line.   
%    For Wordstar like bindings, comment out EDT and Emacs lines and
%    uncomment Wordstar line.  A similar statement applies for BRIEF,
%    and for Borland IDE-like bindings.
%  () = evalfile("emacs");           % Emacs-like bindings
%  () = evalfile("edt");             % EDT emulation
%  () = evalfile ("ide");            % Borland IDE (see also doc/ide-mode.txt)   
%  () = evalfile ("brief");          % Brief Keybindings (MSDOS only!!)
%  () = evalfile("wordstar");        % obsolete --- use ide instead)
%  () = evalfile ("cua");            % CUA-like key bindings
%  Note: For EDT emulation, jed386.exe requires that the GOLD.COM TSR 
%        be loaded.  This TSR is available from

% Some of the above emulations may set keys that conflict with access to
% the menubars.  For example, emacs uses ESC-f to move by words.  The 
% next line causes the keys to activate the menus.  Comment this out
% to preserve the emulation.

   enable_menu_keys ();

% If you use jed inside an XTerminal, you can use the mouse to access the 
% menus and move the cursor by uncommenting the next line:
%  enable_xmouse ();
% What should the Ctrl-H key do??  
%  setkey ("bol", "^H");              % causes ^H to go to beg of line (EDT)
%  setkey ("help_prefix", "^H");      % Uncomment to have Ctrl-H as help

   % See xjed.txt for information regarding the delete key under X Windows.
   %    x_set_keysym (0xFFFF, 0, "\e[3~");
   %    setkey ("delete_char_cmd", "\e[3~");
   %  !!!!  ^S/^Q flow control problems !!!!
   %  if you experience problems with JED suddenly going into search mode
   %  for some reason then you are a victim of the emacs emulation's 
   %  binding of the ^S key to the search function.
   %  TO prevent this from happening, either find out how to 
   %  prevent unwanted ^S/^Q characters or uncomment the next line:
#ifdef UNIX   
   %enable_flow_control (1);

%  Initial help screen --- comment out to disable.
%  Note that for the help to be valid, it must occur AFTER bindings are 
%  loaded.
% help();               % Pops up a help window

}  %Batch

%%%%%%%%%%%%%%%% top menu bar %%%%%%%%%%%%%%%

% To disable it, uncomment the next line.  Note that menus will still be
% available but the menubar will be hidden when not in use.
% enable_top_status_line (0);

% User Information (used by some modes, automatically determined on Unix)
% set_realname ("John Doe");
% set_username ("jd");
% set_hostname ("");
% set_emailaddress ("");

% JED global variables  --- defaults shown
#ifdef VMS UNIX
%USE_ANSI_COLORS = 1;   % if non-zero, JED will display colors on a color
                        % terminal (Unix and VMS only) See doc/color.txt 
                        % for more discussion and look below for setting
                        % the colors.
No_Backups = 0;         % If non-zero, backup files will not be created.
Startup_With_File = 1;  % if greater then zero, force JED to prompt for a file
                        %   if none is specified on the command line.  If 
                        %   negative, inhibit startup message.
DISPLAY_TIME    = 1;    % non-zero enables the time to be displayed on 
                        %  status line, zero disables it.  If this value
                        %  is -1, 24 hour time will be used.
HIGHLIGHT	= 1;	% non-zero for region highlighting
                        % Highlight syntax in C, Fortran, and TeX modes.
                        % See section on colors
                        %  below for choosing how to highlight.  On Unix and 
                        %  VMS systems, USE_ANSI_COLORS must also be non-zero.
HORIZONTAL_PAN	= 20;	% if zero, no automatic panning.  If positive, only
                        % the current line is panned.  If negative, pan window.
  HORIZONTAL_PAN  = -1; % For msdos, panning window might be better:

  LINENUMBERS	= 2;	% A value of zero means do NOT display line number on
#else                   % status line line.  A value of 1, means to display
  LINENUMBERS	= 2;	% the linenumber. A value greater than 1 will also
#endif			% display column number information.  I recommend a 
			% value of 2 only at high baud rates

BLINK		= 1;	% if non zero, blink matching parenthesis
TAB_DEFAULT	= 8;	% Tab size  (also try edit_tab_stops)
USE_TABS	= 1;	% Use tabs when generating whitespace.

Tab_Always_Inserts_Tab = 0; % Set this to 1 if you want the tab key to insert
                            % tabs.

WRAP_DEFAULT	= 120;	% wrap column
ADD_NEWLINE	= 1;	% add newline to file when writing if one not present
IGNORE_BEEP	= 3;	% Beep terminal during error messages---
                        %  1 == sound only, 2 = visible bell only, 3 = both
_traceback	= 0;	% Non zero means dump traceback on S-Lang errors
WRAP_INDENTS	= 0;	% Non zero indents next line after wrapping current.
			%  Make this a 1 if you want indented text mode.
			% If non-zero, kill line will kill through end of the 
			%  line if Point is at the beginning of the line. For
			%  emacs-like behavior, set this to zero.

% C-mode indentation style
c_set_style ("jed"); % or "linux", "gnu", "bsd", "k&r"

% If non-zero, treat file names as case sensitive
Case_Sensitive_Filenames = 1;


% Alt-key handling.  Setting this variable controls how the
% Alt key is handled.  By default it is set to 27 (Ascii ESCAPE).  This means
% that any key pressed in conjunction with the alt key produces ESCAPE 
% followed by the key itself.  If ALT-X is pressed, an ESCAPE-X is generated.
% Set it to zero to turn off Alt key processing.  On XWindow systems, setting
% this to zero will cause the high bit to be set on the character.
%ALT_CHAR = 27;


%    Mute (dead or accent) keys 
%    Valid Mute keys are:
%      ^, ~, ', `, \d168 (ISO Diaeresis), \d180 (ISO Acute), and \".
%    This means pressing this key then the key you want to accent yields
%     the accented character.  If you do not know what this is, you do not
%     need them.  By default, they are turned off.

%mute_set_mute_keys (" ^ ~ ' ` \d168 \d180 \"  ");  % choose all or subset

META_CHAR	= -1;	% All chars with hi bit set will self insert

%  DISPLAY_EIGHT_BIT = 160; % Other systems assume ISO Latin 1

% Color Settings
% Look at jed/lib/colors/README for a description of predefined color
% schemes.
%set_color_scheme ("black3");
%set_color_scheme ("blue2");

#ifdef UNIX
%  Terminal type.  By default, on Unix termcap is used.  However, some
%  (if not all) termcaps do not include AL, DL strings for vtxxx terminals.
%  True blue vt100 terminals cannot insert and delete lines so the AL and DL
%  termcap entries are not appropriate for them.  However, almost no one
%  uses a true vt100 terminal anymore but they set their TERM variable to
%  vt100 just the same.  If you do not like the way your terminal scrolls,
%  and it is more than a vt100, either set your TERM variable appropriately
%  or add vt100 to the list below. 

if (0)
   $1 = "vt102 vt200 vt220 vt300 vt320 vt420 xterms";
   if (is_substr($1, getenv("TERM"))) set_term_vtxxx(0);

%  Compiler interface --- uncomment one of the following:
% variable Compile_Default_Compiler = "gcc";           % GNU compiler
% variable Compile_Default_Compiler = "Ultrix_cc";     % cc on Ultrix
% variable Compile_Default_Compiler = "bcc";           % Borlands BCC
% variable Compile_Default_Compiler = "sun_acc";       % SunOS C++ and ACC
% variable Compile_Default_Compiler = "hp_cc";         % HPUX cc
#ifdef WIN32
variable W32shell_Perform_Globbing = 0;

%  Hooks:  read jed/doc/ for more information
define global_mode_hook (hook_name)
   % if (hook_name != "c_mode_hook")
   %   local_setkey ("self_insert_cmd", "\t");

define dired_hook ()
   %local_unsetkey ("^K");
   %local_setkey ("dired_kill_line", "^K");

Page created on September 26, 2015,