Kann locale in /etc/init.d nicht setzen

  • Ich habe hier ein ganz dummes Problem, vielleicht kann mir ja einer von euch weiterhelfen.


    Wenn ich auf einem openSUSE 11.0 System als user 'root' den Befehl


    LANG=de_DE.ISO-8859-1 locale


    in der Shell ausführe, so erhalte ich wie erwartet


    LANG=de_DE.ISO-8859-1
    LC_CTYPE="de_DE.ISO-8859-1"
    LC_NUMERIC="de_DE.ISO-8859-1"
    LC_TIME=de_DE
    LC_COLLATE=POSIX
    LC_MONETARY="de_DE.ISO-8859-1"
    LC_MESSAGES="de_DE.ISO-8859-1"
    LC_PAPER="de_DE.ISO-8859-1"
    LC_NAME="de_DE.ISO-8859-1"
    LC_ADDRESS="de_DE.ISO-8859-1"
    LC_TELEPHONE="de_DE.ISO-8859-1"
    LC_MEASUREMENT="de_DE.ISO-8859-1"
    LC_IDENTIFICATION="de_DE.ISO-8859-1"
    LC_ALL=



    Mache ich das gleiche in einem Script in /etc/init.d, das beim Hochfahren ausgeführt wird, so erhalte ich stattdessen


    LANG=de_DE.ISO-8859-1
    LC_CTYPE="POSIX"
    LC_NUMERIC="POSIX"
    LC_TIME="POSIX"
    LC_COLLATE="POSIX"
    LC_MONETARY="POSIX"
    LC_MESSAGES="POSIX"
    LC_PAPER="POSIX"
    LC_NAME="POSIX"
    LC_ADDRESS="POSIX"
    LC_TELEPHONE="POSIX"
    LC_MEASUREMENT="POSIX"
    LC_IDENTIFICATION="POSIX"
    LC_ALL=POSIX



    Hat jemand eine Idee, warum das nicht so klappt, wie erwartet?


    Klaus

  • Kann es sein, dass das Skript nur in der Shell wirkt, in der es ausgeführt wird?


    Ich würde mal schauen, wie SuSE das gelöst hat und es auch so machen.

    Gruss
    SHF


  • Warum nicht in /etc/profile ?

  • Zitat

    Originally posted by SHF
    Kann es sein, dass das Skript nur in der Shell wirkt, in der es ausgeführt wird?


    Mein erster Ansatz war


    export LANG=de_DE.ISO-8859-1
    ./vdr ...


    Aber damit hat VDR immer als Codeset den Default von 'ANSI_X3.4-1968' genommen, was natürlich Quatsch ist. Ich habe dann 'locale' aufgerufen, um zu sehen, ob das überhaupt richtig gesetzt wird, und dabei zeigte sich, daß 'locale' der Meinung ist, alles wäre auf "POSIX" gesetzt.


    Mein Startscript in /etc/init.d/vdr sieht so aus:



    Und das eigentliche 'runvdr2' so:



    Wenn ich das 'runvdr2' Script als normaler User aufrufe, dann klappt alles wie erwartet.


    Wenn es beim Rechnerstart über /etc/init.d/vdr ausgeführt wird, dann geht es nicht.


    Irgendwie sehe ich nicht ein, warum das so ist...


    Klaus

  • Zitat

    Originally posted by wirbel
    Warum nicht in /etc/profile ?


    Well ich ein komplettes Script ('runvdr2', siehe mein vorherges Posting) haben möchte, in dem alles richtig gesetzt wird, und das nicht von weiteren Einstellungen abhängt.


    Klaus

  • Könnte sein, dass die "-u" Option das Problem ist.
    Ich bin zwar nicht sicher, aber eventuell macht der beim Benutzerwechsel eine neue Shell auf.


    Ich hatte damals auch irgendwie da Probleme, was genau weiss ich aber nicht mehr (ist schon zu lange her).
    Den VDR starte ich auch mit anderem User aus meiner runvdr, allerdings mit su mit der Option "-m":

    Zitat

    su -m vdr -c $vdrcmd

    Gruss
    SHF


  • Zitat

    Originally posted by SHF
    Könnte sein, dass die "-u" Option das Problem ist.
    Ich bin zwar nicht sicher, aber eventuell macht der beim Benutzerwechsel eine neue Shell auf.


    Das erklärt aber nicht, warum auch


    LANG=de_DE.ISO-8859-1 locale


    nicht geht, wenn es aus /etc/init.d/vdr heraus beim Hochfahren ausgeführt wird.


    Klaus

  • Ich hab ein aehnliches Problem mit SuSE 11.1. Mein System (headless) startet autom den VDR. Wenn ich das System neu boote (kommt selten vor) sind die locale falsch. Wenn ich sofort anschliessend das gleiche start/stop Script noch mal ausfuehre ist alles richtig
    KA warum. Hab mich damit abgefunden

    Server PC leap42.3 ::: vdr-2.3.8 ::: DD Cine C2 + 1 Erweiterung headless

    zbox leap42.3 ::: vdr-2.3.8 + SatIP Plugin

    OctopusNet DVBC mit 4 Tunern

    Clients 2 x Raspberry 2 + libreElec 8.2.1 verbunden mit zbox

  • Zitat

    Original von kls
    Das erklärt aber nicht, warum auch
    LANG=de_DE.ISO-8859-1 locale
    nicht geht, wenn es aus /etc/init.d/vdr heraus beim Hochfahren ausgeführt wird.

    ... stimmt auch wieder :schiel.


    Dann war's bei mir damals ein anderes Probem.

    Gruss
    SHF


Jetzt mitmachen!

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