Archiv der Kategorie: Linux

Tethered Photo Shooting

tethered shootingIn Zeiten wie diesen, also in Zeiten in denen das Urheberrecht aus prä-epiphanen Zeiten zu stammen scheint, wird es für mich immer lustiger meine Bilder für’s Web selbst zu schießen. Das Bedeutet aber auch, dass ich mich ein bisschen damit befassen muss was denn eigentlich wirklich passiert wenn ich die Belichtungszeit um eine Tick höher mache – oder ich die Blende um einen Tschiffi verkleinere.

Auf dem Bildschirm meiner Nikon D80  ist das aber eher schwer festzustellen. Zumindest für mich :-). Was würde näher liegen als, das eben geschossene Bild sofort am Bildschirm zu sehen. Kein Herumgetue mit der Speicherkarte, kein gar nix – nur einfach ansehen und vergleichen.

Tethered Shooting ist angesagt!

Als Purist und Linux-Console Freak fällt meine Wahl natürlich sofort auf gPhoto2. Das Kompilieren der benötigten Programme samt Abhängigkeiten ist ein bisschen verfrickelt, lässt aber mit ein bisschen herumgesuche leicht bewerkstelligen. Wichtig sind auch auch die USB Develeper Libs (libusb-dev) damit wir über USB mit der Kamera sprechen können.

Was sind nun die Wünsche an meine Konfiguration:

  • Es soll egal sein ob die Cam RAW, Jpeg oder beides aufnimmt
  • Die Bilder sollen nicht überschrieben werden und einen sinnvollen Dateinamen bekommen
  • Ich möchte die Kompressionsrate für die Vorschau einstellen können
  • Vorschau als Vollbild – immer das letzte Bild, wenn möglich und nötig gedreht

Dazu verwende ich neben gPhoto2 noch ufraw und eog. Eye of Gnome sollte auf X Systemen installiert sein. ufraw und ufraw-batch müssen ggf. nachinstalliert werden.

Nun ist hier der kleine hook der die wichtigsten Dinge für mich erledigt.

#!/bin/bash
self=`basename $0`
case "$ACTION" in

init)
echo "$self: INIT"
# exit 1 # non-null exit to make gphoto2 call fail
;;
start)
 echo "$self: START"
;;
download)
 echo "$self: DOWNLOAD to $ARGUMENT"
 TYPE=`file --mime-type -b "$ARGUMENT"`
 if [ "$TYPE" = 'image/tiff' ]; then

    ufraw-batch --rotate=camera  --compression=95 --out-type=jpg \
    --embedded-image --output=thumb.jpg --overwrite "$ARGUMENT"
    mv -f thumb.jpg preview.jpg
    eog -f -w preview.jpg &

    ufraw-batch --rotate=no --compression=95 --out-type=jpg \
    "$ARGUMENT" &
else
    eog -f -w "$ARGUMENT" &
fi
;;

stop)
 echo "$self: STOP"
 rm preview.jpg
;;
*)
 echo "$self: Unknown action: $ACTION"
;;
esac
exit 0

Danach rufen wir gPhoto2 auf, lassen es „tethern“, hängen unseren haken aus und benennen die Dateien um:

gphoto2 --capture-tethered --hook-script=hook.sh --filename PIC_%H%M%S.%C

Verwiesen sei hier noch auf all die anderen netten Spielereien, die gPhoto2 noch so mitbringt. Lustig ist zB gphoto2 –capture-images  oder, wenn Du Deine Lieblingspflanze heimlich beim Wachsen beobachten willst gphoto2 –capture-images-and-download –interval=3600.

Mein spezieller Dank hier noch an http://www.giric.com/

POSTED IN: Console | Linux | TAGS: , , , , , , ,

Mails vom Handy kommen immer als Spam

IP CheckJaja, immer diese knapper werdenden IPv4 Adressen. Sparen ist angesagt – auch bei den Mobilfunkanbietern. Der Handel mit IP-Adressen floriert. Adresspools werden angekauft und wenig später wieder abgestoßen. Keiner kümmert sich noch ob diese Adressen „sauber“ sind. Soll heißen: ob diese Adressen in Spamlisten gelistet sind oder nicht. Wieso auch? Bis die Betreiber der Spamlisten reagieren sind die Adressen wahrscheinlich wieder abgestoßen.

