User Tools

Site Tools



This is an old revision of the document!


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

# have xdm run in the future
echo 'DISPLAYMANAGER=XDM' >/etc/sysconfig/desktop

cd /etc/systemd/system
ln -s /usr/lib/systemd/system/

# 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
snippets/fedora_windowmaker.1605772527.txt ยท Last modified: 2020/11/19 08:55 by chris