Difference between revisions of "Frontend Loading Script"
(→Script) |
Jasonblewis (talk | contribs) (added a very minimalist script for running the frontend) |
||
Line 60: | Line 60: | ||
</pre> | </pre> | ||
+ | == Yet another script == | ||
+ | I wrote this script to be executed from .xinitrc. The idea of the script is to restart the mythtv frontend if it crashes, but if the user chooses to quit, it quits gracefully. There are times when the user may not want the frontend to keep restarting. | ||
+ | It sends all of the frontend's output to the MYTHERRORS file and includes a line if it restarted the frontend after a crash. | ||
+ | |||
+ | <pre> | ||
+ | #!/bin/bash | ||
+ | # This runs mythfrontend until you quit it. if it exits prematurely, | ||
+ | # it will restart it. | ||
+ | |||
+ | while ! /usr/bin/mythfrontend 2>&1 | ||
+ | do | ||
+ | echo `date` ------------- Mythfrontend restarted after a crash | ||
+ | done | tee -a ~mythtv/MYTHERRORS | ||
+ | </pre> | ||
== Other Options == | == Other Options == |
Revision as of 11:29, 16 March 2009
There are a few methods to load mythfrontend depending on your setup. This method uses a script that will continually reload mythfrontend if it ever crashes. While technically near impossible to guarantee that mythfrontend will stay running, it should rarely crash and it's more likely that someone will hit ESC too many times and we'll be left with an empty display on our big TV.
Script
To avoid having to break out the keyboard and restart mythfrontend, here's a little script I use to restart it automatically:
#!/bin/bash # mythrestart.sh # Automatically restart mythfrontend if it fails. # Just for fun, lets start the myth transcode dameon, too. sudo mtd -d # Loop the call of mythfrontend. while [ /bin/true ] do sudo killall mythfrontend sudo mythfrontend sleep 2 done
Then, instead of starting Myth with 'mythfrontend', start it with the script above.
Alternate Script
Here is a different script I use to start mythfrontend and/or lircd if either quit/crash. The script is launched by irexec whenever I press the 'PC Power' button on my MCE remote.
It's also useful when you would like to start mythfrontend remotely (from SSH session for example), and having it forked to background.
#!/bin/sh #startmythfrontend.sh #Start mythfrontend and/or lircd on by remote button press from irexec if [ "$LOGNAME" == "root" ] then echo "Hello root, you should be running this script as \"mythtv\" user, goodbye." exit fi if [ ! "$(pidof mythfrontend)" ] then echo "Mythfrontend is not started. Starting Mythfrontend..." DISPLAY=:0 xset -dpms DISPLAY=:0 mythfrontend > /var/log/mythfrontend.log 2>&1 & else echo "Mythfrontend is already started." fi if [ ! "$(pidof irexec)" ] then echo "Irexec is not started. Starting Irexec..." DISPLAY=:0 irexec -d /home/mythtv/.lircrc 2&> /home/mythtv/irexec.log 2>&1 & else echo "Irexec is already started." fi
Yet another script
I wrote this script to be executed from .xinitrc. The idea of the script is to restart the mythtv frontend if it crashes, but if the user chooses to quit, it quits gracefully. There are times when the user may not want the frontend to keep restarting.
It sends all of the frontend's output to the MYTHERRORS file and includes a line if it restarted the frontend after a crash.
#!/bin/bash # This runs mythfrontend until you quit it. if it exits prematurely, # it will restart it. while ! /usr/bin/mythfrontend 2>&1 do echo `date` ------------- Mythfrontend restarted after a crash done | tee -a ~mythtv/MYTHERRORS
Other Options
Another option is to have mythfrontend load automatically upon boot, this method is described at Frontend Auto Login