User Tools

Site Tools


LXDM Login Theming Setup


The ArchLinux Workstations are themed with either the ACM Logo or LUG logo. They are set to alternate between workstations.


Setup the ACM custom repo on the workstation first

Install themes with this command and follow the post install instructions

pacman -S acm-lug-lxdm-themes

Unpack this archive with the ACM and LUG themes into /usr/share/lxdm/themes

This is setup by several files:

  • /etc/lxdm/LoginReady
  • /etc/lxdm/PreLogin (unused)
  • /etc/lxdm/PostLogin
  • /etc/lxdm/PostLogout
  • /etc/lxdm/PreReboot (unused)
  • /etc/lxdm/PreShutdown (unused)
  • /etc/lxdm/lxdm.conf
  • /etc/lxdm/SetLogo

The directory also contains the Xsession file, which should not be edited manually

LoginReady - This is executed as root when LXDM is ready to show the screen.

PreLogin - Executed by LXDM as root.

SetLogo - Contains the sed regex for the link and IP, the 'even' and 'odd' themes settings, and detects which theme to use.


Up to date as of September 3, 2017.

/etc/lxdm/LoginReady | (Executed as root)

#/usr/bin/xsetroot -solid black
/usr/bin/mount /home
/usr/bin/mount /var/cache/pacman/pkg
/usr/bin/localectl set-keymap us

/etc/lxdm/PostLogin | (Executed as logged-in user)

xset dpms 0 0 0

/etc/lxdm/PostLogout | (Executed as logged-in user)

#umount $HOME/.local/share/Steam
xsetroot -solid black
##Reset guest directory
sudo -n /usr/bin/guestd $USER
test -x /usr/bin/pax11publish && /usr/bin/pax11publish -r
# Terminate current user session
#killall --user $USER -TERM
#/usr/bin/loginctl terminate-session $XDG_SESSION_ID
xset dpms 300 330 360
#if ! pgrep lxdm-greeter >> /dev/null
#	/usr/bin/systemctl restart lxdm

/etc/lxdm/SetLogo | (Inherently run as root be previous script.)

# Authors: Chase Lee (clee231), Walter Dworak (walter)
# Date: September 15, 2014
# Version: 1.03
# Description: Determines and sets the login theming based on modulus 2 op on last segment of IPv4 address.
# Dependencies: 
#               - Awk (Awk >= 4.1.0)
#               - Bash (GNU Bash >= 4.2) (;-P)
# As of July 16, 2013, there resides 6 workstations in the ACM/LUG office.
_IP="$(ip addr | awk '/inet/ && /enp/{sub(/\/.*$/,"",$2); print $2}' | cut -d'.' -f4)"
_REMAIN=$(expr $_IP % 2)
if [ $_REMAIN -eq 0 ]
        echo "This is an ACM Logo."
        sed -i -e 's/^theme=.*/theme='$_EVEN_THEME'/' /etc/lxdm/lxdm.conf
        echo "This is an LUG Logo."
        sed -i -e 's/^theme=.*/theme='$_ODD_THEME'/' /etc/lxdm/lxdm.conf
linux/lxdm_login_theming_setup.txt · Last modified: 2021/05/02 21:36 (external edit)