Neutrino:Customizing

Aus TuxBoxWIKI
Wechseln zu: Navigation, Suche


Allgemeines

Unter Neutrino gibt es einige Möglichkeiten die Benutzeroberfläche (GUI) nach seinen eigenen Wünschen anzupassen und da Neutrino nach dem Client-Server Prinzip funktioniert, lässt sich Neutrino über einige Befehle mittels API auch ohne GUI in gewissem Umfang bedienen. Desweiteren besteht auch die Möglichkeit, einzelne Ereignisse wie z.B. Aufnahmestop, Bildformatumschaltung etc. abzufangen und diese bei Bedarf mittels Shell-Script für bestimmte zusätzliche Funktionen zu nutzen. Es wäre auch möglich, ein eigenes Webinterface zu benutzen.

Benutzeroberfläche anpassen

Alternative Sprachen (custom locale)

Die locale ist eine Datei, welche für die Ausgabe der Sprache auf der GUI verantwortlich ist. Eigene oder geänderte locales können bei squashFS Images im /var Verzeichnis gespeichert werden:

format: UTF-8 encoded 
directory: /var/tuxbox/config/locale or /share/tuxbox/neutrino/locale 
filenames: *.locale

Die Sprache kann nach Neustart unter Einstellungen:Sprache ausgewählt werden


Plugins hinzufügen/entfernen

Eigene Plugins können gespeichert werden unter:

directory: /var/tuxbox/plugins or /lib/tuxbox/plugins 
Disabling plugin X (X.cfg, X.so) available in /lib/tuxbox/plugins: touch /var/tuxbox/plugins/X.cfg

eigene Icons

Für alle Icons, also Symbole, die in den Menüs und Fenstern zu sehen sind, können ersatzweise eigene Icons verwendet werden. Es werden dafür entsprechende Dateien im Raw-Format benötigt. Auch die Größe sollte man dabei beachten, damit es zu keinen unschönen Abbildungen in den jeweiligen Fenstern kommt. Mgck hat auch ein kleines Programm (RawIconEditor )zum editieren solcher Icons geschrieben, womit man relativ einfach solche Icons bearbeiten kann. Die entsprechenden Icons werden hier abgelegt:

var/share/tuxbox/neutrino/icons/

eigene Radiomode-, Shutdown- und Scanbilder

Ebenso wie Icons lassen sich auch die Hintergrundbilder austauschen. Dies erfolgt auf die gleiche Weise wie bei eigenen Icons. Der Unterschied ist nur, dass auch die dazugehörigen .pal-Dateien nicht vergessen werden dürfen. Diese Hintergrundbilder sind relativ groß und schlucken einiges vom ohnehin knappen Speicherplatz in der Box. Man sollte daher eigentlich davon absehen diese Logos zu tauschen, aber wenn man es dennoch haben möchte, sei hier der Hinweis angebracht, dass das Risiko, sein Image "platzen" zu lassen ungemein größer wird. Alternativ besteht auch die Möglichkeit Symlinks auf die Dateien zu setzen. Diese können dann auf ein Ausgelagertes Verzeichnis zeigen, welche sich z.B. auf MMC oder HDD befinden.

Senderlogos

ab CVS-Stand 17.07.2008


Im Infobar besteht die Möglichkeit, Senderlogos einzublenden.

Dateiformat und Speicherort

Es werden dafür entsprechende Dateien vom gleichen Raw-Format wie Icons benötigt und werden standardmäßig im gleichen Ordner wie die alternativen Icons abgelegt.

/var/share/tuxbox/neutrino/icons/

Der Speicherort ist entsprechend den eigenen Bedürfnissen anpassbar.

Hinweis!

Bei jffs2-Images ist kein /var Ordner vorhanden. Falls man nicht bereits einen anderen Speicherort eingetragen hat, muss das Verzeichnis entsprechend ohne das /var in den Infobareinstellungen eingetragen werden. Ohne dies zu beachten, werden dann natürlich keine Logos angezeigt!

/share/tuxbox/neutrino/icons/ 
Stop hand.png

Warnung!