Wir bemühen uns, dass unsere Mailserver „sauber“ sind, unsere IPs in keinen Spamlisten sind, unsere Anwender sich ordentlich gegenüber dem Server legitimieren müssen aber sobald wir Mails per Mobilfunk verschicken landen sie in den gefräßigen Mäulern der Spamfilter an der Gegenstelle.

Müssen wir die Senderadresse mitschicken? Zum Einen haben wir dadurch oben genanntes Problem, zum Anderen kann man an der Gegenstelle anhand einer kurzen IP Abfrage feststellen, dass wir die Mail aus unserer Villa auf den Cayman Islands verschickt haben – kommt die IP doch aus dem Pool eines dortigen Anbieters.

Nun habe ich unserem Mailserver einfach beigebracht, diese Information vor dem Versand aus den Mailheadern zu filtern.

Einfach im Postfix Verzeichnis des Servers eine neue Datei anlegen und einen regex-Filter einbauen:

vi /etc/postfix/header_del_senderip
/^Received:.*by\ $SERVER\.at\ \(Postfix\)\ with\ ESMTPSA/   IGNORE

$SERVER ersetzen wir durch unseren Domainnamen. Danach informieren wir noch Postfix:

postconf -e header_checks = regexp:/etc/postfix/header_del_senderip

Ein Testmail und ein Check des Headers. Das Problem sollte nun aus der Welt sein.

POSTED IN: Console | Linux | TAGS: , , , ,

Probleme mit deutscher WordPress-Version

simple-eventsEinen meiner virtuellen Server habe ich als Debian-LAMP Server nur für WordPress installiert und konfiguriert. Ich habe das Betriebssystem auf Deutsch konfiguriert und deutsche WordPress Versionen installiert.

Trotzdem kam es, vor allem bei nachinstallierten Plug-Ins immer wieder zu Problemen. Obwohl die Plug-Ins die Locale von WordPress abfragen kam es immer wieder zu englischen Übersetzungen bzw. unübersetzten englischen Texten. Hauptsächlich bei Tages- und Monatsnamen.

Weil ich mir nie die Zeit für eine saubere Lösung nehmen wollte, habe ich immer ein bisschen im PHP herumgetrickst und das Problem schnell umschifft.

Bei der Installation des Plugins  Simple-Events-Calendar von Jerry G. Rietveld hatte ich wieder das gleiche Problem. Tagesnamen und Monatsnamen in Englisch.
In einem Thread gibt Jerry – nach einigen anderen Versuchen – den Tipp im PHP Code das get_locale() direkt durch „de_DE“ bzw. in weiterer Folge durch de_DE@euro, de_DE.UTF-8, etc zu ersetzen. Alles ohne Erfolg. Der Thread fand sein Ende indem man sich einfach einigte, die Ausgabe der Datumszeile ersatzlos zu streichen und die Daten ins Textfeld einzutragen.
Das kann’s doch nicht sein, odr?

Die Übersetzungsdateien von WordPress befinden sich in ../wp-content/languages/ und enden mit .mo. Hier gibt’s bei mir brav die Datei „de_DE.mo“. Flux augetauscht – Problem besteht weiterhin. Das System? – Das Debian???  Spricht doch deutsch mit mir?

Trotzdem. Ein einfaches
$locales -s
klärt das ganze Mysterium auf. de_AT.UTF-8 als Standard und en_EN sind als locales installiert. Einfach mit
$dpkg-reconfigure locales
die „de_DExxxx“ Pakete nachinstalliert und der Simple-Events-Calendar läuft problemlos.

POSTED IN: Console | Linux | TAGS: , , , , ,

Linux Console

Bilder mit der Linux Console konvertieren

Zum Erstellen von Bildgalerien für meine Webseiten brauche ich immer mal wieder eine Möglichkeit schnell und einfach Bilder in ein passendes Format zu konvertieren. Ich verwende dazu einfach die Linux Bash und Imagemagick. Die convert Syntax die ich dazu verwende sieht folgendermaßen aus:

1
convert BILD.JPG -resize PIXEL -quality [100..0] OUTPUT.JPG

In meinem Fall also:

1
convert DSC0001.JPG -resize 1024 -quality 50 meinbild.jpg

Kombiniert mit einer einfachen Schleife kann ich dazu in einem Einzeiler einen ganzen Bilderordner konvertieren und die Bilder umbenennen/nummerieren.

1
z=1;for i in DSC*; do convert $i -resize 1024 -quality 50 pict_$z.jpg;((z++));done

POSTED IN: Console | Linux | TAGS: , , , , ,