User Tools

Site Tools


linux:lxdm_login_theming_setup

This is an old revision of the document!




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 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 three files:

  • /etc/lxdm/LoginReady
  • /etc/lxdm/PreLogin
  • /etc/lxdm/SetLogo

LoginReady - This is exicuted 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 19, 2014.

/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/PreLogin | (Executed as root)

#!/bin/sh
#
# Note: this is a sample and will not be run as is.
#!/bin/sh
#
# Note: this is a sample and will not be run as is.
#loltask > /dev/null &
#mount -B /opt/Steam /home/$USER/Steam
#mount -B /opt/Steamlocal $HOME/.local/share/Steam
#if [ "$?" -ne "0" ]
#then
#	mkdir -p $HOME/.local/share/Stean
#	mount -B /opt/Steamlocal $HOME/.local/share/Steam
#fi
#chown -R $USER:users $HOME/.local/share/Steam
#/bin/bash /etc/lxdm/SetLogo

/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
linux/lxdm_login_theming_setup.1504473445.txt.gz · Last modified: 2017/09/03 16:17 by wtoher