|
|
- #!/bin/bash
-
- echo "##########################################################################################"
- echo "# install script for qtile window manager"
- echo "# Dennis Buchhorn - code@b-eit.de"
- echo "##########################################################################################"
- echo ""
-
- if ! [[ $(id -u) == "0" ]]; then
- echo "The script need to be run as root!" >&2
- exit 1
- fi
-
- if [[ $SUDO_USER ]]; then
- REAL_USER=$SUDO_USER
- else
- REAL_USER=$(whoami)
- fi
-
- for ARG in "$@"; do
- if [[ $ARG == "--repo-dir="* ]]; then
- REPO_DIR=$(echo $ARG | cut -c 12-)
- fi
- done
-
- ## copied from https://github.com/JerrySM64/Qtile-Debian/blob/main/qtile-setup.sh
-
- # Remove the EXTERNALLY-MANAGED file so pip works again
- rm /usr/lib/python3.11/EXTERNALLY-MANAGED
-
- # Install the full python 3 suite, pip, git and all dependencies
- apt update
- apt install python3-full python3-pip libpangocairo-1.0-0 python3-cffi python3-xcffib git -y
-
- # Install cairocffi using pip
- sudo -u $REAL_USER pip install --no-cache-dir cairocffi
-
- if [[ $REPO_DIR == "" ]]; then
- REPO_DIR="/home/$REAL_USER/qtile"
- fi
-
- sudo -u $REAL_USER mkdir -p $REPO_DIR
-
- sudo -u $REAL_USER git clone https://github.com/qtile/qtile.git "$REPO_DIR"
- cd "$REPO_DIR"
- sudo -u $REAL_USER pip install .
-
- # Create xsessions desktop file
- tee << EOF /usr/share/xsessions/qtile.desktop > /dev/null
- [Desktop Entry]
- Name=Qtile
- Comment=Qtile Session
- Type=Application
- Keywords=wm;tiling
- Exec=/home/$REAL_USER/.local/bin/qtile start
- EOF
-
- # Create config for using qtile as xrdp desktop session and loading pulseaudio modules for xrdp
- sudo -u $REAL_USER tee -a << EOF /home/$REAL_USER/.profile > /dev/null
-
- ## start preferred desktop environment via xrdp
- [ -n "\$XRDP_SESSION" ] && export DESKTOP_SESSION=qtile
-
- ## load pulseaudio modules for xrdp
- /usr/libexec/pulseaudio-module-xrdp/load_pa_modules.sh
- EOF
|