PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Statusanzeige für webcam?



Seiten : [1] 2

rstuby
29.01.11, 18:15
Hi alle! Meine eingebaute webcam im Notebook hat keine Leuchtdiode dran.
Um zu gucken, ob sie schon an ist oder ob ich sie erst noch anschalten muss (Hardwareschalter), mache ich zur Zeit immer ein Programm auf, das diese benutzt. Das ist aber langsam etwas nervig. Gibt es vielleicht ein Miniprogramm für die Statusleiste oder so, das anzeigt, ob die Webcam ein- oder ausgeschaltet ist, bzw. ob eine Webcam gefunden wurde oder nicht?

Dodobo.reloaded
30.01.11, 11:50
Habe in meiner Paketverwaltung nach Webcam gesucht und bekam z.B.:

cameramonitor - Webcam monitoring in system tray

rstuby
30.01.11, 14:55
Danke! zwar kann ich in Yast bei SuSe nichts direkt Analoges finden, aber man kann ja auch noch mal im Internet gucken, ob es das auch als rpm gibt.

tomfa b68
30.01.11, 16:48
http://download.opensuse.org/repositories/home:/xyzyx/openSUSE_11.2/noarch/

Newbie314
30.01.11, 17:17
@tomfa: was ist denn das ? Sind das Pakete die OpenSuse Cracks privat erstellen ? von xyz/Home habe ich bisher noch nie etwas gehört ...

tomfa b68
30.01.11, 17:34
@tomfa: was ist denn das ? Sind das Pakete die OpenSuse Cracks privat erstellen ?
So in etwa. Im OBS unter home kann jeder Pakete erstellen lassen und Repos anlegen, nicht nur für openSUSE (Cracks). Man muss sich solch ein Repo auch nicht unbedingt einbinden.

rstuby
30.01.11, 17:38
Funktioniert leider noch nicht richtig:
ruth@linux-ddqv:~> cameramonitor
Traceback (most recent call last):
File "/usr/bin/cameramonitor", line 36, in <module>
from cameramonitor import preferences
File "/usr/lib/python2.6/site-packages/cameramonitor/preferences.py", line 26, in <module>
import gconf
ImportError: No module named gconf
ruth@linux-ddqv:~>

Wobei gconf bei mir aber vorhanden ist.

Dodobo.reloaded
30.01.11, 17:50
Gebt ihm doch mal den Befehl für alle Pakete, die auf webcam passen. Alternativ lade mal paar Bildschirmfotos hoch. Bei mir kommt da unter Ubuntu 1 Seite Treffer. Zwar sicher viele Libs und unbrauchbares, aber...

tomfa b68
30.01.11, 17:55
Dann müssten wir wissen welche Distribution, bzw. Version von openSUSE benutzt.

cat /etc/SuSE-*
Das oben angegebene Paket war übrigens für openSUSE 11.2 falls es niemandem aufgefallen ist.

rstuby
30.01.11, 17:58
Bei mir kommen nur 7 Treffer, das eben installierte und noch nicht funktionierende cameramonitor eingeschlossen. Das andere sind wxcam und cheese und was dazu gehört und gmerlincamelot sowie ein Programm eviacam, das die Webcam dazu benutzen soll, das man den Mauszeiger mit Kopfbewegungen steuern kann...

rstuby
30.01.11, 17:59
Ach so, sorry, ich habe SuSe11.3 und habe gar nicht geguckt,wofür das Paket sein sollte...
(i586)

rstuby
31.01.11, 17:48
Alsooo....

jetzt habe ich mir die Sources von cameramonitor als .tar.gz-Archiv heruntergeladen und nach Anleitung kompiliert und installiert, was auch so aussah, als ob es funktioniert hätte, nachdem ich mir noch einige ...-devel Pakete von Python und gtk über yast installiert hatte.
Jetzt habe ich ein wunderschönes preferences-Programm, wo ich einstellen kann, nach wievielen Sekunden er die Kamera jeweils checken soll und ob er gleich beim Systemstart starten soll usw. und ein wunderschönes Icon, mit dem das Programm selber gestartet werden soll, was aber nichts tut.
Über die Konsole kommt folgendes:


ruth@linux-ddqv:~> cameramonitor
/usr/bin/cameramonitor:76: DeprecationWarning: os.popen3 is deprecated. Use the subprocess module.
text = os.popen3('fuser '+self.video_device, 'r')[1].read()

