[Announce] Skin flatPlus 0.5.0

  • Hi,
    nach einiger Zeit ist nun Version 0.5.0 fertig. Es wird sicherlich demnächst eine 0.5.1 geben aber ich wollte die Version nun endlich fertig haben und veröffentlichen um an anderen Dingen auch weitermachen zu können.
    Diesmal ist es kein kleines Update sondern es ist einiges dazu gekommen.
    Hier das Changelog


    Auffälligste Neuerung sind die Widgets. Diese sind für das Hauptmenü und es lassen sich verschiedene Informationen anzeigen. Das ganze hat auch eine eigene Wiki-Seite erhalten wo auch ein paar Screenshots zu sehen sind: Wiki - Widgets
    Bitte lest euch einmal das Wiki durch. Für die Widgets sind teilweise manuelle Eingriffe am System nötig.
    Hier sind ggf. noch weitere Widgets geplant. Wenn Ihr passende Ideen habt immer her damit.
    Weitere große Neuerung sind aktualisierte Icons und Themen. Ich habe mich bei den Icons und den Theme-Farben beim Android Material-Design bedient. Dort gibt es einen Pack Icons zur freien Verfügung. Ich finde die passen perfekt zum Skin und das ganze sieht nun viel stimmiger und einheitlicher aus.
    Als Feature ist auch noch das Dimm on Pause hinzugekommen.


    Das ganze wie immer zu finden unter http://projects.vdr-developer.org/projects/plg-skinflatplus.
    An die Paketbauer, ich hoffe das mit den Widgets funktioniert alles, wenn es dort Probleme gibt bitte bei mir melden dann finden wir schon eine Lösung.


    Grüße
    Martin

  • Ich weiß das ist nicht 100% sauber. Auch beim system_information Widget, ist die Konfig im Script drin. Dies gefällt mir eigentlich auch noch nicht so. Wollte es aber einfach und "an einem Ort" halten. Wenn ich ganz viel Zeit haben baue ich das um ansonsten warte ich auf passende diff Dateien :P


    Grüße
    Martin

  • system_information: Ich habe die beiden vorhandenen Skripte versucht auszuführen. Beide scheinen einen Syntaxfehler zu haben.

    Code
    # bash system_information.g2v
    ./system_information: Zeile 118: [: -gt: Einstelliger (unärer) Operator erwartet.


    Code
    # bash system_information.ubuntu 
    system_information.ubuntu: Zeile 113: [: -gt: Einstelliger (unärer) Operator erwartet.


    system_updatestatus: Wird es für Arch Linux nicht geben. Auf diese Information hat der User keinen Zugriff.
    temperatures: Die default-Variante beschwert sich über unbekannte Sensoren und die g2v-Variante liefert nichts zurück.
    weather: Benötigt ForecastIO. Das gibt es für Arch Linux nicht. Wäre aber im Vergleich zu den oberen Widgets das kleinste Problem.


    Yeah... Das war jetzt ein ganz schöner Dämpfer auf die anfängliche Euphorie.

  • Nu lass ich mal nicht gleich entmutigen :)
    Bei System Information Zeile 113 da geht es um das Swap File, hast du ein Swap File bzw. wie ist die ausgabe von "free -m" unter Arch? Wie gesagt deswegen heißen die Scripte auch *.ubuntu und g2v, das muss bei Arch dann wohl anders aussehen. Habe allerdings kein Arch zu Hand und bin zu Faul das aufzusetzen. Vielleicht kannst du ja mal selbst kurz nachschauen wenn du in der Bash bewandt bist?


    Ja ok wenn es update status nicht gibt dann gibt es das halt nicht.


    [edit] wie auf der Wiki-Seite beschrieben muss für temperatures lm-sensors installiert und konfiguriert sein. Das beiliegende Script ist nur ein Beispiel, die Sensoren heißen ja bei jedem Mainboard anders, hier muss der Nutzer ran und dieses anpassen. Ich wüsste nicht wie man das "für alle" bewerkstelligen könnte!


    Für Weather wird eigentlich nur php5 benötigt alles weitere liegt bei. Im Ordner gibt es einen lib Ordner dort ist das eigentlich für forecast.io drin, da muss nichts zusätzliches installiert werden!


    Grüße
    Martin

  • Fangen wir erstmal an System Info zu fixen :P


    Gentoo und Arch sollten sich da nicht allzu stark unterscheiden. Es wäre allerdings ratsam die Memory Infos und Swap Infos aus /proc/meminfo zu lesen. Das sollte über alle Linux-Distros hinweg einheitlich sein.


    Ebenso sollte /etc/os-release überall vorhanden sein. Auch bei Gentoo.
    An das Videoverzeichnis kommt man ebenfalls bei allen über: "pkg-config --variable=videodir vdr"

  • Das Ermitteln der Temperatur einer nVidia-Karte ist mit nvidia-settings (vgl. http://projects.vdr-developer.…b422ce5e2860225f1b93b#n27) ist im Vergleich zu nvidia-smi auf meinem ION-System arg langsam (Mein Rechner unter Arch Linux braucht real ca. 2 Sekunden, was immer noch recht viel ist):


    An das Videoverzeichnis kommt man ebenfalls bei allen über: "pkg-config --variable=videodir vdr"

    Man will aber doch eigentlich das zur Laufzeit des VDR gesetzte VIDEODIR haben...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • das mit /proc/meminfo schau ich mir mal an. /etc/os-release wird doch genommen ;)
    pkg-config --variable=videodir vdr würde bei mir aber nicht funktionieren da ich alles selbst kompiliere ;)


    nvidia-smi kannte ich noch nicht und schau ich mir mal an.


    Danke euch!

  • Hab mal alles ohne free -m gemacht:

    Komplett:
    https://dl.dropboxusercontent.…on/system_information.g2v

  • Das Ermitteln der Temperatur einer nVidia-Karte ist mit nvidia-settings (vgl. http://projects.vdr-developer.…b422ce5e2860225f1b93b#n27) ist im Vergleich zu nvidia-smi auf meinem ION-System arg langsam (Mein Rechner unter Arch Linux braucht real ca. 2 Sekunden, was immer noch recht viel ist):


    Und wenn Du es so aufrufst, geht es noch schneller: :)


    Code
    vdr01_64 ~ # nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader
    27
    vdr01_64 ~ #
  • Die Skripte sind halt sehr Systemabhängig und müssen abngepasst werden.
    Bei den Temperaturen https://dl.dropboxusercontent.…eratures/temperatures.g2v
    Muss amn eben schauen, was sensors -A ausgibt und das eingeben:

    Das ist auf jedem System wohl anders...

  • Man muss halt seine senors3.conf entsprechend anpassen.....


  • Hab mal alles ohne free -m gemacht:


    Damit sollten wir jetzt ziemlich distributionsunabhängig sein. Was so viel heißt wie man braucht keine Unterscheidung mehr.
    Einfach diesen Schnipsel in die Ubuntu-Variante (wichtig, weil nur dort die /etc/os-release gelesen wird) und die Gentoo Variante raus.


    Das läuft dann für alle Distros.

  • Kommen wir zum Nächsten:

    Code
    # php update_weather.php 
    PHP Warning:  parse_ini_file(): open_basedir restriction in effect. File(/usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.config) is not within the allowed path(s): (/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/) in /usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.php on line 3
    PHP Warning:  parse_ini_file(/usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.config): failed to open stream: Operation not permitted in /usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.php on line 3
    PHP Warning:  include(): open_basedir restriction in effect. File(/usr/lib/vdr/plugins/skinflatplus/widgets/weather/lib/forecast.io.php) is not within the allowed path(s): (/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/) in /usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.php on line 18
    PHP Warning:  include(/usr/lib/vdr/plugins/skinflatplus/widgets/weather/lib/forecast.io.php): failed to open stream: Operation not permitted in /usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.php on line 18
    PHP Warning:  include(): Failed opening 'lib/forecast.io.php' for inclusion (include_path='.:/usr/share/pear') in /usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.php on line 18
    PHP Fatal error:  Class 'ForecastIO' not found in /usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.php on line 24
  • Das ist PHP. Ich kann Perl, ich kann Bash, ich kann Java und ein paar Grundzüge von C++.
    Was ist aus den Fehlermeldungen lese ist, dass er mit den Pfaden irgendwie nicht zufrieden ist.


    Womöglich ist das eine globale Einstellung von PHP. Da ich darauf aber keinen Einfluss habe, müsste ich wohl die ForecastIO Lib an anderer Stelle platzieren.
    Ich habe weder Ahnung, warum er die Config nicht öffnet, noch warum er die Lib nicht öffnet.

  • Vielleicht nenn ich das Script dann in generic um.


    Kommen wir zum Nächsten:

    Code
    # php update_weather.php 
    PHP Warning:  parse_ini_file(): open_basedir restriction in effect. File(/usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.config) is not within the allowed path(s): (/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/) in /usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.php on line 3
    PHP Warning:  parse_ini_file(/usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.config): failed to open stream: Operation not permitted in /usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.php on line 3
    PHP Warning:  include(): open_basedir restriction in effect. File(/usr/lib/vdr/plugins/skinflatplus/widgets/weather/lib/forecast.io.php) is not within the allowed path(s): (/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/) in /usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.php on line 18
    PHP Warning:  include(/usr/lib/vdr/plugins/skinflatplus/widgets/weather/lib/forecast.io.php): failed to open stream: Operation not permitted in /usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.php on line 18
    PHP Warning:  include(): Failed opening 'lib/forecast.io.php' for inclusion (include_path='.:/usr/share/pear') in /usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.php on line 18
    PHP Fatal error:  Class 'ForecastIO' not found in /usr/lib/vdr/plugins/skinflatplus/widgets/weather/update_weather.php on line 24


    Ich wollte auch schon Fragen was mit Wetter ist, nun gut erklären kann ich das erstmal nicht.
    Interessant ist dieses Failed opening 'lib/forecast.io.php', da genau dort ja die lib zu finden ist. Anscheinend ist das php unter Arch so restriktiv das es nur sachen aus seinem include_path includiert. Ich kann heute abend mal versuchen mich ein wenig zu belesen, hätte jetzt gedacht das es so bei allen funktionieren sollte ...


    Grüße
    Martin

  • Ich habe das Skript als Root ausgeführt. Ich denke mal Rechte sind da das kleinste Problem.


    Ich könnte das auch in Perl neuschreiben (Es gibt ein Modul und das kommt mir nicht allzu schwer vor). Perl ist doch etwas üblicher als PHP. Zumindest unter Arch Linux ist Perl standarmäßig vorhanden. Python und PHP müssen nachinstalliert werden.

Jetzt mitmachen!

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