User Tools

Site Tools


software:fedora:windowmaker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

software:fedora:windowmaker [2021/04/29 15:21] (current)
chris created
Line 1: Line 1:
 +===== What? =====
 +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: [[/hardwarerelated/thinkpad/energy_saving]]
 +  * for the tinkpad x200 specific settings ans Windowmakertunings: [[hardwarerelated/thinkpad/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: [[hardwarerelated/thinkpad/thinkpad_x200|thinkpad notes]]
 +
 +===== Setup windowmaker and xdm =====
 +<code>
 +# 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
 +rm default.target
 +ln -s /usr/lib/systemd/system/graphical.target default.target
 +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
 +</code>
 +
 +===== NetworkManager permissions =====
 +Traditionally I have permission problems. Usually this works:
 +<code>
 +wmdocker &  # run docker, place to have nm-applet
 +xhost +
 +su -
 +export DISPLAY=127.0.0.1:0
 +nm-applet
 +# now root can input passphrases, make them also available for users - so
 +# after this the user can also access the network.
 +</code>
 +In the past this worked:
 +<code>
 +# 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
 +[nm-applet]
 +Identity=unix-user:chris
 +Action=org.freedesktop.NetworkManager.*
 +ResultAny=yes
 +ResultInactive=no
 +ResultActive=yes
 +EOT
 +</code>
 +
 +===== rc.local specifics =====
 +<code>
 +# configure to have /etc/rc.local used again, this is no longer default
 +# see also https://bugzilla.redhat.com/show_bug.cgi?id=737047
 +ln -s /etc/rc.local /etc/rc.d/rc.local
 +systemctl enable rc-local.service
 +systemctl start rc-local.service
 +</code>
 +
 +===== Enable japanese input using ibus =====
 +<code>
 +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 IMSETTINGS_INTEGRATE_DESKTOP=yes
 +export IMSETTINGS_MODULE=ibus
 +export QT_IM_MODULE=ibus
 +export XMODIFIERS=@im=ibus
 +export GTK_IM_MODULE=ibus
 +exec wmaker
 +EOT
 +</code>
 +
 +===== Setup xterm, xinput for scrolling =====
 +<code>
 +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:
 +*.charClass:33:48,35:48,37:48,43:48,45-47:48,61:48,63:48,64:48,95:48,126:48,35:48,58:48
 +! 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:
 +! http://www.redhat.com
 +EOT
 +
 +cd
 +ln -s .Xdefaults .Xresources
 +
 +# install xinput to configure scrolling using thinkpad nipple + middle mousebutton
 +# yum whatprovides '*/bin/xinput'
 +yum -y install xorg-x11-apps
 +</code>
 +
 +===== screenlocking =====
 +<code>
 +# yum whatprovides '*/xlock'
 +yum -y install xlockmore xautolock
 +
 +vi ~/.xsession
 +# bevore wmaker is started run a line like this:
 +xautolock -locker 'xlock -mode blank' &
 +</code>
 +
 +===== 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. 
 +<code>
 +# 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/randback.pl >/tmp/randback.log
 +wmdocker &
 +wmdocker &
 +gkrellm &
 +nm-applet &
 +EOT
 +</code>
 +
 +===== 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:
 +<code>
 +#!/bin/sh
 +DEVICE='alsa_output.pci-0000_00_1b.0.analog-stereo'
 +ACTIVE_SINK=$(pacmd list-sinks | grep 'active port' | awk '{ print $3 }')
 +if [ "$ACTIVE_SINK" = "<analog-output-speaker>" ]; then
 +  WHAT=analog-output
 +  echo "[*] Enabling $WHAT on $DEVICE."
 +  pacmd set-sink-port $DEVICE $WHAT > /dev/null
 +else
 +  WHAT=analog-output-speaker
 +  echo "[*] Enabling $WHAT on $DEVICE."
 +  pacmd set-sink-port $DEVICE $WHAT > /dev/null
 +fi
 +exit 0
 +</code>
 +
 +Further workaround (thanks to https://wiki.archlinux.org/index.php/ThinkPad_mute_button ):
 +<code>
 +amixer sset Master on
 +</code>
software/fedora/windowmaker.txt ยท Last modified: 2021/04/29 15:21 by chris