Next Previous Contents

2. Getting and installing AfterStep

2.1 Where do I get AfterStep, AfterStep applets, or help?

The main AfterStep resources on the net are below.

2.2 What is the latest version of AfterStep?

Because of the frequencies of updates, and the inclusion of this document with every version of AfterStep, the reference to the current version has been removed from this FAQ. The best way to find out the most current version is to look at the AfterStep home page or to check out the FTP site.

As of release 1.6.0, AfterStep has adopted the odd/even standard of the Linux kernel: "even-numbered" releases (e.g. x.y.z, where y is an even number) are stable versions, and "odd-numbered" releases are development versions. This means that no features will be added to an even-numbered release; patches may nevertheless appear for that release in order to fix bugs.

Development releases are always available from the FTP site. Please check the FTP site, join the mailing list, and visit the IRC channel if you want to help in the development effort. New developers are always welcome!

There is also a current development effort around the old version of AfterStep (v. 1.0). This effort is called AfterStepClassic. It is primarily directed towards fixing bugs in the old 1.0 release of AfterStep, and is not always compatible with new developments in AfterStep. It uses only the .steprc-style configuration, so if you are looking for information on how to configure AfterStepClassic, you should assume that the information about versions < 1.2 apply to you. The lead developer for AfterStepClassic is Stephen Ma (stephen_ma@mindlink.bc.ca). AfterStepClassic is available from the AfterStep FTP site.

2.3 What do I need to install AfterStep?

If you are upgrading, there is important information for you in another section, below!

AfterStep is an X window manager. So, you need to have an X workstation. It will apparently compile against, and work with, X11R5, but for optimal performance, it is preferable that you use X11R6. In order to compile AfterStep from the source, you need (apart from a C compiler, like gcc) the X developers' libraries on your system. The most common problem that people have in compiling AfterStep is as a result of not having the required libraries on their system. In particular, XFree86 lists the necessary libraries as an "optional" package. As a result, many people do not install them, and so cannot compile AfterStep. You should be able to get the libraries wherever you got your distribution of XFree86.

Obviously, you need either the source file for your chosen version of AfterStep, or else a pre-compiled binary.

AfterStep is known to run on Linux, FreeBSD (not all modules work), HP-UX, AIX, SGI (Irix), SCO-Unix and Solaris. You should always read the relevant READMEs before trying to compile, including any specific to your system.

X, and hence AfterStep, is really designed with an eye to the assumptions of multiuser systems like UNIX or VMS. If you are using X on some other platform, and particularly, if you are trying to run X atop any version of Windows, you will have to do much of the porting work yourself. There is a link above offering advice on getting AfterStep to work under Windows, but this practice is not encouraged. You are likely to get greater ease of use by using LiteSTEP.

If you want all of the applications which are designed to work with AfterStep, some of which are called in the default configuration files, you should also get the applications package. The applications are no longer packaged with the window manager and are available as a separate package. See the section, above, about online resources.

2.4 How can I install AfterStep without being root?

This is fairly easy, but you must be sensitive to the version you are using.

You will have to install all the files under your home directory. The usual recommendation is to use the same directories as suggested in the installation procedure, but replacing /usr/share, /usr/local, or whatever you like by your home directory. For example, if you home directory is /home/blah you would use directories like /home/blah/bin, /home/blah/etc, /home/blah/lib, and the like.