Auch wenn die Möglichkeit besteht, die verschiedensten Dateien in den Var-Bereich eines Images zu packen, sollte man es nicht übertreiben und möglichst nur das einspielen, was auch wirklich gebraucht wird. Die Gefahr sein Image zu zerstören ("Imageplatzer") steigt mit jedem Byte, das dazu kommt. Eine Sicherung des Images ist in jedem Fall ratsam! Empfehlenswert ist daher, eine Auslagerung auf ein SD-Medium, sofern man ein entsprechendes IDE-Interface nutzen kann. Eine Auslagerung auf HDD ist auch möglich, jedoch eher unpraktisch für Daten die recht häufig geholt werden müssen, insbesondere wenn sich die HDD gerade mal eben vom Spindown aufrappeln muss.

Größe der Logos

Je nachdem wo man die Logos angezeigt haben möchte, ist auch die Größe der Grafikdateien variabel. Erfahrungsgemäß sind Logos mit der Größe 120x34px zu empfehlen, damit sie optisch am besten auf allen Positionen eingepasst werden können. Diese Empfehlung ist allerdings nicht zwingend, da abhängig von der Position, an welcher die Logos platziert werden sollen unterschiedliche Platzverhältnisse vorhanden sind. So kann es durchaus vorkommen, dass ein Logo an der Stelle des Programmnames sehr gut passt, aber für die Anzeige im Ziffernfeld viel zu breit ist und deshalb nicht angezeigt wird. Es liegt also im Ermessen der Logoersteller für welche Position sie ihre Logos bevorzugt herstellen. Die Position der Logos lässt sich im Menü

  • Diverse Einstellungen>Infobar>Anzeige

einstellen.


Hinweis!

Die normale Anzeige von Programmnummer und Sendername hat Vorrang gegenüber der Anzeige der Logos, was bedeutet, dass Logos nur dann angezeigt werden, wenn sie auch an der entsprechenden Stelle des Infobars genug Platz haben, um die Anzeige der Standardinformationen nicht zu verschlechtern oder gar zu verhindern. Es spielt also durchaus eine Rolle was man für OSD- und Schriftgrößen-Einstellungen vorgenommen hat. Sollte es damit Probleme geben, wird dies im Log der Box auch mitgeteilt.


Darstellung

Es besteht auch die Möglichkeit den Hintergrund der Logos gerahmt oder schattiert darzustellen. Dies kann unter Umständen bei bestimmten Themes sinnvoll sein.

  • Infobar channellogo gerahmt.png
  • Infobar channellogo schattiert.png

Die Darstellung der Logos lässt sich im Menü Diverse Einstellungen>Infobar>Hintergrund einstellen.


  • Diverse einstellungen infobar.jpg


Dateinamen

Der Dateiname für ein Logo setzt sich aus der ChannelID oder dem Realnamen des Kanals wie er in den EPG-Informationen angezeigt wird und der Dateiendung ".raw" zusammen. Beispiel hier für 3Sat:

43700016d67.raw

oder

3sat.raw

Die ChannelID ist eine Kombination einiger Daten, die man beispielsweise aus den Streaminfos abrufen kann.

  • Technische informationen.png

Diese setzt sich zusammen aus

  • tsid 0x0437
  • onid 0x0001
  • sid 0x6d67

Wie man sieht, ist das angezeigte Format in den Informationen etwas anders. Es werden nur die fett abgebildeten Daten benötigt.

Eine weitere Möglichkeit, die ChannelID zu gewinnen besteht darin, diese über den Webbrowser abzurufen. Dafür muss die dBox natürlich mit dem PC verbunden sein. Im Browser gibt man hierfür diese Daten ein:

http://<dBoxIP>/control/getonidsid

Als Rückgabe erscheint dann die gewünschte ID vom aktuell eingeschaltetem Sender.

Die Datei

/var/tuxbox/config/zapit/services.xml

enthält ebenfalls diese Daten.

Hinweis: Die ChannelID's sind je nach Empfangsmöglichkeiten (Kabel-Provider, Satellit usw.) unterschiedlich. Wenn möglich, sollte man evtl. auf vorgefertigte Logo-Packs zurückgreifen.


