Notebook fährt beim Drücken des Ausschaltknopfes sofort herunter

4. Januar 2014 von edgar

Auch dies ist ein Problem, das bisher nur bei meinem Notebook „Lenovo ThinkPad Edge E330“ unter Ubuntu (mit KDE) auftrat. Vermutlich ist es aber kein Hardware-spezifisches Problem. Eigentlich habe ich mein Notebook im Betriebssystem so einestellt, dass es in den Standby-Zustand (Suspend-to-RAM) wechselt, wenn man den Ausschaltknopf drückt. Der Standby funktioniert problemlos beim Zuklappen des Bildschirms, nicht jedoch beim Betätigen des Ausschaltknopfes. Dann fährt das Notebook sofort und ohne Nachfrage herunter. Das ist ziemlich ärgerlich, weil alle Programme direkt geschlossen werden.

So wie es aussieht, lässt sich das Problem zur Datei /etc/acpi/powerbtn.sh zurückverfolgen. Denn ganz am Ende wird ein sofortiges Herunterfahren inittiert, wenn alles andere nicht geklappt hat:

[...]
# If all else failed, just initiate a plain shutdown.
/sbin/shutdown -h now "Power button pressed"

Nun ist es aber so, dass der Computer eigentlich schon korrekt in den Standby-Zustand versetzt wird, lediglich wird dies in powerbtn.sh nicht erkannt und deshalb am Ende der shutdown eingeleitet. Ein etwas unschöner, aber wirksamer Workaround ist das einfache auskommentieren dieser letzten Zeile:

[...]
# If all else failed, just initiate a plain shutdown.
# /sbin/shutdown -h now "Power button pressed"

Schon funktioniert alles wie gewünscht.

Helligkeitssteuerung bei Lenovo ThinkPad Edge E330 funktioniert unter Ubuntu nicht korrekt

4. Januar 2014 von edgar

Ein sehr seltsames Problem tritt bei meinem Notebook „Lenovo ThinkPad Edge E330“ unter Ubuntu (bisher sowohl 13.04 als auch 13.10) auf: Die Helligkeitsstufen scheinen nicht korrekt angeordnet zu sein. Das heißt, wenn man den Bildschirm nach und nach dunkler einstellt, wird er irgendwann wieder heller. Anders ausgedrückt: Die drei niedrigsten Stufe sind heller als die viertniedrigste.

Woran das Problem liegt, kann ich nicht genau sagen, aber Abhilfe schafft eine Option für GRUB2.

In der Datei /etc/default/grub muss man der option GRUB_CMDLINE_LINUX_DEFAULT den wert acpi_backlight=vendor hinzufügen.

Das ganze sieht dann z.B. so aus:
(alt) GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
(neu) GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"

Nach einem sudo update-grub und einem anschließenden Neustart sollte die Helligkeitssteuerung ganz normal funktionieren.

Update für Ubuntu 15.04
Mit dem Erscheinen von Ubuntu 15.04 funktionierte die Helligkeitsregelung auch so nicht. Abhilfe schaffte das Erstellen der Datei /usr/share/X11/xorg.conf.d/20-intel.conf mit dem Inhalt

Section "Device"
Identifier "card0"
Driver "intel"
Option "Backlight" "intel_backlight"
BusID "PCI:0:2:0"
EndSection

zusätzlich zu oben genannter Änderung für Grub.

Rechteprobleme beim Versuch, mit PIP ein paket zu installieren

14. Oktober 2013 von edgar

Heute habe ich versucht, mit Hilfe von PIP das Paket flake8 zu installieren. Leider hat es nicht geklappt, sondern ist mit folgender Fehlermeldung abgebrochen:

$pip install flake8
Downloading/unpacking flake8
Downloading flake8-2.0.tar.gz
Running setup.py egg_info for package flake8

Requirement already satisfied (use --upgrade to upgrade): distribute in /usr/lib/python2.7/dist-packages (from flake8)
Downloading/unpacking pyflakes>=0.6.1 (from flake8)
Downloading pyflakes-0.7.3.tar.gz
Running setup.py egg_info for package pyflakes

Downloading/unpacking pep8>=1.4.3 (from flake8)
Downloading pep8-1.4.6.tar.gz (65Kb): 65Kb downloaded
Running setup.py egg_info for package pep8

