IceWM on Solaris 10

[Image]
OpenOffice, Nautilus and xterm displayed in 4Dwm and 4dIndigo themes.

About IceWM

IceWM is a fast and customizable window manager for X11 window system. IceWM runs quickly even on older hardware and it can be totally customized to your liking - all keyboard shortcuts, mouse actions and visual decorations can be modified. IceWM has also a number of ready-made themes that can be installed to change the visual appearance easily. My favorite theme is the 4Dwm theme for IceWM. Together with 4dIndigo theme for GTK, these two themes make IceWM resemble the 4Dwm window manager found in Silicon Graphics workstations.

Compile & Install

Get IceWM 1.3.6 source

wget http://downloads.sourceforge.net/icewm/icewm-1.3.6.tar.gz

Configure IceWM

gunzip -c icewm-1.3.6.tar.gz | tar xf -
cd icewm-1.3.6/
./configure --prefix=/opt/icewm-1.3.6 \
    --with-xpm --x-includes=/usr/X11R6/include

Compile (will produce lots of warnings)

gmake

Login as root, cd to the source directory and install IceWM (will produce lots of warnings about missing install-sh file)

gmake install

To use IceWM as your window manager, create .xsession file to your home directory

cd
echo exec /opt/icewm-1.3.6/bin/icewm > .xsession

Dt Login Screen

If you want to be able to choose between Java Desktop System, CDE and IceWM, then remove the .xsession file from your home directory and add IceWM to the Dt login screen. To do this, first create Xresources.jds file as root

umask 022
cat > /usr/dt/config/C/Xresources.d/Xresources.icewm <<EOF
Dtlogin*altDtsIncrement:        True
Dtlogin*altDtName:      IceWM
Dtlogin*altDtKey:       /opt/icewm-1.3.6/bin/icewm
Dtlogin*altDtStart:     /usr/dt/config/Xsession.icewm
Dtlogin*altDtLogo:      JDS_s10
EOF

Install the file to all locales as root

find /usr/dt/config -name Xresources.d \
    -exec cp /usr/dt/config/C/Xresources.d/Xresources.icewm {} \;

Create Xinitrc.icewm file as root

cat > /usr/dt/config/Xinitrc.icewm <<'EOF'
#!/bin/ksh
if [ "x$LC_ALL" = x -a "x$LANG" = x -o "x$LANG" = xC ]; then
  :
else
  export LC_MESSAGES=
fi

export G_FILENAME_ENCODING=@locale,UTF-8
export G_BROKEN_FILENAMES=yes

if [ -f $HOME/.Xdefaults ]; then
    xrdb -merge $HOME/.Xdefaults
fi

if [ -x $HOME/.xinitrc ]; then
  exec $HOME/.xinitrc
else
  exec /opt/icewm-1.3.6/bin/icewm
fi 
EOF

Create Xsession.icewm file as root

cat > /usr/dt/config/Xsession.icewm <<EOF
#!/bin/ksh
DTDSPMSG=/usr/dt/bin/dtdspmsg
export SESSIONTYPE="altDt"
export SDT_ALT_SESSION="/usr/dt/config/Xinitrc.icewm"
export SDT_ALT_HELLO="/bin/true"
export SDT_NO_TOOLTALK="1"
export SDT_NO_DTDBCACHE="1"
export START_SPECKEYSD="no"
exec /usr/dt/bin/Xsession
EOF

Fix permissions as root

chmod a+rx Xinitrc.icewm Xsession.icewm

Log out and see if IceWM is listed in the Dt login window under sessions:

[Image]
Solaris login screen with IceWM

Version History

Feb 25, 2008: Compiled succesfully on Solaris 10 u4.

Dec 22, 2012: fixed version number. The instructrions in this page are really for version 1.3.6 and not 1.4.6 as previously indicated.