100 lines
2.6 KiB
Bash
Executable File
100 lines
2.6 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# this file is executed when calling startx
|
|
|
|
# To run different WM, run:
|
|
# startx ~/.xinitrc SESSION
|
|
# eg. startx ~/.xinitrc openbox
|
|
|
|
# Commands for autologin with Systemd & Arch
|
|
# No editing files or messing about required
|
|
#--------------------------------------#
|
|
# This copies the default getty service file so we can modify it
|
|
# 1. sudo cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/autologin@.service
|
|
|
|
# This removes the existing link and creates a link to the file copied above
|
|
# 2. sudo rm -f /etc/systemd/system/getty.target.wants/getty@tty1.service && sudo ln -s /etc/systemd/system/autologin@.service /etc/systemd/system/getty.target.wants/getty@tty1.service
|
|
|
|
# This command sets your user as the autologin user
|
|
# 3. sudo sed -i "/ExecStart/ c ExecStart=-/sbin/agetty -a ${USER} %I \$TERM" /etc/systemd/system/autologin@.service
|
|
|
|
# This command will back up existing ~/.zprofile or ~/.bash_profile
|
|
# 4. for f in $HOME/.{zprofile,bash_profile}; do if [[ -f $f ]]; then mv $f $HOME/${f}.bak; fi; done
|
|
|
|
# This command creates a new ~/.zprofile & ~/.bash_profile.. you can delete the one you don't need
|
|
# 5. for x in $HOME/.{zprofile,bash_profile}; do echo -e "# $x\n\nif [[ \$DISPLAY ]] && [[ -n \$XDG_VTNR ]] && [[ \$XDG_VTNR -eq 1 ]]; then\n exec startx\nfi\n" > $x; done
|
|
|
|
# Finish up
|
|
# 6. Remove Your Current Display Manager and Reboot!!
|
|
#--------------------------------------#
|
|
|
|
|
|
# Session to run if none given
|
|
session=${1:-openbox}
|
|
|
|
# set ENV window manager for use in other scripts
|
|
export WM="$session"
|
|
|
|
# bspwm requires this to be set
|
|
export XDG_CONFIG_HOME=$HOME/.config
|
|
|
|
|
|
# Default Arch xinit scripts
|
|
if [ -d /etc/X11/xinit/xinitrc.d ]; then
|
|
for f in /etc/X11/xinit/xinitrc.d/*.sh; do
|
|
[ -x "$f" ] && . "$f"
|
|
done
|
|
fi
|
|
|
|
if [ -f /etc/X11/xinit/.Xmodmap ]; then
|
|
xmodmap /etc/X11/xinit/.Xmodmap
|
|
fi
|
|
|
|
# user init scripts and settings
|
|
if [ -f ~/.Xmodmap ]; then
|
|
xmodmap ~/.Xmodmap
|
|
fi
|
|
|
|
if [ -f ~/.Xresources ]; then
|
|
xrdb -merge ~/.Xresources
|
|
fi
|
|
|
|
if [ -f ~/.xprofile ]; then
|
|
source ~/.xprofile
|
|
fi
|
|
|
|
# keyring for storing passwords
|
|
gnome-keyring-daemon --start --components=pkcs11 &
|
|
|
|
# run policy kit
|
|
lxpolkit &
|
|
|
|
# keyboard repeat rate
|
|
kbdrate -d 400 -r 50
|
|
xset r rate 400 50
|
|
|
|
# display timeout
|
|
xset s 3600 3600
|
|
|
|
|
|
# Do NOT put code below this case statement
|
|
case $session in
|
|
dwm)
|
|
exec dwm
|
|
;;
|
|
i3|i3wm)
|
|
exec i3
|
|
;;
|
|
bsp|bspwm)
|
|
exec bspwm
|
|
;;
|
|
xfce|xfce4)
|
|
exec startxfce4
|
|
;;
|
|
openbox)
|
|
exec openbox-session
|
|
;;
|
|
*)
|
|
exec "$1" # Unknown, try running it
|
|
esac
|