MagicMirror/Installation

From r00tedvw.com wiki
(Difference between revisions)
Jump to: navigation, search
 
(10 intermediate revisions by one user not shown)
Line 1: Line 1:
 
=Custom service to turn on screen=
 
=Custom service to turn on screen=
 
Create executable
 
Create executable
  <nowiki>~$ mkdir -p /opt/MagicMirrorScreen && touch /opt/MagicMirrorScreen/magicmirrorscreen.sh
+
  <nowiki>~$ mkdir -p /opt/MagicMirrorScreen
sudo sh -c 'printf "#\\\\bin\\\\bash\nexport DISPLAY=:0\nxset s reset" > /opt/MagicMirrorScreen/magicmirrorscreen.sh'
+
touch /opt/MagicMirrorUtils/magicmirrorscreen.sh
chmod +x /opt/MagicMirrorScreen/magicmirrorscreen.sh</nowiki>
+
chmod +x /opt/MagicMirrorUtils/magicmirrorscreen.sh</nowiki>
 +
<code>~$ vim /opt/MagicMirrorUtils/magicmirrorscreen.sh</code>
 +
<nowiki>#\bin\bash
 +
export DISPLAY=:0
 +
 
 +
while true; do
 +
    xset s reset
 +
    sleep 60
 +
done</nowiki>
  
 
Create Service
 
Create Service
<code>$touch /lib/systemd/system/magicmirrorscreen.service</code>
+
<code>~$ touch /lib/systemd/system/magicmirrorscreen.service</code>
 
  <nowiki>[Unit]
 
  <nowiki>[Unit]
 
Description=example systemd service unit file.
 
Description=example systemd service unit file.
Line 12: Line 20:
  
 
[Service]
 
[Service]
ExecStart=/bin/bash /opt/MagicMirrorScreen/magicmirrorscreen.sh
+
ExecStart=/bin/bash /opt/MagicMirrorUtils/magicmirrorscreen.sh
 +
User=pi
  
 
[Install]
 
[Install]
Line 20: 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>
  
Restart and enable service
+
Reload service daemon and enable service
 
  <nowiki>~$ systemctl daemon-reload
 
  <nowiki>~$ systemctl daemon-reload
 
~$ systemctl enable magicmirrorscreen.service</nowiki>
 
~$ systemctl enable magicmirrorscreen.service</nowiki>
 +
 +
=Custom service to clear logs nightly=
 +
Create the script
 +
<nowiki>~$ mkdir -p /opt/MagicMirrorUtils
 +
~$ touch /opt/MagicMirrorUtils/clearlogs.sh
 +
~$ chmod +x /opt/MagicMirrorUtils/clearlogs.sh</nowiki>
 +
Create the script <code>/opt/MagicMirrorUtils/clearlogs.sh</code>
 +
<nowiki>#!/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</nowiki>
 +
 +
Create the service
 +
<code>/lib/systemd/system/magicmirrorclearlogs.service</code>
 +
<nowiki>[Unit]
 +
Description=Nightly Task To Clear MagicMirror And Related Logs
 +
 +
[Service]
 +
Type=oneshot
 +
ExecStart=/opt/MagicMirrorUtils/clearlogs.sh
 +
User=root</nowiki>
 +
 +
Create the timer
 +
<code>/lib/systemd/system/magicmirrorclearlogs.timer</code>
 +
<nowiki>[Unit]
 +
Description=Run Nightly Task
 +
 +
[Timer]
 +
OnCalendar=02:00:00
 +
Persistent=true
 +
 +
[Install]
 +
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
 +
<nowiki>systemctl enable magicmirrorclearlogs.timer
 +
systemctl start magicmirrorclearlogs.timer</nowiki>

Latest revision as of 02:09, 5 June 2024

[edit] 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

[edit] 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
Confluence
DevOps Tools
Open Source Products
Ubuntu
Ubuntu 22
Mac OSX
Oracle Linux
AWS
Windows
OpenVPN
Grafana
InfluxDB2
TrueNas
MagicMirror
OwnCloud
Pivotal
osTicket
OTRS
phpBB
WordPress
VmWare ESXI 5.1
Crypto currencies
HTML
CSS
Python
Java Script
PHP
Raspberry Pi
Canvas LMS
Kaltura Media Server
Plex Media Server
MetaSploit
Zoneminder
ShinobiCE
Photoshop CS2
Fortinet
Uploaded
Certifications
General Info
Games
Meal Plans
NC Statutes
Politics
Volkswagen
Covid
NCDMV
Toolbox