Halli Hallo,
Ich weiß das Thema gibt es schon zu Hauf hier im Forum, ich wühle mich auch schon seit Stunden durch diverse Themen, aber ich bekomme die locales meines VDR leider nicht in den Griff. Ich glaube ich habe ein völliges Chaos untershciedlicher Zeichensätze für alles mögliche.
Mein System selbst hat de_DE.ISO-8859-1, denke ich zumindest:
gsezz@vdr-server:~> locale
LANG=de_DE.ISO-8859-1
LC_CTYPE=de_DE.ISO-8859-1
LC_NUMERIC="de_DE.ISO-8859-1"
LC_TIME="de_DE.ISO-8859-1"
LC_COLLATE="de_DE.ISO-8859-1"
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=
Alles anzeigen
Dann habe ich eine Festplatte mit VDR aufnahmen eines früheren Systems, gemischt mit aktuellen Aufnahmen. In der Konsole werden die einen richtig, die anderen mit kryptischen Umlauten dargestellt. gestern habe ich schon versucht dort Ordnung rein zu bringen und habe von Hand alle Aufnahmen korrigiert. In der Konsole sehen sie nun gut aus, im VDR werden nun alle Aufnahmen falsch dargestellt.Das EPG hingegen ist sowohl im VDR fehlerfreials auch wenn ich die epg.data mittels cat auf der Konsole ausgebe.
Nun aber mein größtes Problem, wenn ich den VDR per init skript starte findet er die Locales nicht!
/usr/local/bin/vdr -> Deutsch, alle locales werden gefunden
/usr/local/bin/runvdr -> Deutsch, alle Sprachen werden gefunden
sowohl als Benutzer, als auch als root funktioniert es! (VDR wird sowieso als benutzer "vdr" gestartet)
/etc/init.d/vdr start -> locales werden nicht gefunden, VDR kann nur englisch.
Egal mit welchem benutzer ich den skript starte, ob ich ihn selbst ausführe oder automatisch mit einem runlevel, es geht einfach nicht.
gsezz@vdr-server:~> cat /etc/init.d/vdr
#!/bin/sh
export VDR_LANG=de_DE.ISO-8859-1
export LANG=de_DE.ISO-8859-1
. /etc/rc.status
rc_reset
case "$1" in
start)
echo -n "Starting VDR "
/usr/local/bin/runvdr &
rc_status -v
;;
stop)
echo -n "Shutting down VDR "
killall vdr
killall runvdr
rc_status -v
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
rc_exit
Alles anzeigen
Der Skript tut doch auch ncihts anderes als die runvdr aufzurufen, wieso findet er auf diesem Weg die locales nicht und wenn ich direkt die runvdr aufrufe geht es?
Ich habe schon versucht an jeder nur erdenklichen Stelle
einzubauen, in der runvdr, im init skript, habe es händisch vor dem aufruf des skript ausgeführt, daran scheint es nciht zu liegen.
Ich habe auch --locales in der runvdr explizit mit absolutem Pfad angegeben.
#!/bin/sh
VIDEODIR="/vdr/video0"
CONFIGDIR="/var/vdr"
LIBDIR="/usr/src/VDR/PLUGINS/lib"
LOCALEDIR="/usr/src/VDR/locale"
VDRPRG="/usr/local/bin/vdr"
export VDR_LANG=de_DE.ISO-8859-1
export LANG=de_DE.ISO-8859-1
VDRPLU="-Ptext2skin -P'xineliboutput --remote=37890 --local=none --fullscreen --hud --primary --video=xshm' -P'epgsearch -c /var/vdr/plugins/epgsearch' -P'sleeptimer -e /usr/local/bin/sleeptimer.sh' -Pmount"
VDRPAR="-t /dev/tty11 --localedir=$LOCALEDIR --video=$VIDEODIR --epgfile=$CONFIGDIR/epg.data --config=$CONFIGDIR --lib=$LIBDIR --record=$PATH/rwrapper.sh -w 60 $*"
VDRCMD="$VDRPRG $VDRPLU $VDRPAR"
KILL="/usr/bin/killall -q -TERM"
while (true) do
eval "$VDRCMD"
if test $? -eq 0 -o $? -eq 2; then exit; fi
$KILL $VDRPRG
sleep 5
echo "`date` restarting VDR" >> /var/log/vdr
done
Alles anzeigen
Und auch in der Make.config habe ich es schon mit absolutem Pfad angegeben:
gsezz@vdr-server:~> cat /usr/src/VDR/Make.config
#
# User defined Makefile options for the Video Disk Recorder
#
# Copy this file to 'Make.config' and change the parameters as necessary.
#
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
# $Id: Make.config.template 1.16 2008/01/13 12:54:09 kls Exp $
### The C compiler and options:
CC = gcc
CFLAGS = -g -O2 -Wall
CXX = g++
CXXFLAGS = -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
ifdef PLUGIN
CFLAGS += -fPIC
CXXFLAGS += -fPIC
endif
### The directory environment:
#DVBDIR = /usr/src/v4l-dvb/linux
MANDIR = /usr/local/man
BINDIR = /usr/local/bin
LOCDIR = /usr/src/VDR/locale
PLUGINDIR= /usr/src/VDR/PLUGINS
PLUGINLIBDIR= $(PLUGINDIR)/lib
VIDEODIR = /vdr/video0
CONFDIR = /var/vdr
### The remote control:
LIRC_DEVICE = /var/run/lirc/lircd
RCU_DEVICE = /dev/ttyS1
REMOTE=LIRC
NO_KBD=1
## Define if you want vdr to not run as root
VDR_USER = vdr
Alles anzeigen
Ich weiß echt nicht woran es noch liegen könnte. Ich blicke bei diesem Wirrwarr von Zeichensätzen sowieso nicht durch, welche Einstellung nun für was gilt, was tatsächlich aktuell welchen für was benutzt, usw. Es wäre echt prima wenn mir jemand helfen könnte.
System ist ein Suse11.1 mit VDR 1.6.0-2 mit entsprechendem Extensions patch und Xineliboutput-1.0.4