Compile AfterStep following the standard installation procedure (i.e. the one described in the README) until the install step. Then, do the following (make sure to create the destination directories first if they don't exist. All the source paths are relative to the AfterStep source directory):

  1. Copy afterstep/afterstep to $HOME/bin/.
  2. Copy modules/*/(binaries) to $HOME/bin/.
  3. Copy apps/*/(binaries) to $HOME/bin/.
  4. Copy GNUstep/ to $HOME/.
  5. Edit $HOME/GNUstep/Library/AfterStep/base.* to reflect the above paths in the lines starting with ModulePath and PixmapPath.
  6. Put $HOME/bin in your path.

You should be set. Feel free to modify this procedure according to your particular needs or the particular setup of your machine/account.

You should note that, during the 1.4.5.x series, the source paths changed. If the changes are not transparent to you, you should probably move to the 1.6 series anyway. The 1.6 series includes an install script that allows you to set the install directories to whatever you want. Even though the instructions say you should have root access, you can install AS under your home directory. The trick here is to specify only directories to which you have write permissions. Importantly, you must specify the full path on most systems. Otherwise, there is a good chance that something will not read correctly; this will affect your installation of AfterStep. On some systems, you may also have to add the new subdirectories to your ".profile", ".cshrc", ".xsessions", or other such file. If you don't know what this means, you should either contact your system administrator, or read a good book about your operating system or X windowing system.

2.5 How do I upgrade my version of AfterStep?

The main trick here is to make sure you re-name your ~/GNUstep/Library/AfterStep directory. Also, if you are moving from any version prior to v.1.5, you must either remove your old binaries, or else change the install directory from the default, /usr/local/bin. Prior to version 1.5, binaries were installed in /usr/X11R6/bin/. If you do not remove the old binaries, there is a good chance that you will not get the new version working. Note, also, that package-managed systems will probably not put the binaries in the /usr/local/ tree. See the question about dependency-controlling package systems.

2.6 Why do I keep getting compile errors?

The most common reason for problems compiling is that you do not have all the necessary libraries and headers available on your system. This often happens to people who have recently upgraded their distribution of XFree86. The necessary libraries are included in an "optional" file which matches the version of XFree86 in question; the most recent of these is X335prog.tgz (for XFree86 3.3.5). You should be able to find the file you need wherever you obtained your distribution of X.

There were some people who had problems with "make install". This is fixed in version 1.6.6.

2.7 Why do I keep getting an error referring to sgmltools?

This FAQ file is maintained in SGML according to the Linuxdoc DTD; some version of the FAQ is included with every AfterStep distribution. In order to make it easily readable, a program called sgml2html (part of sgmltools) converts the file to HTML. A script, afterstepdoc (by default, the first button on the Wharf), should open a browser and allow you to read the FAQ. Unfortunately, not everyone has sgmltools; and even if they are installed, they are not detected correctly at install time. As a result, the HTML version of the FAQ is now shipped with the latest versions of AfterStep. The SGML source is still included with the AfterStep source, however, so if you want other versions of this FAQ -- dvi, PostScript, or even plain text -- just use the sgmltools package to convert the SGML source to whatever format you like.

A note to people who generate files from the SGML source of this file: SGMLtools is moving to a new DTD, called the DocBook DTD. This means that the Linuxdoc DTD is about to disappear. This FAQ will eventually drop support for the old version of SGMLtools, but that will not happen soon. When it does, you will need the new package in order to generate the files you might want. As sgmltools 2.x is still unreasonably complex, the transition to the newest version will be delayed beyond the expiration of sgml-tools 1.x.

2.8 Why can't I get AfterStep to compile on SGI or SCO?

The problem here was tracked down and reported by Benjamin J. Tracy (tracy@wsicorp.com) and (independently) John Koch (JKOCH1@Tandy.com). The ordering of the libraries in the link command is wrong. Just make sure that the afterstep library appears before the -lX11 argument on the link command line (in the Makefile). Everything should work after that.

2.9 Will AfterStep compile correctly on FreeBSD?

AfterStep itself works fine on FreeBSD, but some as-apps will not work. In particular, there are some that depend upon a Linux-type /proc filesystem. That filesystem is very different on (any) BSD-type system.

2.10 Will AfterStep work on Mac OS X?

It will , but it's apparently a pain. The following was sent by Sarwat Khan (sarwat@interlog.com) to the mailing list:

 As a side note, installing AS on MOSXS was a royal pain in
the butt (I really had nothing better to do, and I was wondering what it
would take to get it done). It's not AS's fault. I guess the biggest problem
I had was because MOSXS uses Frameworks for a lot of stuff, not your
standard .o or .a libraries. So I didn't have to use -ljpeg, I had to use
-framework OmniJPEG. Also, maX doesn't put the X11 stuff in the usual
places, it puts them in /Local/Library/Xnext/XR6.4/[usr,bin,X11,whatever]. I
was able to get around that ok using configure, but then instead of using
-lX11, I had to use "-F/L/L/Xnext/blah -framework X11", since he's made a
bunch of libraries frameworks instead (which is ok, but getting AS's stuff
to work with it was a pain in the ass). Also, he didn't include the X11
headers (?!), so I had to collect them from several places (what I
downloaded from ftp.x.org was incomplete) and merge them in order to get all
the headers.

A few sources included 'malloc.h'. That's not kept in /usr/include (or
wherever), it's in /System/Library/Frameworks/System.framework/bsd/src/).
Yay. Usually you use ProjectBuilder to build tools and it handles the dumb
details for you.

