Archive for the 'Linux' Category

Java Runtime Plugin unter Firefox 11 Ubuntu/Debian wieder aktivieren installieren

UPDATE: Ich muss hier mal vor meinem eigenen Beitrag warnen. Die Deaktivierung des Java-Plugins ist nicht grundlos geschehen (siehe hier) . Eine Reaktivierung geschieht auf eigene Gefahr. Im Grunde ist es wieder mal ein Lizenzstreit. Oracle hat die “Operating System Distributor License for Java” (DLJ) gekündigt und das Oracle Java SDK darf jetzt nicht mehr von den Distributionen verteilt werden. Die letzte Version die noch unter der DLJ steht – also noch verteilt werden darf – enthält eine Sicherheitslücke, die sich über das Browser-Plugin ausnutzen lässt. Wegen der fehlenden Lizenz kann kein Sicherheitsupdate verteilt werden. :-( Deshalb wurde es von Canonical aus Ubuntu und vom Debian-Projekt aus Debian entfernt. Christoph hat allerdings einen tollen Artikel, wie man sich ein aus den aktuellen Java-Downloads von der Oracle Homepage ein installierbares Paket generieren kann.

firefox-java-logoBei einem der letzten Updates von Firefox Version 3.6 auf Version 11.0 aus den offiziellen Repositories ging bei mir irgendwie das Java Plugin verloren. :-( Dies hat zur Folge, dass Websites mit Java-Anteil (Post Portodruck, oder der online Foto-Dienst von DM) nicht mehr funktionieren.

Installation überprüfen

Ob das JRE-Plugin installiert ist, kann man folgendermaßen herausfinden:

about:plugins

in die Adresszeile des Browsers eingeben. Es erscheint eine Liste mit allen installierten Plugins. Falls hier kein Eintrag auftaucht, der “Java(TM) Plug-in 1.6.****” oder ähnlich heißt, ist das Java-Plugin nicht mehr richtig installiert.

Java Plugin für Firefox 11 wieder richtig installieren

Als erstes suchen wir uns die Plugin Datei:

$ locate libnpjp

Lustigerweise heißt das Browserplugin libpjp2.so und nicht sunjavaplugin.so oder libjavaplugin_jni.so was ich zuerst vermutete.
Als Ergebnis sollte euch der Pfad angezeigt werden, in welchem die Plugin-Datei zu finden ist. Bei mir ist das beispielsweise:

$ locate libnpjp
/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/amd64/libnpjp2.so

Falls ihr locate nicht installiert habt, erfüllt das gute alte find die Aufgabe natürlich ebenso (so zu suchen könnte etwas länger dauern :mrgreen: ):

$ find / -iname "*libnpjp*" -type f 2> /dev/null

Wenn die Plugin-Datei gefunden wurde, muss eine symbolischer Link zur Plugin-Datei im Plugins-Verzeichnis von Firefox angelegt werden. Bei mir wäre das beispielsweise /usr/lib/mozilla/plugins. Hierzu werden root-Rechte benötigt, bei Ubuntu also ein sudo vorne anhängen:

# ln -s /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/amd64/libnpjp2.so /usr/lib/mozilla/plugins/

Dann noch Firefox neu starten und mit obiger Methode prüfen, ob das Plugin wieder in der Liste auftaucht.

Quellen: [1] und [2]

Unter Linux EXIF-Daten aus jpg-Dateien entfernen (verlustfrei / lossless)

Möchte man unter Linux aus einem jpg-Bild die EXIF-Daten entfernen, so kann man das mit Hilfe von mogrify aus dem ImageMagick-Paket tun:

mogrify -strip $BILD

Der Nachteil: mogrify überschreibt das Basisbild, was meistens nicht gewünscht ist. Abhilfe schafft hier – ebenfalls aus dem ImageMagick-Paket – das convert-Tool:
$ convert $BILD -strip $AUSGABE
Das wars! Ganz praktisch, wenn man sich die Bilder per Script für den Upload ins Web aufbereiten lässt.

Das Entfernen der EXIF-Daten mittels ImageMagick hat allerdings einen Nachteil: ImageMagick komprimiert das Bild neu. Die Entfernung der EXIF-Daten ist also nicht verlustfrei. Das hat laut einem Thread im ImageMagick-Forum folgenden Grund: ImageMagick versucht zu berechnen, welche Einstellungen für das jpg-Format bei der Erstellung des Bilder verwendet wurde. Da, zumindest in meinem Fall, die zu komprimierenden Bilder meistens von einer Digitalkamera erstellt wurden, ist das Ergebnis der Berechnung nicht exakt, sondern nur eine Annäherung an die proprietären Quantisierungstabellen der Kamerahersteller.

Abhilfe schafft hier das Tool jpegtran, das speziell für die verlustfreie Konvertierung von jpg-Dateien gedacht ist:

jpegtran -copy none $BILD.jpg > $AUSGABE.jpg
jpegtran -copy none -outfile $AUSGABE.jpg $BILD.jpg

Quelle: Stackoverflow
Mit ImageMagick kann man übrigens noch viele weitere tolle Dinge machen –> Man-page!

GIT-Server für kleine Entwicklergruppen aufsetzen einrichten (Debian basiert)

Git-logoIn diesem Beitrag möchte ich erklären, wie man einen GIT-Server auf einem Debian basierten Server für kleinere Entwicklergruppen einrichtet.
Irgendwelche feingranularen Rechteverwaltungen sind damit nicht möglich, jeder hat Schreib- und Leserechte auf die Repositories.
Im Prinzip wird ein dedizierter GIT-User angelegt, über den alle Entwickler via ssh Zugriff auf die Repositories haben. Die Authentisierung beim Server erfolgt über ssh-public-keys.

Voraussetzung ist ein Linux-Server mit ssh-Zugang und vorhandenen root-Rechten.

Git installieren: Als erstes sollte man auf dem Server git an sich installieren:

root@server:~# aptitude install git-core -y

Git-User anlegen: Danach wird der git-User angelegt und in dessen Home-Verzeichnis gewechselt:

root@server:~# adduser git
root@server:~# cd /home/git


Continue reading ‘GIT-Server für kleine Entwicklergruppen aufsetzen einrichten (Debian basiert)’

Suchen und ersetzen in SQL / mySQL Datenbanken

Heute war etwas Aufräumarbeit in der Blog-Datenbank angesagt. :-)

Im speziellen ging es um die Ersetzung von Links auf den alten Webspace in den Beiträgen und noch ein paar andere kleinere Änderungen.

Fügt man in Wordpress ein Bild ein, wir der Pfad nicht relativ zum Webspace sondern absolut gespeichert, also mit kompletter URL. Zieht man mit dem Blog über den Lauf der Jahre mehrfach um (so wie ich) und ändert evtl. noch die Domain des Blogs, entstehen so einige Karteileichen.

Hier mal ne kleine Anleitung, wie man die ungültigen Links auf die aktuelle Adresse umbiegt:

  1. Als erstes erstellt man ein Backup – das ist wirklich sehr wichtig! :-) Ich benutze dazu immer mysqldump Damit kann man den kompletten Inhalt einer Datenbank einfach in eine Datei “dumpen”:
    shell> mysqldump --all-databases -u$USER -p$PASSWORT > dump.sql
    Geht anschließend etwas schief, hat man ein Backup und kann darauf zurückgreifen. Das Backup kann man mit:
    shell> mysql < dump.sql
    wieder einspielen. Hat man beim Erstellen des Dumps eine spezielle Datenbank ausgewählt sollte man:
    shell> mysql $DB-NAME < dump.sql
    verwenden.
  2. Jetzt die eigentliche Aufgabe, suchen und ersetzen: Hier zu setzt man ein Konstrukt aus dem UPDATE und REPLACE Befehl ein, führt man hintereinander mehrere Ersetzungen durch ist der Feldname in der REPLACE-Funktion besonders tückisch, da man leicht vergisst ihn mitzuändern:
    mysql> UPDATE [table_name] SET [field_name] = REPLACE([field_name],'[string_to_find]','[string_to_replace]');
  3. Im Vorfeld sollte man natürlich auch per SELECT schauen, wie viele Datensätze man überhaupt ändern muss. Hier für ist LIKE ganz praktisch:
    mysql> SELECT * FROM [table_name] WHERE [field_name] like "%SUCHTEXT%";
  4. Das war’s!
  5. Kleiner Hinweise noch: Ich lösche immer noch die bash_history, wenn ich das mysql-Passwort per Befehl mitgebe. Man weiß ja nie…

