first commit
This commit is contained in:
commit
5409acb198
15
README.md
Normal file
15
README.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# kodi-standalone-service
|
||||||
|
A simple systemd service file to run kodi in standalone mode.
|
||||||
|
|
||||||
|
## Dependency List
|
||||||
|
* systemd
|
||||||
|
* xorg-server with xorg-xinit
|
||||||
|
|
||||||
|
## Post-install instructions
|
||||||
|
If using xorg version >=1.16 then create /etc/X11/Xwrapper.config containing these two lines:
|
||||||
|
|
||||||
|
allowed_users = anybody
|
||||||
|
needs_root_rights = yes
|
||||||
|
|
||||||
|
## Credit
|
||||||
|
Credit for the service given to the Arch Linux maintainers of the official kodi package.
|
63
common/kodi-standalone2
Executable file
63
common/kodi-standalone2
Executable file
@ -0,0 +1,63 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright (C) 2009-2013 Team XBMC
|
||||||
|
# http://xbmc.org
|
||||||
|
#
|
||||||
|
# This Program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# This Program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with XBMC; see the file COPYING. If not, write to
|
||||||
|
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
# http://www.gnu.org/copyleft/gpl.html
|
||||||
|
|
||||||
|
APP=Kodi
|
||||||
|
prefix="/usr"
|
||||||
|
exec_prefix="/usr"
|
||||||
|
bindir="${exec_prefix}/bin"
|
||||||
|
bin_name=kodi
|
||||||
|
APP="${bindir}/${bin_name} --standalone $@"
|
||||||
|
|
||||||
|
PULSE_START="$(which start-pulseaudio-x11)"
|
||||||
|
if [ -n "$PULSE_START" ]; then
|
||||||
|
$PULSE_START
|
||||||
|
else
|
||||||
|
PULSE_SESSION="$(which pulse-session)"
|
||||||
|
if [ -n "$PULSE_SESSION" ]; then
|
||||||
|
XBMC="$PULSE_SESSION $XBMC"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
LOOP=1
|
||||||
|
CRASHCOUNT=0
|
||||||
|
LASTSUCCESSFULSTART=$(date +%s)
|
||||||
|
|
||||||
|
while [ $(( $LOOP )) = "1" ]
|
||||||
|
do
|
||||||
|
$APP
|
||||||
|
RET=$?
|
||||||
|
NOW=$(date +%s)
|
||||||
|
if [ $(( ($RET >= 64 && $RET <=66) || $RET == 0 )) = "1" ]; then # clean exit
|
||||||
|
LOOP=0
|
||||||
|
else # crash
|
||||||
|
DIFF=$((NOW-LASTSUCCESSFULSTART))
|
||||||
|
if [ $(($DIFF > 60 )) = "1" ]; then # Not on startup, ignore
|
||||||
|
LASTSUCESSFULSTART=$NOW
|
||||||
|
CRASHCOUNT=0
|
||||||
|
else # at startup, look sharp
|
||||||
|
CRASHCOUNT=$((CRASHCOUNT+1))
|
||||||
|
if [ $(($CRASHCOUNT >= 3)) = "1" ]; then # Too many, bail out
|
||||||
|
LOOP=0
|
||||||
|
echo "${APP} has exited uncleanly 3 times in the last ${DIFF} seconds."
|
||||||
|
echo "Something is probably wrong"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
16
init/kodi.service
Normal file
16
init/kodi.service
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
[Unit]
|
||||||
|
Description = Starts instance of Kodi using xinit
|
||||||
|
After = systemd-user-sessions.service network.target sound.target mysqld.service
|
||||||
|
Conflicts=getty@tty7.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User = kodi
|
||||||
|
Group = kodi
|
||||||
|
PAMName=login
|
||||||
|
Type = simple
|
||||||
|
TTYPath=/dev/tty7
|
||||||
|
ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/kodi-standalone2 -- :0 -nolisten tcp vt7
|
||||||
|
Restart = on-abort
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy = multi-user.target
|
Loading…
Reference in New Issue
Block a user