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.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Digital Kameras im Test
    Etliche digitale Kleinbildkameras arbeiten brav mit dem beliebten freien Betriebssystem zusammen. Allerdings lassen sich nicht alle Leistungsmerkmale bei allen Fabrikaten gleich gut ausreizen. Im Hardware Labor der Linux New Media AG wurden deshalb 12 aktuelle Kameras und die dazupassende Linux-Software unter die Lupe genommen.
  • Scanner, Kameras & Co.
    Wer Bilder am PC bearbeiten will, muss sie zunächst in digitaler Form in den Rechner bringen - wie Sie Scanner und Digitalkameras unter Linux anschließen und verwenden, zeigt dieser Artikel.
  • Schwerpunkt grafisches Gestalten
    Ob fotografisch-echt aussehende 3D-Szenen, Animationen oder einfach nur künstlerisch wertvolle 2D-Grafiken – das alles lässt sich auch auf einem Linux-PC bewerkstelligen. Nur manchmal ein wenig anders als unter anderen Betriebssystemen …
  • ls
    Lassen Sie sich Ihre Dateien doch mal auf der Kommandozeile auflisten! Mit ls behalten Sie dabei den Überblick.
  • Zu Befehl: pwd, cd, pushd, popd und dirs
    Die Wege im Verzeichnisdschungel sind unergründlich. Wie Sie auf dem rechten Pfad bleiben und welche Kommandos bei der Navigation helfen, zeigt diese "Zu Befehl"-Folge.
Kommentare

Infos zur Publikation

title_2014_10

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...