2.11 Will it work under CDE?

It will. The following are instructions provided by Matthew R. Hamilton (panic@primary.net):

The system wide default files for CDE configuration are located in
/usr/dt/config and Sun recommends that if any personal customizations are to
be done that they be placed under the /etc/dt/config directory (which does
not exist by default).  The first an most important file in adding new
desktops to the system is located in
/usr/dt/config/<LANGUAGE>/Xresources.d/.  It is here that you will see a
file called Xresources.ow (this is the entry for OpenWindows).  It must
start with Xresources and can have any meaningful extension.  For myself I
called the AfterStep file Xresources.step.  There are four key resources
used by dtlogin that go in this file.  They are as follows:
Dtlogin*altDtName    ----->   This is the name of the new desktop
Dtlogin*altDtKey       ----->   This is what window manager to run
Dtlogin*altDtStart      ----->   This is the configuration script
Dtlogin*altDtLogo     ----->   This is the logo that appears in the dtlogin
                                                window and
                                                is a 237x237 XPM file
                                                located in
                                                /usr/dt/appconfig/icons/C/
                                        (If that is not correct
                                        just do a find on the logo in the                                               .ow file in the /usr/dt
                                        directory.  NOTE: These files have 
                                        an extension of .pm not
                                        .xpm, don't ask me why but
                                        that is the way Sun does it.

Now the configuration file indicated in the Xresources.step file is located
in /usr/dt/config.  I stuck to Sun's naming convention and called mine
Xsession.step.  You can just copy the Xsession.ow to Xsession.step and
customize it.  There are three areas that I modified.  The first was the
environment variable SDT_ALT_SESSION and had it point to
/usr/dt/config/Xsession.step2.  You can also customize the hello message via
either the DTDSPMSG or SDT_ALT_HELLO environment variables.  The
Xsession.step2 file is next called and is where the .Xinitrc file is run
from.  You can just copy the Xsession.ow2 file to Xsession.step2 and modify
it to just run the .xinitrc file from the user's home directory or run a
system wide .xinitrc file.  On Solaris 2.5 the default .Xinitrc file is
located in /usr/openwin/lib/Xinitrc while on Solars 2.6 it is in
/usr/dt/config/Xinitrc.

There are two other things you can modify in CDE.  There is a directory
/usr/dt/config/images.  In that directory there are about 5 Sun raster
images.  The one that is of interest here is Solaris.im8.  This is the image
that displays the Welcome to Solaris in different languages.  It is a
549x515 image and if you place any raster image of similar proportions in
its place, it will be displayed instead of the one with the multi lingual
welcome message.  I would of course recommend keeping a backup of the
original and just making symlinks to the images you want.  Finally the file
/usr/dt/config/<LANG>/Xresources contains some basic resources for the
dtlogin window.  You can change the messages displayed.  I will leave that
up to you as an exercise to figure out what the strings are and to have fun
customizing your CDE desktops.


Next Previous Contents