MagicMirror/Installation

From r00tedvw.com wiki
Jump to: navigation, search

Custom service to turn on screen

Create executable

~$ mkdir -p /opt/MagicMirrorScreen
touch /opt/MagicMirrorUtils/magicmirrorscreen.sh
chmod +x /opt/MagicMirrorUtils/magicmirrorscreen.sh

~$ vim /opt/MagicMirrorUtils/magicmirrorscreen.sh

#\bin\bash
export DISPLAY=:0

while true; do
    xset s reset
    sleep 60
done

Create Service ~$ touch /lib/systemd/system/magicmirrorscreen.service

[Unit]
Description=example systemd service unit file.
After=magicmirror.service

[Service]
ExecStart=/bin/bash /opt/MagicMirrorUtils/magicmirrorscreen.sh
User=pi

[Install]
WantedBy=multi-user.target

Create Symlink

~$ ln -s /lib/systemd/system/magicmirrorscreen.service /etc/systemd/system/magicmirrorscreen.service

Reload service daemon and enable service

~$ systemctl daemon-reload
~$ systemctl enable magicmirrorscreen.service

Custom service to clear logs nightly

Create the script

~$ mkdir -p /opt/MagicMirrorUtils
~$ touch /opt/MagicMirrorUtils/clearlogs.sh
~$ chmod +x /opt/MagicMirrorUtils/clearlogs.sh

Create the script /opt/MagicMirrorUtils/clearlogs.sh

#!/bin/bash

# Define an array with the full paths of the files to delete
files=(
    "/var/log/magicmirror.log"
    "/root/.pm2/logs/mm-error.log"
    "/root/.pm2/pm2.log"
    "/root/.pm2/logs/mm-out.log"
)

# Loop through each item in the array and delete the file
for file in "${files[@]}"; do
    if [ -f "$file" ]; then
        echo "$(date +"%b %e %H:%M:%S"): MagicMirrorUtils\clearlogs.sh: Deleting $file" >> /var/log/messages
        rm -rf "$file"
    else
        echo "$(date +"%b %e %H:%M:%S"): MagicMirrorUtils\clearlogs.sh: File $file does not exist." >> /var/log/messages
    fi
done

Create the service /lib/systemd/system/magicmirrorclearlogs.service

[Unit]
Description=Nightly Task To Clear MagicMirror And Related Logs

[Service]
Type=oneshot
ExecStart=/opt/MagicMirrorUtils/clearlogs.sh
User=root

Create the timer /lib/systemd/system/magicmirrorclearlogs.timer

[Unit]
Description=Run Nightly Task

[Timer]
OnCalendar=02:00:00
Persistent=true

[Install]
WantedBy=timers.target

Create Symlink

~$ ln -s /lib/systemd/system/magicmirrorclearlogs.service /etc/systemd/system/magicmirrorclearlogs.service

Reload service daemon

~$ systemctl daemon-reload

Enable and start the timer

systemctl enable magicmirrorclearlogs.timer
systemctl start magicmirrorclearlogs.timer
Personal tools
Namespaces

Variants
Actions
Navigation
Mediawiki