Hallo.
Nach vielen Versuchen mit "echten" Linux Distributionen, bei denen immer mindestens 1 Sache, die ich mit meinem einzigen 24/7 Rechner machen will, nicht ans laufen zu bekommen war, bin ich verzweifelt zu Windows 10 zurück gekehrt.
Ich will das jetzt weiter gar nicht ausführen (würde mich nur unnötig aufregen). Kurz und knapp gesagt, ich hasse Linux. Also für 3€ online eine Win10 Pro Lizenz geordert und 3 Stunden später tat der Rechner alles, was ich wollte, wie ich es wollte... Die am besten angelegten 3€ meines Lebens, meiner rein subjektiven Ansicht nach...
Damit ist ja eigentlich auch TVHeadend aus dem Spiel. Doch das wollte ich nicht wahr haben. Ich wollte mich selbst von dem "legendären" Fähigkeiten von TVH überzeugen. Wenn man schon keinen Rechner mit Linux hat, aber ein Linux Programm ausführen möchte, was liegt da näher als eine VM. Gesagt, getan. Aber zwei Sachen störten mich an der VM dann doch zu sehr. Zum einen benötigt die VM ziemlich viel Rechenleistung, was den Stromverbrauch (und auch die Temperaturen) meines komplett passiv gekühlten (und deswegen absolut lautlosen) Celeron J3345 von 6 auf 10 Watt hochtreibt, also den Stromverbrauch quasi verdoppelt. Bei einem 24/7 System durchaus relevant. Und die Verbindung zwischen VM und "echter" Netzwerkkarte war nicht immer stabil. Da ich SAT>IP Tuner (Triax TSS400 Mk2) einsetze ist eine stabile Netzwerk- Verbindung aber Grundvoraussetzung. Also ist die VM auch nix.
Bleibt noch das Windows Subsystem für Linux. Damit hatte ich es vor einem halben Jahr schon mal versucht, ohne Erfolg. Allerdings ist seitdem ein Windows Update (1809) ausgeliefert worden, dass das WSL deutlich verbessert hat. Bei meinem Versuch vor 6 Monaten hatte ich Ubuntu verwendet. Da ließ sich der Key für die TVH Repo und damit TVH nicht installieren. Jetzt habe ich mal Debian 9 installiert. Und siehe da, es geht.
Es lagen aber diverse Steine auf dem Weg dahin. Deswegen möchte ich das Schritt für Schritt beschreiben, und zwar so erklärt, das es auch von "normalen Windows Usern" verstanden werden kann, die sonst nicht viel mit Linux zu tun haben. Alte Linux Hasen werden das sowieso nicht nachmachen wollen, von daher...
Zuerst muss man das Windows Subsystem für Linux installieren. Wie gesagt, sofern irgend möglich Windows 10 1809 verwenden, da es deutliche Verbesserungen am Windows Subsystem für Linux gegeben hat. Das Installieren geht über die Systemsteuerung:
Danach im Windows Store nach Debian 9 suchen und die kostenlose App "Debian GNU/Linux" installieren.
Bis hierhin ist noch alles Windows und damit einfach und unkompliziert.
Beim ersten Start wird dann Debian im WSL installiert und dabei wird ein Benutzer angelegt, unter dem man sich später einloggen kann bzw der zum Einloggen verwendet wird, sobald man die "Linux-APP" startet... Dieser Benutzer gehört zur Gruppe SUDO und kann somit administrative Aufgaben erledigen. Ab nun steht "Linux" als "Windows APP" zur Verfügung.
Um mich erst mal ein wenig umsehen zu können, habe ich als nächstes den Midnight Commander installiert, einen 2 Fenster Dateimanager für die Linux Shell (für die, die nicht wissen, was das ist...
Nötig ist das nicht, hat mir aber bei der Fehlersuche sehr geholfen, dam man so die einzelnen Verzeichnisse viel besser und schneller durchsuchen kann, als mit andauerndem tippen von cd und ls und sowas. Deswegen würde ich die Installation von MC auf jeden Fall empfehlen...
Da ab hier Linux beginnt, wird es kompliziert und benötigt sehr viel Tipperei. Nun die folgende Zeile (im Fenster der "Linux APP") eintippen und mit "Enter" bestätigen.
Nach Eingabe des sudo Passworts (ist dasselbe, das beim Installieren für den angelegten Benutzer eingegeben wurde) öffnet sich der Linux Standard- Editor nano. Am Ende der Datei fügt man die beiden folgenden Zeilen ein:
deb http://ftp.debian.org/debian/ stable main contrib non-free
deb http://ftp.de.debian.org/debian stretch main
danach STRG x drücken, um Nano zu beenden. Man wird gefragt, ob man die Änderungen abspeichern will. Das bestätigt man mit Y (Englisch für Yes) und danach Enter um den voreingestellten Pfad zu übernehmen.
Jetzt kann man die Installation von MC starten in dem man nacheinander folgende Befehle zeilenweise eintippt und mit Enter abschließt:
Damit sollte die Installation von MC ausgeführt werden. Ist die Installation durch kann man einfach durch eintippen von mc oder, falls man etwas mehr machen und sehen will, sudo mc, das Programm starten. Gut ist, das alle Windows Laufwerke im WSL automatisch unter /mnt/ gemountet werden. Man muss sich um Sachen wie Samba oder NFS oder so was erst gar nicht kümmern.
Jetzt müssen wir noch einige Linux Standard- Komponenten nachinstallieren, die bei der Debian APP nicht automatisch mit dabei sind. Zuerst mal cron. Das ist sowas wie die Windows Aufgabenplanung für Linux, vereinfacht ausgedrückt.
das geht mit
Dadurch sollte cron und seine Abhängigkeiten geladen und installiert werden.
Was wir später auch noch benötigen (fürs XMLTV EPG) ist socat. Also:
Damit ist das Linux Grundsystem vorbereitet. Allerdings würde ich spätestens jetzt die Passwort Abfrage für Sudo deaktivieren, da wir später per Script Kommandos mit sudo ausführen müssen, wobei wir kein Passwort mehr eingeben können. Diesen Schritt kann man auch als erstes machen und sich so einige Passwort Eingaben ersparen.
Da man hierbei eine wichtige Systemkoponente von Linux verändern muss und man, sofern man einen Fehler macht anschließend keine Möglichkeit mehr hat, diesen Fehler zu beheben, wird dazu ein spezieller Editor verwendet, der ein Abspeichern erst erlaubt, wenn die Datei absolut fehlerfrei ist. Diesen Editor rufen wir mit
auf.
Ans Ende der nun geöffneten Datei schreibt man nun folgendes:
wobei User für den bei der Installation angelegten Usernamen steht... Also nicht "User" da rein schreiben, sondern "MeinBenutzername", sofern man den Benutzer "MeinBenutzername" angelegt hat... Ist man sicher, das alles richtig ist, die Datei speichern und danach die "Debian App" beenden und anschließend neu starten.
Jetzt kommen wir endlich zum Installieren von TVHeadend.
Dazu ist sehr viel Tipperei nötig, also fangen wir an. Die "Debian App" ist gestartet, davon gehe ich aus. Also erst mal die Pakete und Schlüssel installieren:
sudo apt-get -y install coreutils wget apt-transport-https lsb-release ca-certificates
sudo wget -qO- https://doozer.io/keys/tvheadend/tvheadend/pgp | sudo apt-key add -
anschließend dann mit:
echo "deb http://apt.tvheadend.org/stable debian-stretch main" | sudo tee -a /etc/apt/sources.list.d/tvheadend.list
die Quellen hinzufügen.Jetzt endlich kann man TVHeadend tatsächlich installieren:
Normalerweise sollte man jetzt wieder nach einem anzulegenden Benutzer gefragt werden. Hier kann man jetzt den Benutzer für TVHeadend (für den Zugriff aufs Web Interface) anlegen.Falls das nicht passiert, kann man das auch mit:
erzwingen.Danach einmal den TVHeadend Service neu starten mit:
Nun sollte TVheadend laufen und kann normal konfiguriert werden. Ein paar Sachen müssen wir aber noch erledigen, sofern wir TVHeadend automatisch und ohne unser Zutun beim Neustart des Computers ebenfalls gestartet werden soll. Deswegen haben wir eben cron installiert. Jetzt legen wir einen crontab (eine Aufgabe) an, die darauf achtet, das TVHeadend auch immer läuft.
Je nach System kann jetzt eine Abfrage kommen, welcher Editor genommen wird. Wir wählen wieder Nano aus, den kennen wir schon.Nun ans Ende folgendes anfügen:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
@reboot . $HOME/.profile; service tvheadend start
Danach wieder speichern und Nano beenden (genau wie oben).
Falls die Firewall aktiv ist, müssen für TVHeadend die TCP Ports 9981 und 9982 geöffnet sein/werden.Wir brauchen auch noch eine Windows Batchdatei, die wir per Windows Aufgabenplanung beim Systemstart ausführen lassen.Darin sollte stehen:
C:\Windows\System32\bash.exe -c service cron start
C:\Windows\System32\bash.exe -c service atd start
C:\Windows\System32\bash.exe -c 'while [ true ]; do sudo /usr/sbin/cron -f; done'
Diese drei Zeilen in eine leere Textdatei kopieren und als z.B. Tvheadend.bat abspeichern. Wo ist fast egal, am einfachsten ist es, sie direkt nach C:\ zu speichern. S habe ich das gemacht.
Danach noch eine einfache Aufgabe in der Windows Aufgabenplanung erstellen, in der diese gerade erzeugte .BAT beim Systemstart ausgeführt werden soll. Sinnvoll ist es auch, die Ausgabe auszublenden, dann stört das CLI Fenster, das sonst auf geht und auf bleibt, nicht.
Jetzt ist soweit alles fertig und TVHeadend kann konfiguriert werden.
Bei mir war aber noch ein manueller Eintrag in einer Konfig- Datei nötig, da sonst mein Triax TSS 400 nicht gefunden wurde:
Dann am Ende folgendes eingeben:
und die Datei speichern. Dabei ist die IP Adresse 192.168.1.100 durch die IP Adresse des eigenen SAT>IP Routers zu ersetzen. Bei mir ist das eben 192.168.1.100. Nun wurde auch mein TSS400 gefunden.
Jetzt sind wir aber fertig. Na ja, fast. Bei mir hat der Sender- Suchlauf nicht alle nötigen Sender gefunden. (übrigens auch nicht unter "echtem" Linux). Deswegen habe ich die Senderliste hier aus dem Forum eingespielt. Der Beitrag ist oben angepinnt. Trotzdem hier der Link:
TVHeadend Astra 19,2 Senderliste & Logos
Und da ich ja ein Tool zum Grabben von EPG Daten im XMLTV Format geschrieben habe, habe ich natürlich auch "mein" EPG weiter nutzen wollen. Das DVB-EPG ist mir in DE einfach zu mickerig. Dazu muss man erst mal das XMLTV in TVHeadend aktivieren.
Wenn man xmltv aktiviert hat, muss man TVheadend neu starten:
Jetzt kann man noch mit MC nachschauen, ob xmltv.sock in /home/hts/.hts/tvheadend/epggrab/ existiert. Hierzu muss man mc aber zwingend mit sudo mc starten, da man sonst nicht in das Verzeichnis schauen darf....
Ist alles in Ordnung und xmltv.sock existiert, muss man nun noch EPG-Buddy so konfigurieren, das nach einem erfolgreichen Download der EPG Daten, TVHeadend dazu genötigt wird, diese auch einzulesen.Dazu benötigen wir eine zweite .bat, die folgendes beinhaltet:
C:\Windows\System32\bash.exe -c "sudo cat /mnt/c/EPG-Buddy/TVGuide_1.xml | sudo socat - UNIX-CONNECT:/home/hts/.hts/tvheadend/epggrab/xmltv.sock"
Der Teil "/mnt/c/EPG-Buddy/TVGuide_1.xml" muss je nach eigenen Gegebenheiten angepasst werden und entspricht von Linux aus betrachtet dem Pfad und Namen der fertigen XMLTV Datei, den man im EPG-Buddy eingestellt hat. Bei mir eben C:\EPG-Buddy und TVGuide_1.xml
Nun speichert man diese .bat ab, natürlich unter einem anderen Namen als eben die zum Starten von TVHeadend mit Windows.
Jetzt starten wir die batch- Datei einmal manuell, um die EPG-Daten in TVHeadend einzulesen. Als allerletztes konfigurieren wir EPG-Buddy nun so, das er diese Batch Datei nach einem erfolgreichen Daten-Download ausführt, womit TVheadend stets die aktuellsten EPG Daten zur Verfügung hat.
Hiermit ist das Tutorial fertig.
Das meiste, was ich geschrieben habe, ist nicht auf meinem Mist gewachsen. Ich habe tagelang das Web abgesucht und mir von überall her die Einzelteile zusammen geklaubt. Als "Komplettpaket" gibt es das so weit ich weiß aber nirgends...
Deswegen hoffe ich, es ist für den einen oder anderen nützlich. Danke fürs Lesen.