und dann tut er so, als ob es weiterläuft, kein Ausstieg mit Fehlermeldung oder was. Im Systemmonitor ist der Porozess auch aufgelistet.
Aber kein entsprechendes icon in der Taskleiste oder sonstwo zu finden...

rstuby
01.02.11, 09:23
PS: Auch wenn ich den "Systemabschnitt der Kontrollleiste" als eigenes Plasmoid auf die Arbeitsfläche lege, wird auch dort kein entsprechendes Icon sichtbar.

Dodobo.reloaded
01.02.11, 10:09
Ist die Webcam überhaupt an?



Description: Webcam monitoring in system tray
Camera Monitor is a little system tray icon
that appears when your webcam is on.
It is designed for the GNOME desktop, but
should work as well on KDE and Xfce.

rstuby
01.02.11, 10:16
Die Webcam wird mit einer Hardwaretaste ein- und ausgeschaltet, die ich beim Ausprobieren mehrfach bedient habe.

Das Programm sollte doch eigentlich nach der eingestellten Anzahl ovn Sekunden selber merken, wenn die Webcam angeschaltet wird! Dafür ist es doch da! Wenn die WEbcam von anfang an eingeschaltet sein muss, hat das Programm doch gar keinen Sinn...

Dodobo.reloaded
01.02.11, 10:37
Achso. Aber: Kamera an -> Tray Icon erscheint (erst dann). Zweck erfüllt.

rstuby
01.02.11, 11:17
Jetzt habe ich mal dsa Programm wxcam gestartet. Da kam auf einmal das icon und eine Nachricht "Camera is on". Sobald ich wxcam wieder schließe, heißt es "camera is off" und das icon geht wieder weg. Also auf diese Weise erfahre ich nicht, ob die Kamera an ist. Da kann ich auch gleich wxcam starten und gucken, ob ein Bild da ist...

rstuby
01.02.11, 13:25
Habs jetzt auch noch mal mit Skype ausprobiert. Dieses Programm zeigt offenbar nicht an, ob die Kamera physisch an ist, sondern ob sie im Moment gerade softwaremäßig genutzt wird. Ist natürlich auch evtl. eine sinnvolle Sache, gegen Hacker oder so, aber nicht das, was ich gesucht hatte.

Dodobo.reloaded
01.02.11, 13:56
Idee: Schreibe dir doch selbst einen Befehl. Man muss nur prüfen, ob z.B. ein Device /dev/video0 oder ähnliches erzeugt wird, wenn du sie ansteckst oder anschaltest.

Gib mal im Terminal ein:


tail -f /var/log/messages /var/log/dmesg /var/log/syslog

und schalte nun die Kamera an. Danach kopiere die Meldungen und kommentiere, welche neu dazugekommen sind.

rstuby
01.02.11, 19:19
ruth@linux-ddqv:~> sudo tail -f /var/log/messages /var/log/dmesg /var/log/syslog
root's password:
==> /var/log/messages <==
Feb 1 22:10:27 linux-ddqv kernel: [39761.089177] atkbd serio0: Unknown key pressed (translated set 2, code 0xf8 on isa0060/serio0).
Feb 1 22:10:27 linux-ddqv kernel: [39761.089183] atkbd serio0: Use 'setkeycodes e078 <keycode>' to make it known.
Feb 1 22:10:27 linux-ddqv kernel: [39761.090086] atkbd serio0: Unknown key released (translated set 2, code 0xf8 on isa0060/serio0).
Feb 1 22:10:27 linux-ddqv kernel: [39761.090090] atkbd serio0: Use 'setkeycodes e078 <keycode>' to make it known.
Feb 1 22:10:52 linux-ddqv kernel: [39786.265778] usb 1-2: USB disconnect, address 5
Feb 1 22:10:52 linux-ddqv kernel: [39786.268419] atkbd serio0: Unknown key pressed (translated set 2, code 0xee on isa0060/serio0).
Feb 1 22:10:52 linux-ddqv kernel: [39786.268425] atkbd serio0: Use 'setkeycodes e06e <keycode>' to make it known.
Feb 1 22:10:52 linux-ddqv kernel: [39786.269341] atkbd serio0: Unknown key released (translated set 2, code 0xee on isa0060/serio0).
Feb 1 22:10:52 linux-ddqv kernel: [39786.269347] atkbd serio0: Use 'setkeycodes e06e <keycode>' to make it known.
Feb 1 22:12:54 linux-ddqv sudo: ruth : TTY=pts/0 ; PWD=/home/ruth ; USER=root ; COMMAND=/usr/bin/tail -f /var/log/messages /var/log/dmesg /var/log/syslog
tail: „/var/log/dmesg“ kann nicht zum Lesen geöffnet werden: Datei oder Verzeichnis nicht gefunden
tail: „/var/log/syslog“ kann nicht zum Lesen geöffnet werden: Datei oder Verzeichnis nicht gefunden

