PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mal wieder: TV geht nur als root



michiS
29.08.06, 13:55
Hallo,
ich weiß das wurde hier im Forum schon oft gefragt, aber die Lösungen gehen bei mir nicht.
Ich hab ne DVB-T karte und kann (sowol mit mplayer als auch mit klear, kaffein, xine...) nur mit root-Rechten fernsehen!
Was kann ich dagegen tun?

Danke,
Michi

PS: diese Frage sollte mit allen Lösungen in ne FAQ!

buzz768
29.08.06, 14:17
War im Forum zwar schon mehrfach als eine mögliche Lösung genannt, trotzdem:
Wie sind die Zugriffsrechte der Gerätedateien unter /dev/dvb/adapter0/ ?
Bei mir:


[user@linux ~]$ ls -l /dev/dvb/adapter0/
crw-rw---- 1 root video 212, 4 2006-08-29 10:36 demux0
crw-rw---- 1 root video 212, 5 2006-08-29 10:36 dvr0
crw-rw---- 1 root video 212, 3 2006-08-29 10:36 frontend0
crw-rw---- 1 root video 212, 7 2006-08-29 10:36 net0

Folglich muss ein User der Gruppe video angehören, also


[root@linux ~]# gpasswd -a benutzername video

Danach neu anmelden. Der Befehl groups zeigt dir an, welchen Gruppen du angehörst.

michiS
29.08.06, 15:08
ja, hab ich schon gelesen, geht aber nicht:
1. Bei mir:

[michi@localhost ~]$ ls -l /dev/dvb/adapter0/
insgesamt 0
crw-rw---- 1 root root 212, 4 29. Aug 08:10 demux0
crw-rw---- 1 root root 212, 5 29. Aug 08:10 dvr0
crw-rw---- 1 root root 212, 3 29. Aug 08:10 frontend0
crw-rw---- 1 root root 212, 7 29. Aug 08:10 net0

2.

[root@localhost ~]# gpasswd -a michi video
Unbekannte Gruppe: video
gpasswd: Zugriff verweigert

buzz768
29.08.06, 15:28
Die Gerätedateien gehören also zur Gruppe "root", da hilft es auch nichts, dich der Gruppe "video" zuzuordnen. Du müsstest vielmehr dafür sorgen, dass die Gerätedateien der Gruppe "video" gehören. Die Gerätedateien werden neuerdings von dem Programm udev angelegt und über udev-Regeln gesteuert, die du auch selbst schreiben bzw. beeinflussen kannst. Leg mal (als root) eine Datei 10-local.rules mit folgendem Inhalt an:


SUBSYSTEM=="dvb", GROUP="video"

und speichere diese im Verzeichnis /etc/udev/rules.d/. Danach neu booten und mit ls -l /dev/dvb/adapter0/ noch einmal nachgucken, wie die Zugriffsrechte dann aussehen.

Oder versuche es für den Anfang mal so:


SUBSYSTEM=="dvb", MODE="666"

Damit erlaubst du allen Nutzern den Zugriff auf das Device

michiS
30.08.06, 19:34
Die Gerätedateien gehören also zur Gruppe "root", da hilft es auch nichts, dich der Gruppe "video" zuzuordnen. Du müsstest vielmehr dafür sorgen, dass die Gerätedateien der Gruppe "video" gehören. Die Gerätedateien werden neuerdings von dem Programm udev angelegt und über udev-Regeln gesteuert, die du auch selbst schreiben bzw. beeinflussen kannst. Leg mal (als root) eine Datei 10-local.rules mit folgendem Inhalt an:


SUBSYSTEM=="dvb", GROUP="video"

und speichere diese im Verzeichnis /etc/udev/rules.d/. Danach neu booten und mit ls -l /dev/dvb/adapter0/ noch einmal nachgucken, wie die Zugriffsrechte dann aussehen.

Hab ich gemacht, aber nach dem nächsten Neustart war die Datei /etc/udev/rules.d/10-local.rules wieder leer und ls -l /dev/dvb/adapter0/ gibt natürlich auch wieder das selbe aus...

buzz768
30.08.06, 19:43
Hab ich gemacht, aber nach dem nächsten Neustart war die Datei /etc/udev/rules.d/10-local.rules wieder leer

Ups, also das sollte nicht passieren - keine Ahnung was Fedora da für eigene Wege beschreitet. Ich hätte sonst jetzt noch einmal auf meine zweite Lösungsmöglichkeit hingewiesen, also MODE="666", statt GROUP="video", aber wenn Fedora eigene udev-Rules gleich wieder löscht, bringt das natürlich nichts.

