Until recently I've always booted linux at level 3 (text only), and then used
'startx' to run X, with ~/.xinitrc starting default xterm, clock etc. then
invoking ctwm near the end. I then repeatedly hibernate and resume witout
rebooting (sometimes for weeks or months).

After installing F20 I decided to try making ctwm available at the login screen
as an alternative to xfce and openbox (which was my fallback before I had ctwm
installed), using a tip posted on this list by Stefan Monnier on  Mon, 5 May 
2014

He pointed out that /usr/share/xsessions/ could specify options.

Mine already had two files, (openbox.desktop  xfce.desktop) so, after examining
their contents, I added a third one:

    ctwm.desktop

containing:

    [Desktop Entry]
    Name=Ctwm
    Comment=Log in using the ctwm window manager (without a session manager)
    Exec=$HOME/.xinitrc
    Icon=
    Type=Application

The crucial thing in my ~/.xinitrc file, apart from starting some xterms, a
clock, and using xmodmap to alter keyboard settings, are

    pulseaudio --start

    ~/bin/alps
(which  uses 'synclient' to make my touchpad work nicely).

then
    ctwm

or, if you want to be able to kill and restart ctwm

    ctwm &

followed by xmessage or something that stops X11 exiting, and can be clicked on
to terminate the X session.

To my surprise that seems to give me exactly the environment I previously
generated from a non-graphical login using startx. I suspect doing it the new
way may have some benefits because the system does more than I used to!
(E.g. I have not tested to see if the invocation of pulseaudio is still
necessary.)

I have never liked file manager icons, control panels and other such things
cluttering up the workspace (apart from ctwm iconmanager and workspacemanager
both of which I use a lot -- and can specify were I want them).

I expect the .xinitrc file could invoke xfce-panel or lxpanel or someting
similar, if desired. I find that ctwm's menu systems and function-key actions
provide all the functionality I need without extra clutter.

I may have missed out steps required by a session manager, but have no idea what
I may be missing. The use of pm-hibernate (or pm-suspend for shorter periods)
seems to provide whatever a session manager might provide?

Aaron

Reply via email to