[...]

no previously-included directories found matching 'docs/_build'
Downloading/unpacking mccabe>=0.2 (from flake8)
Downloading mccabe-0.2.1.tar.gz
Running setup.py egg_info for package mccabe

Installing collected packages: flake8, pyflakes, pep8, mccabe
Running setup.py install for flake8
error: could not create '/usr/local/lib/python2.7/dist-packages/flake8': Permission denied
Complete output from command /usr/bin/python2.7 -c "import setuptools;__file__='/is/ei/eklenske/lib/python2.7/build/flake8/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-nNnRjL-record/install-record.txt:
running install

[...]

running install_lib

creating /usr/local/lib/python2.7/dist-packages/flake8

error: could not create '/usr/local/lib/python2.7/dist-packages/flake8': Permission denied

----------------------------------------
Command /usr/bin/python2.7 -c "import setuptools;__file__='/is/ei/eklenske/lib/python2.7/build/flake8/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-nNnRjL-record/install-record.txt failed with error code 1
Storing complete log in /is/ei/eklenske/.pip/pip.log

So weit, so klar. Es fehlen also die erforderlichen Rechte, um das Paket systemweit installieren zu können. Dummerweise schlug der folgende Versuch, das ganze mit sudo zu bewerkstelligen, ebenfalls Fehl:

sudo pip install flake8
Downloading/unpacking flake8
Running setup.py egg_info for package flake8
error: pip-egg-info/flake8.egg-info/requires.txt: Permission denied
Complete output from command python setup.py egg_info:
running egg_info

writing requirements to pip-egg-info/flake8.egg-info/requires.txt

error: pip-egg-info/flake8.egg-info/requires.txt: Permission denied

----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in /is/ei/eklenske/.pip/pip.log
Traceback (most recent call last):
File "/usr/local/bin/pip", line 9, in
load_entry_point('pip==1.0', 'console_scripts', 'pip')()
File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 116, in main
return command.main(initial_args, args[1:], options)
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 147, in main
log_fp = open_logfile(log_fn, 'w')
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 176, in open_logfile
log_fp = open(filename, mode)
IOError: [Errno 13] Permission denied: '/is/ei/eklenske/.pip/pip.log'

Nach einigem Herumstöbern im Internet bin ich bei stackoverflow auf eine Lösung gestoßen, und zwar im ersten Kommentar: ein einfaches Wechseln in den temporären Ordner mit cd /tmp ist die Lösung. Ein anschließendes sudo pip install flake8 funktioniert dann.

eklenske@irpin: ~ $
cd /tmp
eklenske@irpin: /tmp $
sudo pip install flake8
Downloading/unpacking flake8
Downloading flake8-2.0.tar.gz
Running setup.py egg_info for package flake8

Requirement already satisfied (use --upgrade to upgrade): distribute in /usr/lib/python2.7/dist-packages (from flake8)
Downloading/unpacking pyflakes>=0.6.1 (from flake8)
Downloading pyflakes-0.7.3.tar.gz
Running setup.py egg_info for package pyflakes

Downloading/unpacking pep8>=1.4.3 (from flake8)
Downloading pep8-1.4.6.tar.gz (65Kb): 65Kb downloaded
Running setup.py egg_info for package pep8

[...]
no previously-included directories found matching 'docs/_build'
Downloading/unpacking mccabe>=0.2 (from flake8)
Downloading mccabe-0.2.1.tar.gz
Running setup.py egg_info for package mccabe

Installing collected packages: flake8, pyflakes, pep8, mccabe
Running setup.py install for flake8

Installing flake8 script to /usr/local/bin
Running setup.py install for pyflakes

Installing pyflakes script to /usr/local/bin
Running setup.py install for pep8

[...]
no previously-included directories found matching 'docs/_build'
Installing pep8 script to /usr/local/bin
Running setup.py install for mccabe

Successfully installed flake8 pyflakes pep8 mccabe
Cleaning up...

Rechtschreibprüfung und Thesaurus bei OpenOffice sind eventuell defekt, wenn servergespeicherte Profile genutzt werden.

27. April 2013 von edgar