Wird solch eine Raw-Datei anhand der ChannelID bzw. dem Sendernamen erkannt, wird sie automatisch zum passenden Kanal angezeigt.

Hier einige Beipiele:


  • Infobar chlogo number.jpg anstelle Kanalnummer 120x64px
  • Infobar chlogo ersatz.jpg anstelle Sendername [max]x64px
  • Infobar chlogo beside.jpg neben Sendername [max]x64px


Hinweis: [max] gibt die Breite an, die verwendet werden kann. Die Breite für das Logo kann je nach Länge des Programmnames, der je nach Einstellung bis zur Zeitanzeige reichen kann, variieren. Dies ist somit auch davon abhängig, welche Einstellungen für den OSD-Bereich gemacht wurden. Sollte ein Logo nicht passen, kann das Bootlog mehr Informationen über die maximal mögliche Größe Aufschluß geben

Nach dem Einspielen sind die Logos sofort verfügbar sobald sie durch den Infobar aufgerufen werden. Ein Neustart von Neutrino ist nicht erforderlich.


Verfügbarkeit von Logos

Sollte jemand Logos zur Verfügung stellen wollen, besteht hier die Möglichkeit, Logos zu sammeln. Eine Online-Nachladefunktion ist geplant, aber derzeit noch nicht verfügbar.


eigene LCD-Vorlagen

Neben dem LCD-Bootlogo lassen sich auch die während des Betriebs der Box vom LC-Displays abgebildeten Hintergründe nach eigenen Wünschen austauschen. Hierfür werden Bilder im png-Format mit einer Auflösung von 120x64 Pixel 1bit-Modus, horizontale und vertikale Auflösung jeweils 96 dpi benötigt. Speicherort:

var/share/tuxbox/neutrino/lcdd/

Diese Dateien können hierbei ersetzt werden:

  • lcd.png
  • lcd2.png
  • lcd3.png
  • power.png
  • setup.png

eigene Bootlogos verwenden

siehe Bootlogo austauschen


Ereignisse abfangen

Angenommen man möchte eine nächtliche Timeraufname machen und diese aber möglicht bald auf seinem Rechner wiederfinden. Hier kann es beispielsweise nützlich sein, nachdem die Aufnahme beendet wurde, sich diese von einer evtl. vorhandenen Festplatte über das Netzwerk auf seinen Rechner kopieren zu lassen. Genau hierfür bietet Neutrino die Möglichkeit, eine entsprechende Aktion auszuführen. In diesem Fall wäre es das Script recording.end dass, sofern es vorhanden und ausführbar ist, nach jedem Ende einer Aufnahme ausgeführt wird. Dieses und noch einige weitere Ereignisse lassen sich damit abfangen und nutzen...

Aufnahme

Aufnahme Ankündigung

Wenn eine Aufnahme angekündigt wird, wird zunächst (wenn vorhanden) dieses Skript ausgeführt:

/var/tuxbox/config/recording.timer   (Rechte auf 755)

Dieses Script kann benutzt werden um eine evtl. im Standby/ Spindown befindliche Platte im Server/ NAS zu "wecken"


Aufnahme Start

Wenn eine Aufnahme gestartet wird, wird zunächst (wenn vorhanden) dieses Skript ausgeführt:

/var/tuxbox/config/recording.start   (Rechte auf 755)

Aufnahme Ende

Seit Yadi 1.9.0.2 ist im folgenden Pfad eine Beispielkonfiguration für ein Skript, was bei Aufnahmeende ausgeführt wird. Damit es ausgeführt wird, muss es in record.end umbenannt werden. Rechte müssen auf 755 stehen.

/var/tuxbox/config/recording.end

Wenn ihr das Beispielskript /var/tuxbox/config/recording.end.dist umbenennt in recording.end werden die aufgenommenen ts-files mit dbox2genpsi gepatcht, sodass sie auch unter Enigma abspielbar sind.

und so sieht es aus:

