MagicMirror/Installation
From r00tedvw.com wiki
(Difference between revisions)
| Line 29: | Line 29: | ||
<nowiki>~$ ln -s /lib/systemd/system/magicmirrorscreen.service /etc/systemd/system/magicmirrorscreen.service</nowiki> | <nowiki>~$ ln -s /lib/systemd/system/magicmirrorscreen.service /etc/systemd/system/magicmirrorscreen.service</nowiki> | ||
| − | + | Reload service daemon and enable service | |
<nowiki>~$ systemctl daemon-reload | <nowiki>~$ systemctl daemon-reload | ||
~$ systemctl enable magicmirrorscreen.service</nowiki> | ~$ systemctl enable magicmirrorscreen.service</nowiki> | ||
| Line 80: | Line 80: | ||
[Install] | [Install] | ||
WantedBy=timers.target</nowiki> | WantedBy=timers.target</nowiki> | ||
| + | |||
| + | Create Symlink | ||
| + | <nowiki>~$ ln -s /lib/systemd/system/magicmirrorclearlogs.service /etc/systemd/system/magicmirrorclearlogs.service</nowiki> | ||
| + | |||
| + | Reload service daemon | ||
| + | <nowiki>~$ systemctl daemon-reload</nowiki> | ||
Enable and start the timer | Enable and start the timer | ||
<nowiki>systemctl enable nightly_task.timer | <nowiki>systemctl enable nightly_task.timer | ||
systemctl start nightly_task.timer</nowiki> | systemctl start nightly_task.timer</nowiki> | ||
Revision as of 03:01, 5 June 2024
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/MagicMirror/Utils touch /opt/MagicMirrorUtils/clearlogs.sh chmod +x /opt/MagicMirrorUtils/clearlogs.sh
/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=*-*- 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 nightly_task.timer systemctl start nightly_task.timer