FW 3.6.0 und eigene view-definitions.xml für Twonky

  • Hallo,


    ich verwende ein QNAP TS-239 PRO II und habe gerade die neuste Firmware 3.6.0 installiert. Alles läuft gut. Da nun auch TwonkyMedia in der 6.0.38 direkt in der Firmware enthalten ist, habe ich das Twonky-QPKG-Paket deinstalliert.


    Ich möchte die Datei /mnt/ext/opt/twonkymedia/resources/views/view-definitions.xml ändern, die allerdings beim Neustart überschrieben wird. Ich habe die vermutlich schuldige Stelle im /etc/init.d/twonkymedia.sh auch gefunden und mir überlegt genau nach der Neuanlage im Abschnitt #QNAP...#END das Verzeichnis /mnt/ext/opt/twonkymedia/resources/views/ mit einem symbolischen Link auf ein Verzeichnis /share/... verweisen zu lassen.


    Mein Problem: auch /etc/init.d/twonkymedia.sh wird beim Neustart ersetzt. Wo kann ich das Original ändern? Eine eigene autorun.sh in /dev/sdx6 nutze ich bereits, aber dort finde ich nichts zu den init.d Scripten. Über die autorun.sh ist das Problem sicher nicht zu lösen, da es ja ein bestimmter Zeitpunkt im Twonky-Script-Ausführung ist.


    Zusatzfrage: wie gefährlich wäre eine Änderung des Twonky-Start-Scripts - der Systemstart kann dammit sicher nicht verhindert werden, oder?


    Vielen Dank im Voraus
    Christoph

    Einmal editiert, zuletzt von bladekiller () aus folgendem Grund: Thema verschoben.

  • Ich habe ein anderes Problem so gelöst, dass ich die twonkymedia.sh Datei in das Installationsverzeichnis des Twonky-Servers kopiert und dort editiert habe. Diese Datei wurde dann über die autoconfig.sh mit der restart-Option ausgeführt. Dadurch wurde der Twonky-Server, welcher beim Bootvorgang durch die /etc/ini.d/twonkymedia.sh hohgefahren wurde, gestoppt und mit dem eigenen Script neu gestartet.

    Eine weitere Möglichkeit könnte darin bestehen, den Twonky-Server erst gar nicht zu aktivieren. Damit dürfte die /etc/init.d/twonkymedia.sh eigentlich gar nicht erst ausgeführt werden. Über die autoconfig.sh könnte dann die eigene twonkymedia.sh Datei mit der start-Option hochgefahren werden. Dies ist allerdings nur so eine Idee, ausprobiert habe ich das nicht.

  • Vielen Dank für die Tipps. Die Lösung mit autorun.sh funktioniert: den frisch gestarteten Twonky wieder stoppen, kurz warten, das view-Verzeichnis löschen und durch einen symbolischen Link auf /share/... ersetzen, dann wieder Twonky starten. Nicht sehr elegant, aber wirksam und immer noch besser, also Twonky nochmal über QPKG zu installieren.


    Die zweite Variante klingt richtig nett, funktioniert aber leider nicht. Ich habe das Original-Script nach /share/... kopiert und dann angepaßt. Beim Aufruf meldet es jedoch, dass Twonky nicht aktiviert sei und bricht ab. Ich habe nicht weiter gesucht ... die entsprechende Konfigurationsdatei wird sicher genauso geschützt wie init.d


    Eine Lösung habe ich nun, aber mich würde immer noch interessieren, wo die Originale der init.d-Skripte liegen ...


    Grüße
    Christoph

  • Zitat von "never-ever-give-up"

    aber mich würde immer noch interessieren, wo die Originale der init.d-Skripte liegen ...


    Die liegen im Root-File-System und dieses liegt komprimiert im DOM bzw. Flash.

  • Ich habe jetzt doch einmal versucht, den deaktivierten Twonkyserver mit einem modifizierten Startscript über die autoconfig.sh zu starten. Nach einigen Fehlversuchen habe ich es schließlich doch geschafft und dabei hoffentlich herausbekommen, wie in der QNAP das Starten gesteuert wird.


    Für die Aktivierung des Twonky-Servers kann man im Administrationsmenü meiner TS109 zwei Häckchen setzen, mit den Ersten aktiviert man den Server und mit dem Zweiten den Browserzugriff auf den Twonky. Mit dem Setzen den Häckchen werden anscheinend auf der QNAP zwei Variablen gesetzt, die im Startscript des Twonky mit dem Befehl /sbin/getcfg abgefragt werden und zwar an folgenden Stellen:


    Code
    if [ `/sbin/getcfg TwonkyMedia Enable -u -d FALSE` = FALSE ]; then		echo "Starting TwonkyMedia: disabled."		exit 0	fi


    und


    Code
    if [ `/sbin/getcfg TwonkyMedia "Web Enable" -u -d FALSE` = FALSE ]; then
    	$TWONKYSRV -inifile "${INIFILE}" -enableweb 1 -powersavemode 1 -logfile ${LOG_FILE} 
          else
    	$TWONKYSRV -inifile "${INIFILE}" -enableweb 2 -powersavemode 1 -logfile ${LOG_FILE} 
          fi


    Mit dem ersten Block kann das Starten des Servers verhindert werden, mit dem Zweiten der Browserzugriff.


    Um den Twonky mit dem Startscript erfolreich zu starten, muss man den ersten if-Block löschen oder auskommentieren. Von der zweiten if-Abfrage löscht oder kommentiert man alles bis auf die vorletzte Zeile aus. Alternativ kann in der zweiten Zeile die Option -enableweb 1 durch -enableweb 2 ersetzt werden.


    Man kann das Startscript auch manuell in einem Terminal (Putty oder Telnet) ausführen um zu sehen, ob alles klappt. Dies hat zudem den Vorteil, das beim Misserfolg u.U. Fehlermeldungen direkt angezeigt werden.