Unter Linux mehrere pdf Dateien in ein pdf-File zusammenführen mergen

Gerade kam ich mal wieder in die Verlegenheit mehrere pdf-Dateien in eine Datei zusammenführen zu wollen. Damit ich nicht jedes mal wieder googeln muss schreibe ich’s hier mal auf. :P

Am leichtesten geht es mit dem kleinen Tool pdftk, welches man sich aus den Repositories installieren kann:
~$ sudo aptitude install pdftk
Anschließend kann man einfach mit:
~$ pdftk datei1.pdf datei2.pdf datei3.pdf cat output out.pdf
die pdf-Dateien zusammenführen.

Es gibt noch eine etwas kompliziertere Variante mit Ghostscript, welche den Job genauso souverän erledigt, aber schlechter zu merken ist:
~$ gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=out.pdf -dBATCH datei1.pdf datei2.pdf

Beide Versionen funktionieren bei mir sehr gut! Anstatt alle Inputfiles einzeln anzugeben, kann man auch mit *.pdf arbeiten. Hierzu müssen sich die Files aber alle in einem Verzeichnis befinden.

Quellen: klick und klick

OSS-Audio-Device beim mplayer auswählen

Falls man mehrere Soundkarten im PC hat, ist es manchmal recht nützlich, diese einzeln auswählen zu können. Ich verwende hierzu immer die OSS-Ausgabe. Unter VLC kannte ich die Option schon:

cvlc --oss-audio-device=/dev/dsp *.pls

Da ich in letzter Zeit immer häufiger den altgedienten mplayer verwende, musste ich mal nachschauen und bin hier fündig geworden. Der Befehl für den mplayer lautet:

mplayer -ao oss:/dev/dsp *.mp3

Ist ganz praktisch, so kann man im Hintergrund Musik spielen lassen und z.B. über das Headset noch skypen etc.!

Update: Per Mail kam der Hinweis auf die Antiquiertheit des Open Sound Systems: Der Grund warum ich OSS verwende ist folgender:
Ich habe momentan zwei Soundkarten im PC. Über die erste Soundkarte lasse ich meistens Musik über normale Lautsprecher laufen. Deshalb starte ich den Mplayer oder vlc im OSS-Mode. Über die zweite Soundkarte ist mein Headset angeschlossen, hierüber läuft dann der ganze Rest mit Pulseaudio, also Skypen, irgendwelche Videos die man sich anschaut usw. Hat den Vorteil, dass man die Lautstärke getrennt voneinander regeln kann und kurz mal eines von beidem ausschalten.

Nokia Panorama eine Panorama-App für das Nokia N900

Vor kurzem bin ich auf ein tolles kleines Stück Software für das Nokia N900 gestoßen. Die App heißt “Automatic Panorama” und macht auch genau das: Sie schießt vollautomatisch Panoramaphotos.

Nokia N900 Panorama eine Panorama-App für das N900

Bedienung:

Die Bedienung ist ziemlich simpel: man startet die App, öffnet die Kameraklappe und drück einmal den Auslöser. Nachdem ein Bild geschossen wurde, kann man das Handy entweder nach links oder nach rechts weiterbewegen. Nachdem ca. die Hälfte des gesamten von der Kamera vorher erfassten Bildausschnitts mit neuen Bildinformationen gefüllt wurde, vibriert das Handy kurz und es erscheint ein Meldung mit dem Text “Hold still”. Dann wird das nächste Bild geschossen. Um den Bildausschnitt auch wirklich einigermaßen über dem vorherigen Bild zu platzieren wird mittels kleinen Pfeilen angezeigt, ob man das Handy noch etwas weiter nach links/rechts drehen soll oder nach vorne/hinten kippen. Die Rückmeldung mittels leichten Vibrationen funktioniert super. Das vorherige Bild wird immer als halb transparentes Geisterphoto mit angezeigt um einem die Kameraführung zu erleichtern.

Dieser Vorgang wird mehrfach wiederholt – ich glaube so ca. 12 Bilder werden benötigt um ein Panorama zu erstellen. Damit werden ca. 230° abgebildet.

Anschließend rechnet das N900 eine Weile. Im ersten Schritt werden die einzelnen Bilder zusammengesetzt und leichte Versätze ausgeglichen, dies kann man live auf dem Display beobachten. Als nächstes wird dann noch die Helligkeit aller Bilder angepasst auch das kann man am Bildschirm beobachten.

Die Software hat einen eigenen Betrachter für die Panoramaphotos integriert, bei welchem man im oberen Segment immer noch die relative Position zum gesamten Bild angezeigt bekommt. Der normale Bildbetrachter des N900 kann jedoch genauso gut verwendet werden.

Der Bildbetrachter der Panorama-App auf dem Nokia N900

Einstellungsmöglichkeiten