==> /var/log/messages <==
Feb 1 22:13:30 linux-ddqv kernel: [39944.647130] atkbd serio0: Unknown key pressed (translated set 2, code 0xee on isa0060/serio0).
Feb 1 22:13:30 linux-ddqv kernel: [39944.647136] atkbd serio0: Use 'setkeycodes e06e <keycode>' to make it known.
Feb 1 22:13:30 linux-ddqv kernel: [39944.648084] atkbd serio0: Unknown key released (translated set 2, code 0xee on isa0060/serio0).
Feb 1 22:13:30 linux-ddqv kernel: [39944.648087] atkbd serio0: Use 'setkeycodes e06e <keycode>' to make it known.
Feb 1 22:13:31 linux-ddqv kernel: [39945.307115] usb 1-2: new high speed USB device using ehci_hcd and address 7
Feb 1 22:13:31 linux-ddqv kernel: [39945.612739] usb 1-2: New USB device found, idVendor=5986, idProduct=0203
Feb 1 22:13:31 linux-ddqv kernel: [39945.612744] usb 1-2: New USB device strings: Mfr=3, Product=1, SerialNumber=0
Feb 1 22:13:31 linux-ddqv kernel: [39945.612748] usb 1-2: Product: BisonCam, NB Pro
Feb 1 22:13:31 linux-ddqv kernel: [39945.612751] usb 1-2: Manufacturer: Bison Electronics Inc.
Feb 1 22:13:31 linux-ddqv kernel: [39945.637222] uvcvideo: Found UVC 1.00 device BisonCam, NB Pro (5986:0203)
Feb 1 22:13:31 linux-ddqv kernel: [39945.640667] input: BisonCam, NB Pro as /devices/pci0000:00/0000:00:03.3/usb1/1-2/1-2:1.0/input/input17
Daraus werde ich jetzt gerade nicht so ganz schlau, aber es ist schon /dev/video0, das steht in den Einstellungen von Skype, die funktionieren. In den Geräteinformationen steht jedoch /dev/input/event11.

Dodobo.reloaded
01.02.11, 20:45
Dann teste mal:


ls -hal /dev/video*

einmal, wenn Cam aus ist und einmal, wenn sie an ist. Ergebnis bitte kopieren.

Willst du eine aufpoppendes Fenster, wenn die Cam an ist oder ein Trayicon oder beides - was ist dir wichtiger, wenn du nur eins haben kannst?

Sind das Soft-Tasten, weil du nicht von selbst weißt, ob sie angeschalten wäre?

Ein rootkit kann natürlich trotzdem alles cracken...

rstuby
02.02.11, 05:52
Erst an, dann aus:

ruth@linux-ddqv:~> ls -hal /dev/video*
crw-rw----+ 1 root video 81, 0 2. Feb 08:47 /dev/video0
ruth@linux-ddqv:~> ls -hal /dev/video*
ls: Zugriff auf /dev/video* nicht möglich: Datei oder Verzeichnis nicht gefunden
ruth@linux-ddqv:~> ls -hal /dev/video*

Ein Trayicon wäre ideal.

rstuby
02.02.11, 06:49
Was Soft-Tasten sind, weiß ich nicht so genau, aber es sind halt so vier kleine Tasten in der rechten oberen Ecke des Notebooks, direkt unter dem Monitor (die anderen zwei außer Cam und WiFi habe ich noch nie gebraucht), auf die man einmal drauftippt, und dann ist es an, und nochmal, und dann ist es wieder aus, man sieht aber keinen Unterschied an der Stellung der Taste. Bei der WiFi-Antenne geht eine entsprechende Diode an, bei der Kamera gar nichts.

rstuby
02.02.11, 08:04
Hier http://www.itechnews.net/wp-content/uploads/2009/03/msi-vx600-series-notebook-pc.jpg kann man die vier Tasten rechts neben der Power-Taste und auch oben die Kamera ohne LED ganz gut erkennen.

