Now you have the IceWM source package at hand and will want to
install it. So the next question will be:
The IceWM developers provide RPM packages for all new releases independently
from the distributions which use this package format. IceWM's RPM
distribution is split into several files. You need icewm-x.y.z-v.rpm.
Optionaly you can download others like icewm-themes, icewm-l10n and
icewm-menu-gnome.
IceWM (0.9.3x and up) uses the standard
GNU autoconf tool, so installation of IceWM is much the same as the
installation of any other package that uses this tool.
First you untar the package using
tar xzf icewm-1.2.x.tar.gz
then you change to the created directory using
cd icewm-1.2.x
IceWM comes with a configure script that can be supplied with several
compile-time options. To see them listed use
./configure --help
Some important options are
- --prefix
directory under which IceWM files are to be installed
- --with-xpm
use the standard X pixmap package to render graphics
- --with-imlib
use the more powerful imlib package to render images
- --with-gnome-menus
automatically add the GNOME menus to the IceWM
start
menu
After you have decided which (if any) options you want to set,
run the configure
script:
./configure [option ...]
Assuming that the configure script exited successfully, you should
then compile IceWM using
make
which will build IceWM with the options specified by the configure
script. If everything compiles successfully, you can now
install IceWM on your machine by entering
make install
Note: To do so you will typically need to become
root (at least if you didn't supply an install directory you
as a user have write access to - this you can change in Makefile).
Now you have an IceWM binary sitting on your disk. Is that what you
really want? Obviously not, you want to run IceWM. The next
section describes how to set up IceWM as your default window manager.
In order to run IceWM, you must assure that the
executable (called icewm
) is
in your path. You should then add IceWM to
your X start-up script (which could be
.xinitrc
, .xsession
or
.Xclients
).
Note: Supplying the full path to IceWM isn't sufficient - if
IceWM isn't in your path, restarting it will fail (even if you don't do
this by hand it is done automatically on changing the theme).
Which of the scripts mentioned above is the right one mainly depends
on whether you manually start X (using startx
)
or have X running all the time.
First I explain what you need to do if you manually start X. Then I
address the case "X is running all the time" (which means
that you log in via xdm
or something like that).
Finally I describe what both cases have in common.
Running IceWM at X startup
If you use startx
to start up X then you run
your window manager from the .xinitrc
file.
Running IceWM after graphical login
If your system has a graphical login (X is already running while you
log in) you are using a display manager such as
xdm
, kdm
or
gdm
. In this case .xinitrc
has no effect (it is not read in by xdm
). You
must instead use a .xsession
file.
Hint: It is absolutely no problem to have a
.xsession
and a .xinitrc
file (which is especially useful for inhomogeneous networks).
Mandrake users repeatedly reported that their .xsession
wasn't read
and no applications started. To work around that in the kdm
login
interface choose Default
and add IceWM as the last
entry to your .xsession
.
Besides the differences
You might have noticed that - besides being used in different
cases - .xsession
and
.xinitrc
are essentially the same. On some
systems they are in fact the very same file which is called
.Xclients
with .xinitrc
and
.xsession
both being symbolic links to this
file.
Irrespective which start script you use (.xsession
,
.xinitrc
or .Xclients
) it must
be executable. This may be achieved by issuing the following command:
chmod u+x ~/.filename
A minimalist's start-up file consists of only the command to start
the window manager (in our case icewm
). Most geeky people
add other stuff to the file to make it look more complicated and
confuse beginners >;->
Though that may be the reason for some of us, the greater majority
add commands to customize X and to start some programs on login
(typical example: an xterm
)
The following is a (reasonable) .xinitrc
file
used as an example by Marko:
#-----------------------------------------------------------
# .xinitrc
#-----------------------------------------------------------
# run profile to set $PATH and other env vars correctly
. $HOME/.bash_profile
# setup background
xsetroot -solid '#056'
# setup mouse acceleration
xset m 7 2
# run initial programs
xterm &
# start icewm, and run xterm if it crashes (just to be safe)
exec icewm || exec xterm -fg red
#-----------------------------------------------------------
Note: To run IceWM, the icewm
command
needs to be executed. This means that all programs that are run
before starting icewm
either have to terminate
immediately or to run in background. Also, don't
exec
them because that terminates execution of
.xinitrc.
IceWM > 1.2.13
Beginning with IceWM 1.2.13 there is a binary icewm-session
.
This binary helps you to handle all IceWM subparts (icewmbg, icewm, icewmtray, startup, shutdown started in this order).
Therefore you can use icewm-session
to start IceWM.
icewm
now starts only window manager itself.
If you want to start only some parts of the IceWM, then you can add them to
your .xsession
or similar file before exec icewm
, otherwise it is
enough to use only exec icewm-session
.