Im Optionsmenü der App kann man die Auflösung zwischen low (~6005×706Pixel) und high (~9862×1105Pixel) umschalten. Die Bildgrößen variieren etwas, je nachdem wie viel die Software noch “geraderechnet”. Außerdem kann man den Autofokus deaktivieren (hilfreich für z.B. Panoramen von weit entfernten Objekten, wie Bergketten etc.). Den Speicherort sowie die Speicherart kann man ebenfalls noch einstellen.

Nokia N900 Optionsmenü der Automatic Panorama App

Ergebnisse / Fazit

Also ich bin Begeistert von der Panorama-App, da sie einem alles abnimmt: man muss nur einmal den Auslöser drücken und sich anschließend mit dem Handy in der Hand einmal langsam um die eigene Achse drehen. Den Rest übernimmt die App.
Falls man selbst noch mit Gimp oder einer anderen, evtl. auf Panoramen spezialisierten Software, Hand anlegen möchte, kann man die für das Panorama verwendeten Bilder zusätzlich noch einzeln abspeichern.
Was etwas problematisch ist, sind sich bewegende Objekte, dies führt zu Bildfehlern.

Die Bilder sind natürlich nicht mit professionell erstellten Panoramaaufnahmen zu vergleichen, für eine vollautomatische Handy-App sind die Ergebnisse mehr als ausreichend.

Hier drei von mir freihändig geschossene Bilder:

ACHTUNG: Um die Bilder in “groß” anzusehen: Rechtsklick auf’s Bild > Link in neuem Fenster/Tab öffnen.

#1 Auf dem diesjährigen Hammerstatt-Revival an der Rennstrecke (Auflösungseinstellung: low ~5MB)

Panoramaphoto Hammerstatt-Revival 2011 an der Rennstrecke, leider ohne Motorräder

#2 Im Fahrerlager auf dem Hammerstatt-Revival 2011 in Schwenningen (Auflösungseinstellung: low ~5MB). Hier sieht man schön das Problem mit den Bildfragmenten bei sich bewegenden Objekten.

Panoramaphoto Fahrerlager Hammerstatt-Revival 2011 in Schwennigen

#3 Parkplatz während einer Motorradtour – Col de Schlucht im Elsass (Auflösungseinstellung: high, ~10MB)
Panoramaphoto Motorradtour Col de Schlucht

Wo bekommt man die App?

Die Automatic Panorama App gibt es kostenlos im Nokia Ovi Store! Sie wurde von Nokia selbst entwickelt.

Link: http://store.ovi.com/content/108705?clickSource=search&pos=9 Alternativ einfach mit dem N900 http://link.ovi.mobi/n900store und unter “Suchen” “Panorama” eingeben.

Android Alcomat Promillerechner App

Durch die Veranstaltung “Andwendungsentwicklung für Android” an der HS Furtwangen bei Herrn Prof. Piepmeyer haben Harald, Fabian und ich als kleines Projekt den Alcomat programmiert, welchen ich euch hier mal vorstellen möchte. Der Artikel bot sich an, weil ich einen Großteil aus unserer Dokumentation kopieren konnte und sich so der Zeitaufwand in Grenzen hielt. Sonst schläft der Blog hier noch komplett ein. :-)

Kurzbeschreibung:

Der Alcomat ist eine App, mit welcher man über einen Abend hinweg seine getrunkenen Getränke aufzeichnet. Über Parameter, wie z.B. Alter, Gewicht Zeit usw. wird dann der Blutalkoholwert berechnet.

Hauptbildschirm mit Getränkeauswahl Android Alcomat Promille Rechner Alkomat Optionsbildschirm mit Einstellungsmöglichkeiten Android Alcomat Promille Rechner Alkomat Getränke hinzufügen Bildschirm mit 75 Icons Android Alcomat Promille Rechner Alkomat

Haupteigenschaften:

  • Berechnung des Blutalkoholwerts anhand Geschlecht, Alter, Gewicht, Größe und Zeit unter Zuhilfenahme der Widmark- und Watsonformel.
  • Komplette Datenhaltung in einer Datenbank. (Androib verwendet SQLite im Hintergrund)
  • Dynamische Erzeugung der GUI, mit unterschiedlicher Größe der Getränkeicons abhängig von der Bildschirmgröße.
  • Möglichkeit über das Optionsmenü eigene Getränke hinzuzufügen, mit 75 Getränkeicons zur Auswahl.
  • Ändert der Anwender die Zeit seines Androidgerätes, werden die Datenbankeinträge entsprechend angepasst, um den Blutalkoholwert nicht zu verfälschen. (Wurde via BroadcastReceiver realisiert)
  • Ab Android Version 2.1 lauffähig.

