====== LXDM Login Theming Setup ======
====== Introduction ======
The ArchLinux Workstations are themed with either the ACM Logo or LUG logo. They are set to alternate between workstations.
====== Setup ======
Setup the [[linux:acm_custom_repo|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 {{:acm-themes.tar.gz|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.
====== Scripts ======
Up to date as of **September 3, 2017**.
==== /etc/lxdm/LoginReady | (Executed as root) ====
#!/bin/sh
/etc/lxdm/SetLogo
#/usr/bin/xsetroot -solid black
/usr/bin/mount 172.29.0.6:/acm-home /home
/usr/bin/mount 172.29.0.7:/pkgs-64 /var/cache/pacman/pkg
/usr/bin/localectl set-keymap us
==== /etc/lxdm/PostLogin | (Executed as logged-in user) ====
#!/bin/sh
xset dpms 0 0 0
==== /etc/lxdm/PostLogout | (Executed as logged-in user) ====
#!/bin/bash
#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
#then
# /usr/bin/systemctl restart lxdm
#fi
==== /etc/lxdm/SetLogo | (Inherently run as root be previous script.) ====
#!/bin/bash
# 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.
_EVEN_THEME="acm"
_ODD_THEME="lug"
_IP="$(ip addr | awk '/inet/ && /enp/{sub(/\/.*$/,"",$2); print $2}' | cut -d'.' -f4)"
_REMAIN=$(expr $_IP % 2)
if [ $_REMAIN -eq 0 ]
then
echo "This is an ACM Logo."
sed -i -e 's/^theme=.*/theme='$_EVEN_THEME'/' /etc/lxdm/lxdm.conf
else
echo "This is an LUG Logo."
sed -i -e 's/^theme=.*/theme='$_ODD_THEME'/' /etc/lxdm/lxdm.conf
fi