====== 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