Weitere Eigenschaften:

Alcomat Lite Download

Nachdem die App fertig programmiert war, wurde überlegt, die App in den Google App Market zu laden. Die Bereitschaft der Nutzer für eine derartige App etwas zu zahlen, wurde als sehr gering

eingeschätzt.Aus diesem Grund wurde Mittels AdMob Werbung in die App eingebunden, welche nun unter dem “Neue Saufrunde !!!”-Button Werbebanner einblendet. AdMob ist ein von Google im

Jahr 2009 für 750 Millionen Dollar aufgekauftes, auf mobile Inhalte spezialisiertes Werbeunternehmen, welches mit Google AdSense vergleichbar ist. Die Einbindung der Werbung erfolgt über einen speziellem View, welcher entweder komplett programmatisch, oder in unserem Fall per xml im Layout in die App integriert wurde. Unter Android Alcomat Promille Rechner ist die App nun im App-Market zu finden.

In der App kann man im Optionsmenü auf “Mehr” klicken und wird dann auf die Seite von HDFMNT-Software weitergeleitet (O-Ton Harald: “Eine studentische Verbindung zur Entwicklung von Malware”  :mrgreen: ) und kann weitere Apps herunterladen und erhält Kontakt zu uns für z.B. Verbesserungsvorschläge.

Insgesamt war Anwendungsentwicklung mit Android eine sehr interessante Veranstaltung, da man sonst eher wenig oder keinen Einblick in die Entwicklungsmethoden für mobile Endgeräte bekommt.

Nokia Ovi-Maps 3.0 0.1.25.114 direct Downloadlinks und Downloadscript for Maemo N900 without using Map Loader

Nowadays many mobile-phones are equipped with an internal gps-antenna and have pretty high-resolution displays, which makes them a considerable alternative for the usual satnavs.

In case of Nokia the software which is normally shipped with any gps-capable mobile-phone is called “Nokia Maps” or “Ovi Maps”, as Nokia bought the digital mapmaker Navteq the producer of ovi-maps some years ago. Nokia made the whole card material available for free in January 2010, so anyone can use it as long as he wants, without paying a thing.

I mainly have four problems with Nokia maps on my mobile-phone:

  • Out of the box there is no map data not on phone – you either have to have an active wireless-LAN connection or an active gprs/edge connection in order to download the map data. As in a everyday use you’ll be very lucky having a wireless-LAN connection and will have to download the map data via gprs/edge which is very expensive unless you signed a flatrate-contract.
  • As a GNU/Linux user I think it’s a disadvantage that the Ovimaps software is only offered for windows OS.
  • You’ll never know when Nokia reconsiders his decision to give away their maps for free. Just recently you could see how greedy Nokia is as they took a lot of money from Microsoft to ship Windows Phone 7 on their future devices and literally dropped the whole Maemo/MeeGo project which they initialized together with Intel like a hot potato.
  • A mobile-phone with a gps-antenna should be used like a normal satnav thus the download of the map data as you need them makes no sense to me at all.

The only considerable solution to me out of this four points was to download all available mapdata. After some searching in various web-forums I quickly found out, that you can directly download the mapdata from Nokias servers if you know the link and the numeric representation of the country or region you want, as the maps are distributed with file-names like 3523001.zip. At first I downloaded the newest mapdata I found which sadly made the map-application crash at startup. Lacking the possibility to find out which exact version of the map data I needed, because there isn’t anything helpful displayed in the info-page of the application I had to find another way to find that out.

The answer of the problem was: WireShark (a multi OS packet sniffer).
Continue reading ‘Nokia Ovi-Maps 3.0 0.1.25.114 direct Downloadlinks und Downloadscript for Maemo N900 without using Map Loader’

Wordpress erstellt keine Thumbnails – Installation der GD Library für Php5

Wordpress bietet die Möglichkeit über das Webinterface Bilder hochzuladen, um sie dann in den Beiträgen verwenden zu können. Seitdem ich von einem Freehoster umgezogen bin hat das bei mir zwar noch funktioniert, aber Wordpress generierte keine kleinen Vorschaubildchen mehr (sog. Thumbnails) und man verlinkte immer das komplette Bild, etwas skaliert eben. Woran das liegt und wie man es behoben bekommt gibt’s hinter “read more” :) Continue reading ‘Wordpress erstellt keine Thumbnails – Installation der GD Library für Php5′