#!/bin/sh 
# $Id: recording.end,v 1.5 2004/08/07 21:11:31 essu Exp $ 
FOUND=`grep network_nfs_recordingdir /var/tuxbox/config/neutrino.conf` || exit 
RECDIR=`expr substr $FOUND 26 154` 
cd $RECDIR && FILES=`ls -c *.ts` || exit 
for FILE in $FILES; do 
break; 
done 
dbox2genpsi $RECDIR/$FILE

Natürlich können an dieser Stelle auch andere Skripte ausgeführt werden.


Standby

Standby ON

Wenn die Box in den Standby geschickt wird, wird dieses Skript (wenn vorhanden) ausgeführt:

/var/tuxbox/config/standby.on   (Rechte auf 755)


Standby OFF

Wenn die Box aus dem Standby geholt wird, wird dieses Skript (wenn vorhanden) ausgeführt:

/var/tuxbox/config/standby.off   (Rechte auf 755)

Audioplayer

Audioplayer Start

Wenn der Audioplayer gestartet wird, wird dieses Skript (wenn vorhanden) ausgeführt:

/var/tuxbox/config/audioplayer.start   (Rechte auf 755)

Beispiel:

#!/bin/sh 
killall -9 sectionsd

Das beendet den sectionsd beim Starten des Audioplayers


Audioplayer Stop

Wenn der Audioplayer beendet wird, wird dieses Skript (wenn vorhanden) ausgeführt:

/var/tuxbox/config/audioplayer.end   (Rechte auf 755)

Beispiel:

#!/bin/sh 
sectionsd

Das startet den sectionsd nach Beendung des Audioplayers


Bildbetrachter

Bildbetrachter Start

(ab Pictureviewer Version 1.63) Wenn der Bildbetrachter gestartet wird, wird dieses Skript (wenn vorhanden) ausgeführt:

/var/tuxbox/config/pictureviewer.start   (Rechte auf 755)

Beispiel:

#!/bin/sh 
killall -9 sectionsd

Das beendet den sectionsd beim Starten des Bildbetrachters


Bildbetrachter Stop

Wenn der Bildbetrachter beendet wird, wird dieses Skript (wenn vorhanden) ausgeführt:

/var/tuxbox/config/pictureviewer.end   (Rechte auf 755)


Movieplayer

Movieplayer Start

Wenn der Movieplayer gestartet wird, wird dieses Skript (wenn vorhanden) ausgeführt:

/var/tuxbox/config/movieplayer.start   (Rechte auf 755)

Beispiel:

#!/bin/sh 
killall -9 sectionsd

Das beendet den sectionsd beim Starten des Movieplayers


Movieplayer Stop

Wenn der Movieplayer beendet wird, wird dieses Skript (wenn vorhanden) ausgeführt:

/var/tuxbox/config/movieplayer.end   (Rechte auf 755)

Beispiel:

#!/bin/sh 
sectionsd

Das startet den sectionsd nach Beendung des Movieplayers


Bildformatumschaltung

Wenn auf ein Bildformat umgeschaltet wird, werden diese Skripte (wenn vorhanden) ausgeführt:

16:9

/var/tuxbox/config/16:9.start   (Rechte auf 755)

4:3

/var/tuxbox/config/4:3.start   (Rechte auf 755)

mit Lirc

Ausserdem gibt es noch die Alternativen für Lirc, welche ebenfalls genutzt werden können.

16:9.lirc
4:3.lirc


IDE-Menü

Beim Prüfen, Löschen, Übernehmen, Formatieren von Partitionen wird immer die betreffende Partition vorher automatisch ausgehangen, also immer dann wenn es systembedingt erforderlich ist.

Unter Umständen ist es dann notwendig, beim Ein- oder Aushängen, diverse Prozesse, die von einem eingehangenem Laufwerk ausgehen, zu "behandeln". Für diesen Zweck kann man benutzerdefinierte Scripte beim Mounten/Unmounten ausführen lassen, die bei Wartungsvorgängen, welche mit dem Menü durchgeführt werden, notwendige Aufgaben übernehmen können. Diese Scripte werden immer nur dann ausgeführt, wenn sie vorhanden und ausführbar sind. Das Schema für die Benennung ist variabel und richtet sich nach den lokalen Gegebenheiten, d.h. es muss für jede Partition ein eigenes Script verwendet werden.

