Start von KODI aus einem Terminal

  • Sorry, falls schon mal gefragt, aber die Suchfunktion und das Stöbern im Forum hat mich leider nicht weitergebracht. Ich muss noch voranstellen, dass ich ein absoluter Linux-Noob bin.

    Aber jetzt zu meiner Problemstellung:
    Da es immer wieder vorkommt, dass sich KODI plötzlich beendet und ich auf dem Linux-GUI lande, würde ich KODI gerne über eine Terminal-App (Termius heißt sie) auf meinem iPhone starten, da an meinem HTPC weder Tastatur noch Maus angeschlossen sind. Ich habe aber null Ahnung wie ich das bewerkstelligen soll. Wenn ich die Terminal-App starte, befinde ich mich im Home-Verzeichnis des KODI-Users. Eingabe des Befehls "kodi" startet KODI leider nicht, sondern bringt nur die Fehlermeldung
    "Error: /usr/lib/x86_64-linux-gnu/kodi/kodi-gbm not found"
    Es wäre aber schön, wenn es einfach so funktionieren würde.
    Kann mir einer von den Linux-Cracks verraten, was ich dafür tun muss?

    Mein System:
    Linux Mint 19.3 Tricia x64
    KODI Leia 18.5
    Installiert habe ich KODI über das offizielle Repository "ppa:team-xbmc/ppa".

  • @DaVu du hast da sicher mehr erfahrung als ich.
    ich denke ja es liegt daran das er mit dem terminal eine extra session öffnet und praktisch nicht auf der geöffneten Session vom pc arbeitet.

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

  • Kann auch nur vermuten was da passiert, weil ich kein mint am laufen habe.
    Glaube das bei Dir Kodi unter dem X11 windows system laeuft. Das hat auch besseres video-rendering als die standalone version kodi-gdm. Wenn Du dich remote einlogst auf dem rechner, und kodi startest, dann wird der kodi startup script wohl gucken, ob er das windows system X11 findet. Und weil er es halt nicht findet, sucht er kodi-gdm, was Du nicht installiert hast.

    je nachdem, wie da beim X11 die Zugangskontrolle gemacht ist, kann es reichen, sowas hier zu machen:

    DISPLAY=:0.0; export DISPLAY
    kodi

    weiss aber nicht, unter welchem benutzeraccount kodi da normalerweise startest. Du musst Dich auf jeden Fall unter dem account einloggen. Kann aber sein das es nicht geht wegen staerkerer sicherheitskontrolle.

    das kodi selbst ist wahrscheinlich bloss ein startup script. Ich habe auf meinem system den script halt durch einen ersetzt, der den original startupscript halt einfach immer nach 20 sekunden wieder neu startet. Das ist natuerlich auch bloss ein schlechter hack auf einem alten linux-system, das ich nicht einfadh aufgeruestet bekomme damit diese dummen abstuerze nicht passieren.

    Kannst auch probieren als root einfach das ganze x11 neu zu starten, allerdings musst du wissen, wie dein x11 window manager heisst, bei mir z.b. lightdm (debian):

    /etc/initd.d/lightdm restart
    gibt noch xdm, gdm, kdm,...

  • Da es immer wieder vorkommt, dass sich KODI plötzlich beendet und ich auf dem Linux-GUI lande

    Bevor ich mir Gedanken machen würde, wie ich X-Forwarde oder wie ich ein Display auf dem entfernten Rechner exportiere, würde ich mir doch lieber Gedanken darüber machen, wie ich die genannte Ursache behebe. Wenn Kodi sich selbsttätig beendet, crasht es meistens. Wenn Kodi das macht, wird ein crashlog im Home Verzeichnis des Users erstellt. Da würde ich gern mal eines von sehen. Da dürften mittlerweile viele liegen ;)

    Alternativ nach dem Crash: cat ~/.kodi/temp/kodi.old.[definition='1','0']log[/definition] | nc termbin.com 9999
    Da kommt dann eine URL zurück, die du hier posten kannst.

    Schließlich muss es eine Ursache habe, warum Kodi sich auf einmal beendet.

    Alles andere ist nur Gefummel und Gefrickel und erst recht von einem iPhone aus. Da habe ich noch nichtmal Lust mich mit zu beschäftigen :D

    Edit:

    und ich würde gern noch: apt-cache policy kodi | nc termbin.com 9999 sehen. Wir sind mittlerweile bei Kodi 18.6 und es würde mich wundern, wenn da kein Update vorliegt.

    Einmal editiert, zuletzt von DaVu (29. März 2020 um 19:29)

  • Bevor ich mir Gedanken machen würde, wie ich X-Forwarde oder wie ich ein Display auf dem entfernten Rechner exportiere, würde ich mir doch lieber Gedanken darüber machen, wie ich die genannte Ursache behebe. Wenn Kodi sich selbsttätig beendet, crasht es meistens. Wenn Kodi das macht, wird ein crashlog im Home Verzeichnis des Users erstellt. Da würde ich gern mal eines von sehen. Da dürften mittlerweile viele liegen ;)
    Alternativ nach dem Crash: cat ~/.kodi/temp/kodi.old.[definition='1','0']log[/definition] | nc termbin.com 9999
    Da kommt dann eine URL zurück, die du hier posten kannst.

    Schließlich muss es eine Ursache habe, warum Kodi sich auf einmal beendet.


    Da sich Kodi nicht sehr häufig von selber beendet, mache ich jetzt erst einmal keine Ursachenforschung. ;)

    Alles andere ist nur Gefummel und Gefrickel und erst recht von einem iPhone aus. Da habe ich noch nichtmal Lust mich mit zu beschäftigen :D


    Hmm, von jemandem, der sich mit Linux beschäftigt, zu hören, dass das Arbeiten in einem Terminal "Gefummel und Gefrickel" ist, ist zumindest mal ganz witzig. :D Das ist schließlich eine der ganz großen Stärken von Linux, dass man ganz elegant im Terminal arbeiten kann.

    Aber egal. 8)

    Ich habe eine für mich sehr einfach Lösung gefunden. Und die ist kein "Gefummel und Gefrickel". Einfach im Terminal sudo service lightdm restart eingeben. Wenn man dann noch dafür sorgt, dass man kein sudo verwenden muss und dann noch einen Alias vergibt, ist man schon fertig.

    Wer will, kann sich den Thread im offiziellen Kodi-Forum, in dem ich meine Lösung gefunden habe, einmal anschauen:
    How to restart KODI without rebooting from Terminal

    Vielen Dank an alle, die mir hier Unterstützung geleistet haben. :)

  • Nein, das wäre für mich keine Lösung

    1. wollte ich nicht, dass ein anderer User (abgesehen von root) ohne die Eingbabe eines Passworts solche Befehle absetzen kann
    Somit öffnest du hiermit:

    Wenn man dann noch dafür sorgt, dass man kein sudo verwenden muss und dann noch einen Alias vergibt, ist man schon fertig.

    eine Sicherheitslücke in deinem System. Denn ich kann dann höchstewahrscheinlich ALLE Services ohne die Eingabge eines Passwortes starten, stoppen, disablen etc....und dazu gehört auch die Firewall. Somit also für mich ein No-Go. Aber es ist dein System, du bist der Admin und somit bist du auch verantwortlich.

    2. hast du immer noch keine Lösung dafür gefunden, warum Kodi crasht. Aber das willst du offensichtlich auch nicht wissen ;)

    Hmm, von jemandem, der sich mit Linux beschäftigt, zu hören, dass das Arbeiten in einem Terminal "Gefummel und Gefrickel" ist, ist zumindest mal ganz witzig.

    Das habe ich nicht gesagt. Ich habe gesagt, dass der Workaround, den du da versuchst gefummel und gefrickel ist (was es auch definitiv immer noch ist) und das würde ich nicht machen. Bitte nichts interpretieren, was ich nicht gesagt habe.

    Wenn du den Thread aufmerksam gelesen hast, steht da auch was von DISPLAY=:0 kodi, da würde ich an deiner Stelle mal weiter schauen. Habe das schon lange nicht mehr gemacht. Muss mal schauen, wie das aktuell läuft Ist auch das, was schon @te36 erwähnt hat.

    Edit:

    Nach einem kurzem Test und dem aktvieren meinen SSHD Dienstes kann ich bestätigen, dass
    DISPLAY=:0 kodi &
    einwandfrei läuft.

    Um Kodi dann auch via terminal zu beenden einfach den Prozess, den du mit "&" in den Hintergrund geschickt hast, mit "fg" wieder in den Vordergrund holen und dann mit "STRG+c" beenden.

    Sollte das nicht gehen, weil Kodi noch einen offenen Prozess hat (was manchmal passieren kann), dann einfach mit pgrep -l kodi die Prozess-ID raus finden und den Prozess "killen".

    Ich würde dir dringend empfehlen das nicht über den Service zu machen und erst Recht nicht in dem Weg, dass ich kein Passwort mehr für die Services brauche. Denn das ist leider zu kurzsichtig gedacht.

    Bitte nicht böse sein, wenn sich das irgendwie doof anhört. Aber so ist es nun mal.

    Das nur mal von einem, der sich gern mit Linux und dem Terminal beschäftigt ;)

    3 Mal editiert, zuletzt von DaVu (11. April 2020 um 16:58)

  • Das ist der script den ich auf einem grottig alten gentoo mit grottig alten kodi verwende, weil das ganze system halt mal auf ein aktuelle debian umgestellt werden muesste, ich aber nicht dazu komme.

    Sicherlich nicht 1:1 uebertragbar, aber man sollte sehen was man so mit script schnell machen kann. Kodi stuerzt ja nicht nur ab aber auf der Kiste sondern zerschiesst gerne auch dabei die config-dateien, und das nervt sonst gewaltig.
    fixes

    Einmal editiert, zuletzt von te36 (11. April 2020 um 17:19) aus folgendem Grund: fixes

  • Da auf dem System ausschließlich KODI läuft und sonst absolut nichts, kann ich gut mit dem Sicherheitsrisiko leben. Da KODI recht selten abstürzt, hat die Ursachenforschung keine hohe Prio. Zumal es mit 18.6 momentan noch keine Probleme gibt. Vielleicht war irgendwas mit 18.5.

    DISPLAY=:0 kodi und DISPLAY=:0 kodi & gehen zwar beide, aber wenn ich das Terminal (das auf meinem iPhone oder auf meinem Windows-PC läuft) schließe, wird auch KODI sofort beendet. Das ist natürlich nicht der Sinn der Sache.

  • Das könntest Du mit der Installation von "screen" umgehen. Damit kannst Du die verschiedenen Sessions auch weiterlaufen lassen wenn dein Client nicht verbunden ist.

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

  • Das könntest Du mit der Installation von "screen" umgehen. Damit kannst Du die verschiedenen Sessions auch weiterlaufen lassen wenn dein Client nicht verbunden ist.

    Das klingt sehr interessant. Wie funktioniert das bzw. was genau muss ich dafür tun? Bin leider ein Linux-Noob. :(
    Mich hat bei der Variante mit DISPLAY=:0 auch gestört, dass ich KODI über sein POWER-Menu nur noch verlassen, aber den PC weder herunterfahren noch neu starten kann. Wäre das bei der Verwendung von "screen" anders?

  • guck dir halt den script an den ich reingestellt habe. Automatisch nachstarten ist immer noch die bessere loesung als versuchen sich in das system einzufummeln und den kodi manuell nachzustarten.

    ich verwende screen seit 30 jahren zur arbeit aber vom handy aus sich einzuloggen und dann auch nochs creen zu starten ist keine grosse vereinfachung.

  • naja, screen müsste im standard ppa sein
    also zur ersten installation:
    sudo apt-get install screen

    im terminal/ssh dann aufrufen:
    screen -S sitzung1 beim ersten mal erstellt eine neue unabhängige Sitzung.
    screen -r sitzung1 ruft diese dann wieder auf falls du das terminal fenster geschlossen hast. (falls nur eine Sitzung existiert reicht auch screen -r)

    In dieser Sitzung kannst du dann deine Befehle absetzen.

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

  • schon klar, aber so wie geschrieben will er das alles vom handy aus eintippen. kommt am ende also daruf an, wieviele buchstaben man vom handy aus eintippen will. mich zumindestens wuerde das komplett an den rande des nervenzusammenbruchsbringen. Immer wenn ich da mal im android ein terminal aufmachen muss um was zu [definition=12,2]debugging[/definition] kriege ich die kriese.

    Ausserdem verstehe ich halt nicht, warum OP das neustarten nicht einfach, wie vorgeschlagen automatisiert.

    Naja.

  • guck dir halt den script an den ich reingestellt habe. Automatisch nachstarten ist immer noch die bessere loesung als versuchen sich in das system einzufummeln und den kodi manuell nachzustarten.

    ich verwende screen seit 30 jahren zur arbeit aber vom handy aus sich einzuloggen und dann auch nochs creen zu starten ist keine grosse vereinfachung.

    Das mit dem Skript schaue ich mir mal genauer an. Es ist auf jeden Fall clever eine funktionierende Version der GUI-Settings zu laden.
    Was bewirkt der Parameter -l, wenn man ihn beim Aufruf von Kodi nutzt?

    Übrigens mach ich das mit dem Handy weil(!) es einfach und schnell ist. iPhone entsperren, Terminal starten und Befehl absetzen, dauert keine 15 Sekunden. Eher 10 Sekunden.

  • Ausserdem verstehe ich halt nicht, warum OP das neustarten nicht einfach, wie vorgeschlagen automatisiert.

    Naja.

    Mit Scripten kenne ich mich noch nicht richtig aus. Darf ich Dich so verstehen, dass Dein obiges Script, sobald mein Kodi abstürzt, es sofort automatisch neu startet?

  • Zitat von SkyBird1980


    naja, screen müsste im standard ppa sein
    also zur ersten installation:
    sudo apt-get install screen

    im terminal/ssh dann aufrufen:
    screen -S sitzung1 beim ersten mal erstellt eine neue unabhängige Sitzung.
    screen -r sitzung1 ruft diese dann wieder auf falls du das terminal fenster geschlossen hast. (falls nur eine Sitzung existiert reicht auch screen -r)

    In dieser Sitzung kannst du dann deine Befehle absetzen.


    Das habe ich inzwischen ausprobiert. Das funktioniert soweit. Allerdings mit der von mir bereits oben geschilderten Einschränkung, dass das Power-Menü von KODI den Neustart und das Herunterfahren des PCs nicht mehr anbietet.

  • Das mit dem Skript schaue ich mir mal genauer an. Es ist auf jeden Fall clever eine funktionierende Version der GUI-Settings zu laden.Was bewirkt der Parameter -l, wenn man ihn beim Aufruf von Kodi nutzt?

    Übrigens mach ich das mit dem Handy weil(!) es einfach und schnell ist. iPhone entsperren, Terminal starten und Befehl absetzen, dauert keine 15 Sekunden. Eher 10 Sekunden.

    Naja, ich kann halt nicht gut auf'm display tippen. Hatte bis vor 3 jahren immer nur android telefone mit schiebetastatur, gute alte Zeiten *seufz*.

    Das -l macht glaube ich full-screen, weiss aber nicht mehr, ob das wirklich funktioniert.

    Ja, der Script ist einfach eine schleife, die endlos kodi started und dann 10 sekunden lang wartet ("sleep") wenn er terminiert (crash oder gewollt ist egal).

    So ein einfacher script funktioniert natuerlich nicht, wenn der kodi nicht wirklich abstuerzt, sondern sich verklemmt, aber das scheint ja bei dir nicht vorzukommen.

    Ansonsten ist halt die frage, wo die datei liegen muss. Der Kodi wird unter irgendeinem account gestartet, und dann kommt es halt darauf an, welches windowsystem dann gestartet wird.

    Bei mir z.b. laeuft da ein kde4, und dann sind die automatisch zu startenden programm unter

    ~/.kde4/Autostart

    Wenn das zu nervig ist, rauszufinden, wo man den script hinstellen muss, dann kann man auch mit der Methode von Dr. Brechstange arbeiten:

    mv /usr/bin/kodi /usr/bin/kodi.crashtgerne

    und dann kopiert man den script nach /usr/bin/kodi, muss im script dann natuerlich /usr/bin/kodi.crashtgerne starten statt /usr/bin/bin/kodi

    Die Brechstange habe ich schon bei vielen problemen erfolgreich verwendet, wenn man keinen bock hat die ganze Logik zu verstehen, wie ein programm gestartet wird, aber man mit einem script was an dem programm flicken muss (abstuerze oder anderes). Das einzige, wo dieser ansatz nicht funktioniert ist wenn das programm versucht seinen eigenen namen rauszufinden, und dann sowas wie kodi.crashtgerne nicht mag.

    Am einfachsten kann man gucken ob das im prinzip funktiniert indem man als script erstmal folgendes fuer /usr/bin/kodi nimmt (nachdem man das eigentliche kodi nach kodi.crashtgerne umbenannt hat, nauerlich):


    #!/bin/sh
    /usr/bin/kodi ${@}


    Nicht vergessen, den script ausfuehrbar zu machen:

    chmod +x /usr/bin/kodi

    Wenn das dann alles laeuft, e.g.: nach reboot, dann geht Dr Brechstange, und dann kann man den script eben mit allem, was man will ergaenzen. Endlosschleife, gesicherte config-dateien zurueckkopieren, etc. pp.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!