User Tools

Site Tools




Fedora enrolls gnome3 and gdm by default, some things need to be done to run WindowMaker and ibus here for me:

  • the NetworkManager applet has by default no place to live on, wmdocker works for this
  • ibus to input japanese needs tuning
  • for the thinkpad powertunings refer to this document: energy_saving
  • for the tinkpad x200 specific settings ans Windowmakertunings: thinkpad_x200

Some other things related to x like detecting and handling multiple monitors (on the road vs. using docking station when I disable the internal screen) are here: thinkpad notes

Setup windowmaker and xdm

# Let's ensure basic xorg is installed.
dnf group list hidden
dnf group install 'LXDE Desktop'

# install 
# - windowmaker
# - wmdocker to run the networkmanager applet
# - xdm
# - xorg-x11-xinit-session to run window manager from ~/.xsession
dnf -y install WindowMaker WindowMaker-extra wmdocker \
  xorg-x11-xdm xorg-x11-xinit-session

cd /etc/systemd/system
ln -s /usr/lib/systemd/system/
rm display-manager.service
ln -s /usr/lib/systemd/system/xdm.service display-manager.service

# as user configure wmaker:
echo 'exec wmaker' >>~/.xsession
chmod +x ~/.xsession

# systemctl disable gdm.service
# systemctl enable xdm.service

# did work outofthebox for f16: ensure sound works properly for the user
# add desktopuser to these groups, vi /etc/group: 
#   video, audio, pulse, pulse-access, nm-openconnect

NetworkManager permissions

Traditionally I have permission problems. Usually this works:

wmdocker &  # run docker, place to have nm-applet
xhost +
su -
export DISPLAY=
# now root can input passphrases, make them also available for users - so
# after this the user can also access the network.

In the past this worked:

# Things have changes, this if no longer valid 
# now fix permissions for my linuxuser 'chris' to be able to control NetworkManager via policykit:
cat >/etc/polkit-1/localauthority/50-local.d<<EOT

rc.local specifics

# configure to have /etc/rc.local used again, this is no longer default
# see also
ln -s /etc/rc.local /etc/rc.d/rc.local
systemctl enable rc-local.service
systemctl start rc-local.service

Enable japanese input using ibus

yum -y groupinstall 'Japanese Support'

# now in users homedir craft appropriate .xsession file
su - chris
cat >~/.xsession<<EOT
export TZ='Europe/Berlin'

pulseaudio --start
ibus-daemon --xim --daemonize
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export GTK_IM_MODULE=ibus
exec wmaker

Setup xterm, xinput for scrolling

yum -y install xorg-x11-fonts-misc.noarch xterm xterm \
    iso8859-2-misc-fonts.noarch ucs-miscfixed-fonts.noarch xorg-x11-fonts-misc.noarch

# having xterm pick up urls by mouse doubleclick
cat >>~/.Xdefaults<<EOT
! Make it easier to grab URLs by double-clicking:
! XTerm*charClass:33:48,35-38:48,42-43:48,45-47:48,58:48,61:48,63-64:48,126:48
! Here is a good test url:

ln -s .Xdefaults .Xresources

# install xinput to configure scrolling using thinkpad nipple + middle mousebutton
# yum whatprovides '*/bin/xinput'
yum -y install xorg-x11-apps


# yum whatprovides '*/xlock'
yum -y install xlockmore xautolock

vi ~/.xsession
# bevore wmaker is started run a line like this:
xautolock -locker 'xlock -mode blank' &

thinkpads: using the 2 keys next to cursor-keys

  • click the icon for 'window maker preferences' on the upper right side
  • for 'keyboard shortcut preferences'
  • configure these keys to be used for 'switch to next workspace' and 'switch to previous workspace'

start nm-applet by default

This is not done from .xsession since windowmaker is not running at the time that file is executed.

# this runs docker (small empty places for applets on windowmaker) and then nm-applet
# which places itself in docker
cat >>~/GNUstep/Library/WindowMaker/autostart<<EOT
/home/chris/ >/tmp/randback.log
wmdocker &
wmdocker &
gkrellm &
nm-applet &

no sound on Fedora20

Without any apparent reason (no updates or changes I am awar of), no longer sound in any applications. Following commands fixed it:

ACTIVE_SINK=$(pacmd list-sinks | grep 'active port' | awk '{ print $3 }')
if [ "$ACTIVE_SINK" = "<analog-output-speaker>" ]; then
  echo "[*] Enabling $WHAT on $DEVICE."
  pacmd set-sink-port $DEVICE $WHAT > /dev/null
  echo "[*] Enabling $WHAT on $DEVICE."
  pacmd set-sink-port $DEVICE $WHAT > /dev/null
exit 0

Further workaround (thanks to ):

amixer sset Master on
software/fedora/windowmaker.txt ยท Last modified: 2021/04/29 15:21 by chris