buzz768
02.02.11, 12:49
Idee: Schreibe dir doch selbst einen Befehl. Man muss nur prüfen, ob z.B. ein Device /dev/video0 oder ähnliches erzeugt wird, wenn du sie ansteckst oder anschaltest.
Es liegt natürlich nahe das mit udev zu machen. Etwas problematisch dabei ist, dass udev von Root ausgeführt wird. Hier mal eine kleine Bastellösung: Wenn das Device immer /dev/video0 ist, kann man im einfachsten Fall solche Rules


KERNEL=="video0", ACTION=="add", RUN+="/usr/local/bin/notify_webcam on"
KERNEL=="video0", ACTION=="remove", RUN+="/usr/local/bin/notify_webcam off"

z.B. in einer Datei /etc/udev/rules.d/99-local.rules eintragen. Das Script notify_webcam muss ausführbar sein und macht nichts anderes als "on" oder "off" in ~/.webcam/state im Homeverzeichnis des Users "user" einzutragen


#!/bin/bash
echo $1 > /home/user/.webcam/state

Verzeichnis und Datei vor dem ersten Versuch als user erzeugen


$ mkdir .webcam
$ touch .webcam/state

Nun die Webcam-Taste betätigen, in .webcam/state sollte fortan immer der aktuelle Status der Webcam stehen. Mit inotifywait kann man die Datei überwachen und mit alltray ein Icon im Tray anzeigen lassen. Dazu wird folgendes Script angepasst und als user (idealerweise automatisch beim Einloggen) ausgeführt. Es aktualisiert ~/.webcam/state vor dem Aufruf von inotifywait zunächst direkt. Terminal dient nur als dummy-Applikation, man kann natürlich auch direkt eine Webcam-Applikation starten.


#!/bin/bash
function action() {
state=$(cat ~/.webcam/state)
if ! pidof alltray && [ $state = "on" ]
then
alltray -i /usr/share/pixmaps/geeqie.png Terminal &
else
killall alltray
fi
}
if [ -e /dev/video0 ]
then
echo on > ~/.webcam/state
else
echo off > ~/.webcam/state
fi
action
while inotifywait -e modify ~/.webcam ; do action ; done

Mit halevt könnte man das wohl auch machen, aber HAL läuft bei mir schon gar nicht mehr. Andere Lösungen würden mich auch interessieren.

Dodobo.reloaded
02.02.11, 13:17
Schöne Lösung. So tief kenne ich die Syntax von udev nicht, daher bevorzuge ich noch simplere Lösungen, aber hier und für KDE hätte ich auch nochmal nachsehen und eine Bastellösung frickeln müssen.

Schade, dass ich sowas nur zu vielleicht 75% verstehe bzw. nicht aus dem Kopf nachmachen könnte - solche Lösungen bevorzuge ich. Aber danke für den Lerneffekt.

Mal sehen, was der Themenersteller draus macht.

rstuby
02.02.11, 19:18
Das mit der state-Datei funktioniert schon mal gut. Das Script aber noch nicht. Der Befehl inotifywait wird nicht gefunden, deshalb muss man es jedesmal wieder neu starten, damit es das Icon erneuert oder wegnimmt.
Wäre ja auch eine Variante, aber nur dann eine sinnvolle, wenn man es durch Klicken auf das Icon starten könnte. Das hat mit meinen spärlichen script-Kenntnissen aber nicht funktionert. Ein Prozess kann wohl nicht Kindprozess von sich selbst sein, und wenn man zwei hat, die sich gegenseitig aufrufen, dann tun sie das dauernd und nicht nur beim Anklicken. Wobei der Terminal doch auch nur beim Anklicken auftaucht, hm...
Zu welchem Paket oder so gehört inotifywait?

Dodobo.reloaded
02.02.11, 19:29
Bei dir wahrscheinlich auch dazu:


$ apt-cache search inotifywait
inotify-tools - command-line programs providing a simple interface to inotify

Meine Programmierkenntnisse sind auch spärlich und das lohnt sich auch nicht, das zu sehr zu ändern, denn es ist nicht mein täglich Brot, ergo vergisst man das meiste Erlernte nach wenigen Wochen wieder so gut wie.

rstuby
02.02.11, 19:38
apt-cache kennt meiner auch nicht...

buzz768
02.02.11, 20:26
inotify-tools gibt's bei packman (http://packman.links2linux.de/package/inotify-tools) allerdings nicht für 11.3. Alternativen werden hier (https://github.com/rvoicilas/inotify-tools/wiki/#related) genannt.

PS
Hier (http://pkgs.org) mal suchen