Leider hat OpenOffice gelegentlich Probleme beim Einsatz in Unternehmen. So zum Beispiel hat die aktuelle Version 3.4.1 von Apache OpenOffice das Problem, dass die Sprachmodule (Rechtschreibprüfung, Thesaurus, Silbentrennung) nicht funktionieren, wenn bei servergespeicherten Profilen das Verzeichnis mit den Anwendungsdaten (%AppData%) auf eine Netzwerkfreigabe zeigt. Dies äußert sich dann darin, dass die Rechtschreibprüfung nicht funktioniert.

Symptome: Wenn man die Rechtschreibprüfung startet, erscheint ein Fenster mit dem Titel „Rechtschreibung: [Keine]“ und die Meldung „Die Rechtschreibprüfung ist abgeschlossen!“. Unter Extras > Sprache ist der Thesaurus nicht verfügbar (ausgegraut), und unter Extras > Optionen... > Spracheinstellungen > Linguistik ist das Feld „Verfügbare Sprachmodule“ leer.

Das ganze liegt daran, dass OpenOffice nicht vollständig mit den Netzwerkpfad der Anwendungsdaten klarkommt. Beheben lässt sich das Problem dadurch, dass man in der Datei bootstrap.ini im Verzeichnis C:\Program Files (x86)\OpenOffice.org 3\program eine Zeile ändert:

ALT: UserInstallation=$SYSUSERCONFIG/OpenOffice.org/3
NEU: UserInstallation=file://///server/user/$USERNAME/Anwendungsdaten/OpenOffice.org/3/

wobei man beim Pfad server/user natürlich den Pfad zur Netzwerkfreigabe angeben muss, auf der die Homeverzeichnisse mit den Anwendungsdaten liegen.

Die Datei sieht zum Glück bei allen Installationen der gleichen Version identisch aus, man kann sie also problemlos händisch oder per Skript verteilen.

Die Migration zu Windows 7 und der Fehler mit dem temporären Profil

13. April 2013 von edgar

Nach der Migration von Windows XP zu Windows 7 erhielt ich bei einigen Benutzern im Netzwerk (Windows Server 2008 R2 Domäne) folgenden Fehler, allerdings nicht bei allen:

Sie wurden mir einem temporären Profil angemeldet. Sie können nicht auf Ihre Dateien zugreifen, und in diesem Profil erstellte Dateien werden gelöscht, wenn Sie sich abmelden. Wenn Sie das Problem beheben möchten, melden Sie sich ab, und melden Sie sich zu einem späteren Zeitpunkt erneut an.

(Der Rechtschreibfehler „Sie wurden mir einem temporären Profil…“ ist übrigens in Windows enthalten.)

Es gibt dazu diverse Problemlösungen im Internet, die jedoch bei mir nicht funktioniert haben. Nie wurde der .V2-Ordner für die betroffenen Profile erstellt. Die Zugriffsrechte hatte ich überprüft, alles in Ordnung. Nach dem erstellen eines leeren Benutzername.V2-Ordners bekam ich zwar obigen Fehler nicht mehr, dafür aber ein Synchronisierungsfehler beim abmelden.

Ein genauer Vergleich aller Benutzereigenschaften im „Active Directory-Benutzer und -Computer“ offenbarte die Lösung: Unter „Profil“ bei „Profilpfad“ war bei den funktionierenden Benutzern folgendes zu lesen: \\Server\Profiles$\Benutzer, bei den defekten Benutzern jedoch: //Server/Profiles$/Benutzer. Siehe da: der Backslash macht den Unterschied! Während Windows XP problemlos auch einen Slash verarbeitet, benötigt Windows 7 einen Backslash.

Apache-Pakete kollidieren mit sich selbst bei der Installation von PHP

9. Oktober 2012 von edgar

Eigentlich ist es ganz interessant, dass die aktuellen Anleitungen für die Installation eines LAMP-Systems unter (k)ubuntu nicht zu funktionieren scheinen. Sobald Apache läuft, ist es egal ob ich libapache2-mod-php5 oder direkt php5 installieren möchte: es geht nicht. Wegen einer ungelösten Abhängigkeit versucht aptitude, einen Großteil des Basissystems zu deinstallieren.

