Home / LinuxUser / 2002 / 09 / photopc

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

photopc_titel.jpg

Einfach ausgelesen

photopc

01.09.2002 Für den Zugriff auf Bilder in Digitalkameras gibt es zahlreiche GUI-Tools, hier beschreiben wir eines für die Kommandozeile: photopc lässt sich auch gut zur Automatisierung in einem Skript verwenden.

Zu Befehl

Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen - wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, in denen es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.

Wenn Sie den Artikel "Abgebildet" auf Seite 37 in dieser Ausgabe gelesen haben, kennen Sie schon einige Tools für den Kamerazugriff. Mit den GUI-Tools lässt sich zwar komfortabel anhand der Voransicht eine Auswahl treffen, aber wenn Sie regelmäßig große Mengen von Bildern erstellen und im Rechner weiter verarbeiten wollen, brauchen Sie ein Tool, das sich auch in ein Shell-Skript einbauen lässt. Ein solches Tool ist photopc.

Installation aus den Sourcen

Auf der Heft-CD im Verzeichnis LinuxUser/photopc/ finden Sie die beiden Dateien photopc_3.05.tar.gz und photopc-3.05J23.tar.gz (USB-Unterstützung). Installieren Sie bitte nur eines der beiden Pakete - abhängig davon, ob Sie Ihre Kamera über USB anschließen oder nicht. Nach dem Mounten der CD führen Sie als Superuser root folgende Schritte aus:

asteroid:~# cd /usr/local/src/
asteroid:/usr/local/src# tar xzvf /cdrom/LinuxUser/photopc/photopcXY.tar.gz

Ein neues Verzeichnis photopcXY wird angelegt; wechseln Sie in dieses (cd photopcXY) und tippen ./configure. Als letzte Ausgaben erhalten Sie im Idealfall:

creating ./config.status
creating Makefile
creating config.h
config.h is unchanged
creating dos/version.h
dos/version.h is unchanged
creating win32/version.h
win32/version.h is unchanged

Anschließend installieren Sie das Programm im Zweierschritt:

asteroid:/usr/local/src/photopcXY# make
[…]
asteroid:/usr/local/src/photopcXY# make install
[…]

Ist alles ohne Fehlermeldung durchgelaufen, wurde das Programm nach /usr/local/bin installiert.

Vor dem Start

Die Kamera wird entweder über ein USB-Kabel an den USB-Port oder mit einem entsprechenden Kabel an die serielle Schnittstelle angeschlossen - das hängt von Ihrem PC und dem Kameramodell ab. Hängt die Digitalkamera an einer seriellen Schnittstelle, müssen Sie diese bei jedem Programmaufruf explizit mit dem Parameter -l (kleines "l" wie in "lustig") und dem Device-Namen ansprechen. Dies können Sie abkürzen, indem Sie einen symbolischen Linkauf das verwendete Device setzen (siehe auch Kasten 1). Ist die Kamera beispielsweise an den ersten seriellen Port angeschlossen, erzeugen Sie den Link als Superuser root mit dem Kommando:

asteroid:~# ln -s /dev/ttyS0 /dev/photopc

Als Superuser root können Sie nun problemlos mit dem Tool arbeiten. Dem "einfachen" Benutzer fehlen allerdings noch ein paar Rechte, damit das reibungslos klappt. Wie bereits angesprochen, zeigt der Symlink /dev/photopc auf die serielle Schnittstelle, an der die Kamera hängt. Um ohne root-Rechte mit der Kamera zu kommunizieren, muss der User auf das Device schreiben dürfen. Schauen Sie sich die Rechte der Schnittstelle mit dem Befehl ls -l an:

asteroid:~# ls -l /dev/ttyS0
crw-rw—-    1 root     dialout    4,  64 Jun 30 16:30 /dev/ttyS0

Das erste Zeichen steht für den Dateityp, hier ein "c" für "character device" - ein zeichenorientiertes Gerät. Das "r" bedeutet Leseerlaubnis ("read"), das "w" Schreibberechtigung ("write"), und an dritter Stelle kann ein "x" für die Erlaubnis, die Datei ausführen zu dürfen ("executable"), stehen. Die ersten drei Zeichen gehören zum Dateieigentümer, die nächsten drei zur Gruppe; die letzte Dreiergruppe steht für alle übrigen Benutzer des Systems. Für die erste serielle Schnittstelle gilt hier also: Sie darf gelesen und geschrieben werden von root (dem Dateieigentümer) und von allen Mitgliedern der Gruppe dialout, die von der Distribution Debian Woody für dieses Device angelegt wurde. (Sollte die Gruppe auf Ihrem System anders heißen, gelten alle weiteren Angaben entsprechend.) Um zu überprüfen, ob Sie in diese Gruppe eingetragen sind, verwenden Sie (unter Ihrer normalen Kennung) das Kommando groups:

huhn@asteroid:~$ groups
users cdrom floppy sudo audio video dos cdwrite

Soll der Benutzer huhn in die Gruppe dialout eingetragen werden, editieren Sie als Superuser root die Datei /etc/group. Suchen Sie dort nach der Gruppe dialout und fügen den gewünschten User hinzu. (Sollen es mehrere Benutzer sein, können diese durch Kommata getrennt aneinandergereiht werden.) Der Eintrag in /etc/group lautet also:

