Direkt zum Hauptbereich

Kodi keeps crashing when it is started without connected displays. Sometimes I want to startup my kodi setup for some other reasen and start using kodi later.... then kodi was already closed with some crash log file... :(

This script works arround by waiting to start kodi until some hdmi port is connected (modify the grep query to adapt to some other port name).

#!/bin/bash
# Some programs have issues when run without connected display. E.g. Kodi likes to crash when started without any display connected on my system.
# This script starts after some hdmi port is connected.
# Depends on xrandr.

WARNINGTIMEOUTINSECONDS=840
TIMEOUTINSECONDS=900
POLLINGDURATIONINSECONDS=5
LOGFILE="$HOME/waitTillHdmiConnected.log"

#set start conditions
SECONDS=0

triggerTimeoutActions(){
    echo "Shuting down" | tee -a "$LOGFILE"
    echo $(date && echo "shutting realy down") | tee -a "$LOGFILE"
    # e.g. shutdown the system
    #sudo shutdown +1 | tee -a "$LOGFILE"
    exit
}

triggerHdmiConnectedActions(){
    # e.g. set some overscan hack
    #xrandr --output HDMI-3 --transform 1.05,0,-34,0,1.05,-20,0,0,1
    # e.g. start kodi
    #kodi &
    exit
}

echo $(date && echo "Start polling") | tee -a "$LOGFILE"

while [ 1 ]
do
    if xrandr 2> /dev/null | grep -q 'HDMI-[0-9] connected'then
        echo "HDMI connected" | tee -a "$LOGFILE"
        triggerHdmiConnectedActions
    else
        echo "HDMI not connected waiting $POLLINGDURATIONINSECONDS seconds" | tee -a "$LOGFILE"
        duration=$SECONDS
        #calc if timeout ocured -> shutdown
        echo "$(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed since first poll." | tee -a "$LOGFILE"
        if [ "$duration" -gt "$WARNINGTIMEOUTINSECONDS" ]; then
            echo "Warning: HDMI connection timout is about to occure!" | tee -a "$LOGFILE"
            if [ "$duration" -gt "$TIMEOUTINSECONDS" ]; then
                triggerTimeoutActions
            fi
        fi
        sleep $POLLINGDURATIONINSECONDS
    fi
done

Kommentare

Beliebte Posts aus diesem Blog

Skript kiddies und SSH

Anzahl an fehlerhaften Logins ausgeben: cat /var/logauth.log | grep invalid | wc -l Für einen Server, der in halbes Jahr im Netz läuft finde ich 68350 Versuche. Ein Auszug von /var/logauth.log Jun 3 00:12:02 uhweb69144 sshd[11470]: Invalid user hilary from 201.147.235.91 Jun 3 00:12:02 uhweb69144 sshd[11470]: reverse mapping checking getaddrinfo for static.customer-201-147-235-91.uninet-ide.com.mx failed - POSSIBLE BREAK-IN ATTEMPT! Jun 3 00:12:02 uhweb69144 sshd[11470]: (pam_unix) check pass; user unknown Jun 3 00:12:02 uhweb69144 sshd[11470]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost= 201.147.235.91 Jun 3 00:12:04 uhweb69144 sshd[11470]: Failed password for invalid user hilary from 201.147.235.91 port 49507 ssh2 Jun 3 00:12:09 uhweb69144 sshd[11530]: Invalid user howard from 201.147.235.91 Jun 3 00:12:09 uhweb69144 sshd[11530]: reverse mapping checking getaddrinfo for static.customer-201-147-235-91.uninet-ide.com.mx failed - POSS...

favourite geek&poke comics

http://geekandpoke.typepad.com/.a/6a00d8341d3df553ef013485e5e37b970c-pi http://geekandpoke.typepad.com/.a/6a00d8341d3df553ef013486458e35970c-pi http://geekandpoke.typepad.com/.a/6a00d8341d3df553ef0133f32a0f25970b-pi http://geekandpoke.typepad.com/.a/6a00d8341d3df553ef0133f3716c17970b-pi http://geekandpoke.typepad.com/.a/6a00d8341d3df553ef013486997ef7970c-pi http://geekandpoke.typepad.com/.a/6a00d8341d3df553ef013487146609970c-pi http://geekandpoke.typepad.com/.a/6a00d8341d3df553ef0133f4227ee4970b-pi