edgar@discovery: ~ $
sudo aptitude install php5
Die folgenden NEUEN Pakete werden zusätzlich installiert:
apache2-mpm-prefork{ab} libapache2-mod-php5{a} php5 php5-cli{a}
php5-common{a}
0 Pakete aktualisiert, 5 zusätzlich installiert, 0 werden entfernt und 0 nicht aktualisiert.
6.619 kB an Archiven müssen heruntergeladen werden. Nach dem Entpacken werden 17,9 MB zusätzlich belegt sein.
Die folgenden Pakete haben verletzte Abhängigkeiten:
apache2-mpm-worker : Kollidiert mit: apache2-mpm , welches ein virtuelles Paket ist.
apache2-mpm-prefork : Kollidiert mit: apache2-mpm , welches ein virtuelles Paket ist.
offen: 110; geschlossen: 1076; zurückgestellt: 39; Konflikte: 70 Internal error: the solver Install(fontconfig-config:amd64 2.8.0-3ubuntu9
{fontconfig-config:amd64 2.8.0-3ubuntu9}>) of a supposedly unresolved dependency is already installed in step 1421
offen: 195; geschlossen: 2062; zurückgestellt: 113; Konflikte: 280
Die folgenden Aktionen werden diese Abhängigkeiten auflösen:
[... 234 Pakete, welche entfernt werden sollen ...]

Das Problem liegt auf der Hand: Ein virtuelles Paket, welches von der alleinigen Installation von Apache herrührt, kollidiert mit einem der Apache-Pakete, die für PHP benötigt werden.

Wie löst man dieses Problem?

Bei mir hat die Installatio geklappt, als ich libapache2-mod-php5 bzw. php5 installiert habe, ohne vorher eine Grundinstallation von Apache durchzuführen. Apache wird bei der Installation von PHP mitinstalliert, man muss sich also gar nicht darum kümmern.

Also einfach das Paket apache2 mit aptitude remove apache2 wieder deinstallieren und gleich php5 mit aptitude install php5 installieren und schon sollte es gehen.

Schlussbemerkung: Mit der graphischen Paketverwaltung hat die Installation problemlos geklappt.

Sporadische Netzwerkprobleme in Windows-Domäne

21. September 2012 von edgar

Dies ist ein sehr spezielles Problem, zu dem ich auch nach langem Suchen keine passende Beschreibung im Internet gefunden habe.

Dabei können folgende Fehler im Eventlog des Clients (in diesem Fall Windows XP) auftreten, wenn er sich in einer Windows-Domäne (in diesem Fall Windows 2008 R2) befindet:

Ereignistyp: Fehler
Ereignisquelle: Userenv
Ereigniskategorie: Keine
Ereigniskennung: 1030
Datum: 06.10.2011
Zeit: 17:27:33
Benutzer: NT-AUTORITÄT\SYSTEM
Computer: $Clientname
Beschreibung:
Die Abfrage der Liste der Gruppenrichtlinienobjekte ist fehlgeschlagen. Bisher wurde eine Fehlermeldung dieser Art im Richtlinienmodul protokolliert.

Ereignistyp: Fehler
Ereignisquelle: Userenv
Ereigniskategorie: Keine
Ereigniskennung: 1054
Datum: 01.09.2012
Zeit: 11:02:24
Benutzer: NT-AUTORITÄT\SYSTEM
Computer: $Clientname
Beschreibung:
Der Domänencontrollername für das Computernetzwerk konnte nicht ermittelt werden. (Die angegebene Domäne ist nicht vorhanden oder es konnte keine Verbindung hergestellt werden. ). Die Verarbeitung der Gruppenrichtlinie wurde abgebrochen.

Ereignistyp: Fehler
Ereignisquelle: Userenv
Ereigniskategorie: Keine
Ereigniskennung: 1058
Datum: 23.06.2012
Zeit: 17:22:34
Benutzer: NT-AUTORITÄT\SYSTEM
Computer: $Clientname
Beschreibung:
Auf die Datei gpt.ini des Gruppenrichtlinienobjekts CN=$Policy-ID,CN=Policies,CN=System,DC=$Domäne,DC=local kann nicht zugegriffen werden. Die Datei muss im Pfad <\\$Domänenname\sysvol\$Domänenname\Policies\$Policy-ID\gpt.ini> vorhanden sein. (Die Konfigurationsinformationen konnten vom Domänencontroller nicht gelesen werden. Mit dem Computer kann keine Verbindung hergestellt werden, oder der Zugriff wurde verweigert. ). Die Verarbeitung der Gruppenrichtlinie wird abgebrochen.

