#!/bin/bash program_name="raspscreen" runtime_id=$(id -u) userland_name="${1-systemec}" # Check if the user is right (root) for the program if [[ "$runtime_id" -ne 0 ]]; then echo "Not running as root, please run as root." exit 1 fi apt-get -y install libreoffice-impress psmisc ssh vlc systemctl enable --now ssh # Create the systemd userland folder if [[ ! -d /home/${userland_name}/.config/systemd/user ]]; then mkdir -p /home/${userland_name}/.config/systemd/user -m 755 fi # Create the program place onto /opt if [[ ! -d /opt/${program_name} ]]; then mkdir -p /opt/${program_name}/media -m 755 fi cat > /home/${userland_name}/.config/systemd/user/presentation.service << EOF [Unit] Description="Systemec Akarton Raspberry Pi Uploader Program (SARPUS)" After=graphical.target [Service] Type=simple Environment=DISPLAY=:0 WorkingDirectory=/opt/raspscreen ExecStartPre=/usr/bin/sleep 5 ExecStart=/bin/sh -c 'exec /usr/bin/libreoffice --impress --show --norestore \$(find /opt/raspscreen/media \( -name "*.pptx" -o -name "*.odp" \))' ExecStop=/usr/bin/killall libreoffice Restart=always Restart=on-failure RestartSec=2 [Install] WantedBy=default.target EOF cat > /home/${userland_name}/.config/systemd/user/video.service << EOF [Unit] Description="Systemec Akarton Raspberry Pi Uploader Program (SARPUS)" After=graphical.target [Service] Type=simple Environment=DISPLAY=:0 WorkingDirectory=/opt/raspscreen ExecStartPre=/usr/bin/sleep 5 ExecStart=/bin/sh -c 'exec /usr/bin/vlc --fullscreen --loop --no-video-title --video-on-top --no-qt-privacy-ask --no-qt-fs-controller --qt-continue=0 \$(find /opt/raspscreen/media \( -name "*.mp4" -o -name "*.mkv" -o -name "*.mov" -o -name "*.webm" \))' ExecStop=/usr/bin/killall vlc Restart=always Restart=on-failure RestartSec=2 [Install] WantedBy=default.target EOF chown -Rv ${userland_name}:${userland_name} /home/${userland_name}/.config/systemd chown -Rv ${userland_name}:${userland_name} /opt/${program_name} echo "Self-destruction NOW!" rm $(pwd)/$0