Jaus
31.08.06, 13:34
Ups, also das sollte nicht passieren - keine Ahnung was Fedora da für eigene Wege beschreitet. Ich hätte sonst jetzt noch einmal auf meine zweite Lösungsmöglichkeit hingewiesen, also MODE="666", statt GROUP="video", aber wenn Fedora eigene udev-Rules gleich wieder löscht, bringt das natürlich nichts.
Die Varriante mit 666 habe ich bei mir in Gebrauch (so ähnlich)... Fedora löscht NUR rules, die nicht richtig geschrieben sind!!! Mit rules, die Fehler aufweisen oder nicht richtig funktionieren, kann Fedora nichts anfangen und löscht diese!

MODE="0666" habe ich bei mir stehen und es läuft einwandfrei...

michiS
07.09.06, 19:15
Hab jetz MODE="0666" in der Dat stehen, diese bleibt weiterhin volständig da;
aber trotzdem geht es nicht:

[root@localhost michi]# head /etc/udev/rules.d/10-local.rules
SUBSYSTEM=="dvb", MODE="0666"
[root@localhost michi]# ls -l /etc/udev/rules.d/10-local.rules
-rw-r--r-- 1 root root 30 7. Sep 20:10 /etc/udev/rules.d/10-local.rules
[root@localhost michi]# ls -l /dev/dvb/adapter0/
insgesamt 0
crw-rw---- 1 root root 212, 4 7. Sep 17:34 demux0
crw-rw---- 1 root root 212, 5 7. Sep 17:34 dvr0
crw-rw---- 1 root root 212, 3 7. Sep 17:34 frontend0
crw-rw---- 1 root root 212, 7 7. Sep 17:34 net0

buzz768
07.09.06, 19:32
Hm... du könntest dir mal anzeigen lassen, was udev im einzelnen tut, wenn es die Gerätedateien erzeugt. Geht so:


udevtest $(udevinfo -q path -n /dev/dvb/adapter0/dvr0)

michiS
07.09.06, 19:46
[michi@localhost ~]$ udevtest $(udevinfo -q path -n /dev/dvb/adapter0/dvr0)
main: looking at device '/class/dvb/dvb0.dvr0' from subsystem 'dvb'
run_program: '/bin/sh -c 'K=dvb0.dvr0; K=${K#dvb}; printf dvb/adapter%i/%s ${K%%.*} ${K#*.}''
run_program: '/bin/sh' (stdout) 'dvb/adapter0/dvr0'
run_program: '/bin/sh' returned with status 0
udev_rules_get_name: rule applied, 'dvb0.dvr0' becomes 'dvb/adapter0/dvr0'
create_node: creating device node '/dev/dvb/adapter0/dvr0', major = '212', minor = '5', mode = '0660', uid = '0', gid = '0'
main: run: 'socket:/org/kernel/udev/monitor'
main: run: '/lib/udev/udev_run_devd'
main: run: 'socket:/org/freedesktop/hal/udev_event'
main: run: '/sbin/pam_console_apply /dev/dvb/adapter0/dvr0 '

Jaus
07.09.06, 20:10
udev erstellt immernoch eine Gerätedatei mit dem MODE 0660 und nicht 0666 ;)

buzz768
07.09.06, 20:51
Tja, entweder kommt die eigene Regel gar nicht zur Anwendung oder sie wird von einer anderen, nachfolgenden überschrieben...
Vielleicht hilft dir diese Seite: http://forum.linux-daemon.de/viewtopic.php?t=3

michiS
08.09.06, 11:10
Danke!!! Der Link hat geholfen!
Die Defices gehören nun von der Gruppe video (in der ich jetzt auch bin)!
Das hat 2 Auswirkungen:
1. Klear, das bei mir nach einem Absturtz nicht mehr lief, geht wieder
2. Kaffeine, das (als root) super lief, geht nicht mehr!
Ich habe es mit "kaffeine -w" gestartet, damit es erkennt das die DVB-Geräte jetzt zugänglich sin, das funktioniert, auch, aber nach dem Assistenken kommt eine leere Meldung mit Titel "Wird herunter geladen..."
auf der Konsole giebt es fogendes aus:

[michi@localhost ~]$ kaffeine -w
kbuildsycoca running...
/dev/dvb/adapter0/frontend0 : opened ( Conexant CX22702 DVB-T )
/dev/dvb/adapter0/frontend1 : : Datei oder Verzeichnis nicht gefunden
/dev/dvb/adapter1/frontend0 : : Datei oder Verzeichnis nicht gefunden
/dev/dvb/adapter0/frontend0 : opened ( Conexant CX22702 DVB-T )
/dev/dvb/adapter0/frontend1 : : Datei oder Verzeichnis nicht gefunden
/dev/dvb/adapter1/frontend0 : : Datei oder Verzeichnis nicht gefunden
QLayout "unnamed" added to QWidget "unnamed", which already has a layout

Laut Gerätemanager greift er nicht auf das Netzwerk zu.

Irgend jemand ne Idee?