Ereignistyp: Fehler
Ereignisquelle: Userenv
Ereigniskategorie: Keine
Ereigniskennung: 1504
Datum: 11.07.2012
Zeit: 12:26:44
Benutzer: NT-AUTORITÄT\SYSTEM
Computer: $Clientname
Beschreibung:
Das servergespeicherte Profil konnte nicht aktualisiert werden. Mögliche Fehlerursachen sind Netzwerkprobleme oder nicht ausreichende Sicherheitsrechte. Wenden Sie sich an den Netzwerkadministrator, wenn das Problem weiterhin besteht.

Ereignistyp: Warnung
Ereignisquelle: Userenv
Ereigniskategorie: Keine
Ereigniskennung: 1517
Datum: 07.09.2012
Zeit: 18:47:54
Benutzer: NT-AUTORITÄT\SYSTEM
Computer: $Clientname
Beschreibung:
Die Registrierung des Benutzers „$DOMÄNE\$Benutzer“ wurde gespeichert, obwohl eine Anwendung oder ein Dienst auf die Registrierung während der Abmeldung zugegriffen hat. Der von der Registrierung des Benutzers verwendete Speicher wurde nicht freigegeben. Der Upload der Registrierung wird durchgeführt, wenn diese nicht mehr verwendet wird.

Ereignistyp: Fehler
Ereignisquelle: Userenv
Ereigniskategorie: Keine
Ereigniskennung: 1521
Datum: 11.09.2012
Zeit: 16:02:00
Benutzer: $DOMÄNE\$Benutzer
Computer: $Clientname
Beschreibung:
Die Serverkopie des servergespeicherte Profils wurde nicht gefunden. Sie werden mit einem lokalen Benutzerprofil angemeldet. Änderungen an dem Profil werden nach der Abmeldung nicht auf den Server kopiert. Mögliche Fehlerursachen sind Netzwerkprobleme oder nicht ausreichende Sicherheitsrechte. Wenden Sie sich an den Netzwerkadministrator, wenn das Problem weiterhin besteht.

Wobei die Fehler 1517 und 1521 sehr häufig auftreten. Beim Auftreten des Fehlers 1521 steht dem Benutzer dann auch sein servergespeichertes Profil nicht zur Verfügung, er wird mit dem Standard-Profil angemeldet.

Das physikalische Netz wurde mehrfach überprüft, die Hardware wurde ausgetauscht (Switches, Server, Clientcomputer). Das heißt: Auch nach dem Austauschen der Hardware war der Fehler vorhanden.

Zwei mögliche Lösungsansätze habe ich zuletzt getestet, bevor der Fehler nicht mehr auftrat:

  • Die Installation des UPHC-Dienstes
  • Das Deaktivieren einer nicht benutzten Netzwerkkarte

Wer sich also schon eine Weile mit diesem Problem herumärgert, könnte zusätzlich zur Installation des UPHC einmal versuchen, alle nicht genutzten Netzwerkkarten und -verbindungen zu löschen oder zu deaktivieren.

Wine startet nicht unter Ubuntu 11.10 (64 bit)

13. Februar 2012 von edgar

Schon länger hatte ich dieses Problem, aber erst heute Zeit, mich damit zu beschäftigen: Wine (was man z.B. für Teamviewer braucht) ließ sich nicht starten. Dabei habe ich es auf meinem relativ neu installierten ubuntu 11.10 (oneiric) schon neu installiert, entfernt, wieder installiert und so weiter. Allerdings ließ es sich trotzdem nicht starten.

Im Terminal ausgeführt zeigte sich folgendes:

/usr/bin/wine: Datei oder Verzeichnis nicht gefunden

Die Datei ist aber definitiv da. Ein bisschen Recherche später habe ich das Problem gefunden: Eine Bibliothek ist schadhaft. Bei mir reichte es, sie durch den Befehl

sudo aptitude reinstall libc6-i386

einfach neu zu installieren.

WLAN und Linux mit dem Belinea o.book 1301

6. Januar 2012 von edgar