dialout:x:20:huhn

Sollten Sie Shadow-Passwörter für Gruppen verwenden (Datei /etc/gshadow), müssen Sie auch dort den Benutzer zur Gruppe hinzufügen:

dialout ::huhn

Anschließend können Sie, damit die Änderung greift, als normaler Benutzer auf der Kommandozeile newgrp dialout tippen. Alternativ wird die neue Gruppe ebenfalls aktiv, wenn Sie sich neu einloggen.

Kasten 1: Schnittstellen-Bezeichnung unter Linux

Betrachten Sie das Verzeichnis /dev, finden Sie hier eine Reihe von Einträgen, die auf den ersten Blick unübersichtlich wirken. Diese Device-Dateien werden von Linux benutzt, um mit den Hardware-Komponenten (z. B. Festplatten, Floppy-Laufwerke, Maus, Soundkarte etc.) zu kommunizieren. Das erste Zeichen lautet entweder b (für "block device", blockorientiert) oder c (für "character device", zeichenorientiert) und steht für den Typ des Zugriffs. Die wichtigsten Device-Namen sind:

*/dev/hd* - IDE-Laufwerke (Festplatten, CD-ROMs etc.)

  • /dev/lp* - parallele Schnittstellen (Drucker etc.)
  • /dev/sd* - SCSI-Laufwerke
  • /dev/scd* - SCSI-CD-ROM-Laufwerke
  • /dev/tty* - virtuelle Terminals
  • /dev/ttyS* - serielle Schnittstellen

Einige dieser Device-Einträge sind als Links realisiert, z. B. können der Eintrag /dev/cdrom auf /dev/hdc (ein CD-ROM-Laufwerk, das am zweiten IDE-Bus hängt) und /dev/mouse auf /dev/ttyS1 (die zweite serielle Schnittstelle) zeigen.

Das USB-Device-Dateisystem wird wie das /proc-Dateisystem dynamisch generiert und ist normalerweise unter /proc/bus/usb zu finden. Die Verzeichnisse der Form "00n" enthalten die Schnittstellen für die jeweils aktiven USB-Geräte. In den beiden Dateien devices und drivers finden Sie eine Übersicht über alle angeschlossenen Geräte und die Ihnen eventuell zugeordneten Treiber. Der Kernel ist dafür zuständig, diese Verzeichnisse zu erzeugen (sofern USB-Unterstützung vorhanden ist). Da die Informationen in /proc/bus/usb/devices recht unübersichtlich sind, wird gerne die X-Anwendung usbview verwendet, um sich einen Überblick über angeschlossene Geräte zu verschaffen.

Abhängig von der Distribution, die Sie verwenden, kann die Zusammenarbeit mit USB unterschiedlich aussehen. Möglicherweise reicht es bei einigen Systemen aus, die Kamera an die USB-Buchse zu hängen und einzuschalten. Sollte das nicht so reibungslos klappen, zeigen wir hier einen möglichen Weg, mit photopc via USB auf die Kamera zuzugreifen. Überprüfen Sie zunächst die Zugriffsrechte im Verzeichnis /proc/bus/usb. Schließen Sie die Kamera an den USB-Port an, schalten Sie sie ein und tippen:

asteroid:~# ls -l /proc/bus/usb/001
total 0
-rw-rw-r--   1 root   root   18 Jul 31 17:19  001
-rw-rw-r--   1 root   root   18 Jul 31 17:19  002

Als einfacher User darf offenbar nicht mit der Kamera kommuniziert werden, da die Geräte beide dem Benutzer und der Gruppe root "gehören". Es sind aber nur ein paar Handgriffe nötig, um das zu ändern. Wie auch bei den Anpassungen zur seriellen Schnittstelle, editieren Sie als Superuser root die Datei /etc/group. Fügen Sie in diese eine neue Gruppe usb ein. Die Nummern für die Systemgruppen werden in der Regel von 0 bis 99 vergeben. Ab Ziffer 100 folgen User-Gruppen - Ausnahmen können vorkommen. Suchen Sie eine freie Nummer für die neue Gruppe aus (auf dem Testsystem wurde z. B. die 51 gewählt) und tragen Sie sie zusammen mit Ihrer Benutzerkennung ein:

usb:x:51:huhn

Auch hier gilt: Wird auf dem System mit Shadow-Passwörtern gearbeitet, müssen Sie in /etc/gshadow hinzufügen:

usb ::huhn

Jetzt fehlt noch ein Eintrag in der Datei /etc/fstab:

none /proc/bus/usb usbdevfs auto,devmode=0664,devgid=51   0   0

Damit werden die Dateirechte für die USB-Devices so modifiziert, dass Angehörige der Gruppe 51, also usb, schreiben und lesen dürfen. Für den Programmaufruf selbst gibt es ebenfalls eine Möglichkeit abzukürzen. Normalerweise muss der Parameter -u explizit angegeben werden, um photopc zu verraten, dass es den Universal Serial Bus verwenden soll. Mit dem in die Bash eingebauten Kommando alias sparen Sie Tipparbeit: Tragen Sie in die Datei .bashrc ein:

alias photopc='photopc -u'

Lesen Sie die veränderte .bashrc mit dem Aufruf source ~/.bashrc neu ein - fertig.

Tip a friend    Druckansicht Bookmark and Share
Kommentare

930 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...