2026-02-09 13:39:32 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
#
|
|
|
|
|
# Development builder
|
|
|
|
|
#
|
|
|
|
|
install_file="install.sh"
|
|
|
|
|
cat > ./$install_file << EOF
|
|
|
|
|
#!/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 \\
|
|
|
|
|
default-jre libreoffice-impress libreoffice-java-common 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/current -m 755
|
|
|
|
|
mkdir -p /opt/\${program_name}/bin -m 755
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# THIS MUST BE THE SAME AS \$REPO/service-files/presentation.service
|
|
|
|
|
cat > /home/\${userland_name}/.config/systemd/user/presentation.service << EOF
|
|
|
|
|
EOF
|
|
|
|
|
|
2026-02-11 16:58:47 +01:00
|
|
|
# ABOVE AS WELL
|
|
|
|
|
# COMPILE presentation.service USERLAND SERVICE INTO INSTALL FILE!
|
|
|
|
|
#
|
|
|
|
|
|
2026-02-09 13:39:32 +00:00
|
|
|
cat ./service-files/presentation.service >> ./$install_file
|
|
|
|
|
echo -e "\nEOF\n" >> ./$install_file
|
|
|
|
|
|
2026-02-11 16:58:47 +01:00
|
|
|
#
|
|
|
|
|
# COMPILE video.service USERLAND SERVICE INTO INSTALL FILE!
|
|
|
|
|
#
|
|
|
|
|
|
2026-02-09 13:39:32 +00:00
|
|
|
cat >> ./$install_file << EOF
|
|
|
|
|
# THIS MUST BE THE SAME AS \$REPO/service-files/video.service
|
|
|
|
|
cat > /home/\${userland_name}/.config/systemd/user/video.service << EOF
|
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
cat ./service-files/video.service >> ./$install_file
|
|
|
|
|
echo -e "\nEOF\n" >> ./$install_file
|
|
|
|
|
|
2026-02-11 16:58:47 +01:00
|
|
|
#
|
|
|
|
|
# COMPILE disable-usb.service SYSTEM SERVICE INTO INSTALL FILE!
|
|
|
|
|
#
|
|
|
|
|
|
2026-02-09 13:39:32 +00:00
|
|
|
cat >> ./$install_file << EOF
|
2026-02-11 16:58:47 +01:00
|
|
|
# THIS MUST BE THE SAME AS \$REPO/service-files/disable-usb.service
|
|
|
|
|
cat > /etc/systemd/system/disable-usb.service << EOF
|
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
cat ./service-files/disable-usb.service >> ./$install_file
|
|
|
|
|
echo -e "\nEOF\n" >> ./$install_file
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
# COMPILE manage.sh SCRIPT INTO INSTALL FILE!
|
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
cat >> ./$install_file << EOF
|
|
|
|
|
# THIS MUST BE THE SAME AS \$REPO/bin/manage.sh
|
2026-02-09 13:39:32 +00:00
|
|
|
cat > /opt/raspscreen/bin/manage.sh << EOF
|
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
# Make sure to prefix all $ with a \
|
2026-02-11 16:58:47 +01:00
|
|
|
sed 's/\$/\\$/g' ./bin/manage.sh >> "$install_file"
|
|
|
|
|
echo -e "\nEOF\n" >> ./$install_file
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
# COMPILE disable-usb.sh SCRIPT INTO INSTALL FILE!
|
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
cat >> ./$install_file << EOF
|
|
|
|
|
# THIS MUST BE THE SAME AS \$REPO/bin/disable-usb.sh
|
|
|
|
|
cat > /opt/raspscreen/bin/disable-usb << EOF
|
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
sed 's/\$/\\$/g' ./bin/disable-usb.sh >> "$install_file"
|
2026-02-09 13:39:32 +00:00
|
|
|
echo -e "\nEOF\n" >> ./$install_file
|
|
|
|
|
|
2026-02-11 16:58:47 +01:00
|
|
|
|
2026-02-09 13:39:32 +00:00
|
|
|
cat >> ./$install_file << EOF
|
|
|
|
|
echo "alias userjournal='journalctl --user-unit'" /home/\${userland_name}/.bashrc
|
|
|
|
|
|
|
|
|
|
chmod +x /opt/raspscreen/bin/manage.sh
|
|
|
|
|
chown -Rv \${userland_name}:\${userland_name} /home/\${userland_name}/.config/systemd
|
|
|
|
|
chown -Rv \${userland_name}:\${userland_name} /opt/\${program_name}
|
|
|
|
|
|
|
|
|
|
su \${userland_name} -c "systemctl --user daemon-reload"
|
|
|
|
|
|
2026-02-11 11:18:51 +01:00
|
|
|
xmlstarlet ed -L -u "//prop[@oor:name='ShowTipOfTheDay']/value" -v "false" main.xcd
|
|
|
|
|
|
2026-02-09 13:39:32 +00:00
|
|
|
echo "Self-destruction NOW!"
|
|
|
|
|
rm \$(pwd)/\$0
|
|
|
|
|
EOF
|