Heute möchte ich von einem Problem berichten, welches mich schon lange geplagt hat: Mein Notebook (ein Belinea o.book 1304, aus der 1301er-Serie) fror unter Ubuntu immer dann ein, wenn WLAN aktiv war und einer der folgenden Punkte zutraf

  • das Notebook wurde vom Stromnetz getrennt
  • das Notebook war im Akkubetrieb und erwachte aus dem Standby
  • das Notebook war im Akkubetrieb und man schaltete das WLAN aus und wieder an

Sobald WLAN deaktiviert wurde, konnte man das Notebook problemlos vom Stromnetz trennen oder aus dem Standby aufwecken, ohne dass es einfror.

Dieses Verhalten war — gelinde gesagt — sehr nervig. Das Notebook war im Akkubetrieb also nicht wirklich WLAN-fähig. Ich konnte mich entscheiden zwischen Netzwerkkabel oder Stromkabel, aber ohne beides kam ich nicht aus.

Ich habe lange herumprobiert und herausgefunden, dass das Kernelmodul r8187se Schuld war (siehe auch hier). Allerdings habe ich es nie geschafft, das Problem mit diesem Kernelmodul ganz zu beheben.

Behoben habe ich das Problem jetzt mit einer neuen WLAN-Karte: Einer Intel Centrino Advanced N 6200. Das war nicht teuer, der Austausch ging dank dieser Anleitung problemlos vonstatten.

Damit sind die ärgerlichen WLAN-Probleme vorbei, denn das Kernelmodul für die Intel-Karten ist wesentlich stabiler.

Falls das Blinken der WLAN-LED bei Aktivität stört, kann dies mit einer Anleitung von ubuntuusers leicht ausschalten.

„The Imaging Source“-Kamera mit Python auslesen

27. Oktober 2011 von edgar

Vermutlich funktionieren viele USB-Webcams unter Windows ganz einfach auch in Python mit Hilfe von OpenCV, wie zum Beispiel in diesem Artikel beschrieben.

Leider ließ sich meine Kamera, eine DMx 41AU02.AS von „The Imaging Source“ (TIS) nicht damit ansprechen. Trotz korrekter Installation aller Module (OpenCV, NumPy, SciPy) lieferte das Capture kein Bild zurück.

Lösen konnte ich das Problem mit einem weiteren Modul für Python: VideoCapture. Dieses Modul benötigt zusätzlich die Python Imaging Library (PIL). Hat man beides installiert, kann man folgendermaßen ein Bild auslesen und in eine Datei schreiben:
from VideoCapture import Device
cam = Device()
cam.saveSnapshot('image.jpg')

Quelle: http://videocapture.sourceforge.net/

Um das Bild nicht direkt abzuspeichern, sondern für die interne Verarbeitung zu capturen, benötigt man folgenden Befehl:
pil_img = cam.getImage()

Möchte man zusätzlich das Bild mit OpenCV weiterverarbeiten (zum Beispiel in einem Fenster anzeigen), dann muss man es zunächst konvertieren:

import cv
import PIL

cv_img = cv.CreateImageHeader(pil_img.size, cv.IPL_DEPTH_8U, 3) # RGB image
cv.SetData(cv_img, pil_img.tostring(), pil_img.size[0]*3

Quelle: http://stackoverflow.com/questions/1650568/how-do-i-create-an-opencv-image-from-a-pil-image

Zum Schluss habe ich noch ein komplettes Beispielprogramm, welches immer wieder ein Bild von der Kamera ausliest und in einem Fenster anzeigt, beenden kann man es mit „Esc“.
from VideoCapture import Device
import cv
import PIL

cam = Device()

cv.namedWindow("camera", 1)

#cam.displayCapturePinProperties() # Zum Einrichten der Kamera

while True:
    pil_img = cam.getImage()
    cv_img = cv.CreateImageHeader(pil_img.size, cv.IPL_DEPTH_8U, 3)
    cv.SetData(cv_img, pil_img.tostring(), pil_img.size[0]*3)
    cv.ShowImage("camera", cv_img)

    if cv.WaitKey(10) == 27:    # Achtung: ganz ohne WaitKey
        break                   # funktioniert namedWindow nicht!
cv.DestroyWindow("camera")

Der Vollständigkeit halber — folgende Programmversionen benutze ich dafür: Python 2.7, OpenCV 2.2, PIL 1.1.7, VideoCapture 0.9-4, NumPy 1.6.1, SciPy 0.9.0



css.php