Das Schema für die Scriptnamen erfolgt quasi konform zur Partitionstabelle, wobei Laufwerke und Partitionen beginnend bei 0 nummeriert werden. Die Laufwerke und Partitionen sind also wie folgt nummeriert:

  • HDD-Master 0
  • HDD-Slave 1
  • MMC/SD 2

Für Partitionen:

  • 1.Partition 0
  • 2.Partition 1
  • 3.Partition 2
  • 4.Partition 3


Stop hand.png HINWEIS: Sollte beispielsweise ein NFS-Client mit einer eingehangenen Partition verbunden sein, ist es allerdings ratsam, die Verbindung vom Clienten aus zu trennen. Sollte solch eine Verbindung bestehen, wird eine Fehlermeldung angezeigt, die darauf hinweist.

Partition aushängen

     /var/tuxbox/config/before_unmount_[LAUFWERK 0...2]_[PARTITION 0...3].sh

Partition einhängen

     /var/tuxbox/config/after_mount_[LAUFWERK 0...2]_[PARTITION 0...3].sh

Beispiel

Es soll auf einem MMC-Laufwerk die 2.Partition verarbeitet werden, dann werden die Scripte so benannt:

     /var/tuxbox/config/before_unmount_2_1.sh
     /var/tuxbox/config/after_mount_2_1.sh


OSD-Schriftart

Neutrino bietet die Möglichkeit, eine alternative Schriftart anzuzeigen. Hierfür muss Neutrino mit den entsprechenden Startparametern aufgerufen werden. Die dafür benötigte Startoption lautet

--font [name sizeoffset /dir/file.ttf [/dir/bold.ttf [/dir/italic.ttf]]] 

Neutrino wird über das Startscript

  • /etc/init.d/start_neutrino

bzw.

  • /var/etc/init.d/start_neutrino

aufgerufen.


Für gewöhnlich lautet der Aufruf von Neutrino so:

until neutrino -f -u ; do

Man ändert entprechend nur die erste Zeile ab, indem man zusätzlich zu den Startparametern -f und -u um den Parmeter --font erweitert. Hier als Beispiel wird die Schriftart "Verdana" verwendet. Ein Aufruf von Neutrino mit Schrift-Option könnte dann etwa so aussehen:

FONTS="Verdana 0 /var/share/fonts/verdana.ttf /var/share/fonts/verdanab.ttf /var/share/fonts/verdanai.ttf" 
FONTSTART="--font $FONTS"
until neutrino -u -f $FONTSTART

Hinweis! Es ist daruf zu achten, dass man auch eine passende ttf-Schriftart verwendet, die alle benötigten Zeichen enthält und Darstellungen in Standard, Bold und Italic ermöglicht. Auch mit der Größe von Schriftartdateien sollte man hier Vorsichtig sein, um zum einen lange Ladezeiten und zum anderen Imageplatzer zu vermeiden. Auch auf eine korrekte Syntax des Startaufrufs ist zu achten, da Neutrino sonst nicht startet.

custom Webinterface

Das Webinterface von Neutrino liegt im Verzeichnis:

/share/tuxbox/neutrino/httpd

Bei squashFS Images (Yadi) ist dieses Verzeichnis schreibgeschützt. Das heißt, dass Änderungen dort nicht so einfach möglich sind. Es gibt jedoch einen Eintrag in der nhttpd.conf, der einen alternativen Pfad beinhaltet. Man erstellt unter /var das Verzeichnis "httpd":

/var/httpd

In diesen Pfad kann man das alternative Webinterface ablegen. Bei Aufruf im Browser

http://<dboxIP>/

erscheint die in diesem Verzeichnis abgelegte "index.html"



Review-KandidatDieser Artikel befindet sich derzeit im Reviewprozess. Hilf mit, ihn zu verbessern! Falls du bei weiteren Artikeln helfen willst, findest du hier eine Auswahl offener Artikel.