Posts Tagged “linux”

Ordnerweise Flac zu Ogg konvertieren

Da ich meine CD-Sammlung inzwischen als flac-Dateien auf der Platte habe, ich aber auf dem Handy (das ich als Musikspieler verwende) nicht soviel Platz habe bietet es sich an die Dateien vorher in ein platzsparenderes Format zu konvertieren, zum Beispiel ogg Vorbis. oggenc legt seine Dateien aber immer in den gleichen Ordner ab, oder konvertiert nur eine Datei, was mühsam ist. Also müsste ich manuell Transkoding anstoßen, einen neuen Ordner erstellen, ogg-Dateien rüberkopieren, und so weiter. Da mir das zu doof war habe ich mir einen Bash-Skript geschrieben, der das für mich macht :-)

Es können auch mehrere Quellordner angegeben werden: flac2ogg.sh -t /mnt/portable /pub/music/The_Juliana_Theory-Deadbeat_Sweetheartbeat /pub/music/Panic!_At_The_Disco-A_Fever_You_Cant_Sweat_Out.

Download: flac2ogg.sh.gz

Read More

SVG-Datei aus Gnuplot in Inkscape nachbearbeiten

Im Programm „Inkscape“ ist das Menü „Effects“ geöffnet und der Menüpunkt „Fix Gnuplot SVG File...“ ausgewählt.

Wer schonmal eine SVG-Datei aus Gnuplot in der aktuelle Inkscape-Version 0.46 geöffnet hat wird einige Linien vermisst haben. Die Linien sind nicht weg - Inkscape stellt sie nur nicht dar.

In der aktuellen SVN-Version von Inkscape soll das Problem zwar behoben sein, aber es gibt auch einen Workaround für die 0.46er-Version. Eine Möglichkeit ist von Hand in der SVG-Datei nach stroke:currentColor; suchen und currentColor durch den Wert von color, das direkt davor steht, zu ersetzen. Die andere - vor allem bei mehreren Dateien praktischere - Möglichkeit ist es die svgfix-Extension für Inkscape herunterzuladen, nach ${HOME}/.inkscape/extensions (Linux) oder c:/Program Files/Inkscape/share/extensions (Windows) zu entpacken und nach dem Öffnen der SVG-Datei im Menü „Effects“ „Fix Gnuplot SVG file…“ auszuwählen.

Read More

Single Sign-On mit Ubuntu, SSH und PAM

Mit PAM und SSH lässt sich auch ohne zentralen Login-Server ein passables SSO realisieren. Damit entfällt das lästige Passwort-eingeben beim SSH-Login oder mounten via SSH.

  1. SSH-Schlüssel erstellen: Entweder über die Konsole ($ ssh-keygen) oder über das GUI:
    1. Schlüsselmanager öffnen:
    2. "Neuer SSH-Schlüssel" auswählen:
    3. Als Kommentar am besten user@host eingeben. Dann kann man den Schlüssel später besser zuordnen:
    4. Als Passphrase kann man zum Beispiel einen Satz nehmen und ein paar Buchstaben vertauschen, auslassen oder durch Zahlen ersetzen. So kann zum Beispiel aus "Der Himmel ist grau und es regnet." der Passphrase "derH!mm3Li$tgraUndESrgnt." werden. Da ist alles drin, was man sich in einem guten Passwort wünscht: Groß- und Kleinbuchstaben, Zahlen und sogar Sonderzeichen und merken kann man sich das dann auch relativ gut.
  2. Die entsprechende Bibliothek für PAM mit $ sudo aptitude install libpam-ssh installieren
  3. Nun müssen noch die entsprechenden Anwendungen von der neuen Möglichkeit in Kenntnis gesetzt werden. Dazu in den Konfigurationsdateien in /etc/pam.d nach @include common-auth suchen und in die Zeile darüber @include pam-ssh-auth eintragen. Anschließend noch nach @include common-session suchen und darüber @include pam-ssh-session eintragen.
    GDM (Anmelde-Manager)
    /etc/pam.d/gdm
    Login auf der Konsole
    /etc/pam.d/login
    sudo
    /etc/pam.d/sudo: Nur @include pam-ssh-auth. Falls der Key falsch eingegeben wird, fällt sudo auf das normale Password zurück. Um das zu deaktivieren, kann man #@include common-auth mit einer Raute deaktivieren.

Update: Mir ist grade aufgefallen, dass man das unter Ubuntu so gar nicht braucht, weil da der Gnome-Keyring-Manager das alles verwaltet. Macht aber nix: funktioniert ja auch unter andern Distributionen ;-)

Read More

Videos mit Flash in Webseiten einbetten

Für ein Projekt musste ich mich vor kurzem mit dem Thema Videos auf Webseiten auseinandersetzen. Am einfachsten und massentauglichsten erschien mir da die Variante mit einem Flash-Player.

Mit dem freien FFmpeg Encoder (LGPL) und den unter der GPL lizensierbaren Flowplayer hat man eigentlich schon alle benötigten Werkzeuge zusammen. Nun braucht man natürlich den Ausgangsfilm und muss ihn ins Flash-Video-Format konvertieren:

ffmpeg -b 1000kb/s -antialias auto -i video.avi -vcodec flv -ab 56 \
  -ar 22050 -s 450x370 -r 15 -y video.flv

Um noch ein passendes Vorschaubild zu erstellen braucht man folgenden Befehl:

ffmpeg -y -i video.avi -vframes 1 -ss 00:00:10 -an -s 450×360 \
  -qmin 10 -f mjpeg video.jpg

Anschließend den Player im HTML wie im Quickstart beschrieben einbinden, und fertig.

In einer Anleitung von Lars Schenk wird das alles etwas ausführlicher für Windows mit dem Riva FLV Encoder beschrieben.

Read More

Screenshots mit Firefox

Wenn man einen Screenshot einer Webseite erstellen will, kann das ohne passende Hilfsprogramme recht unangenehm werden. Aber zum Glück gibt es ja Hilfsprogramme!

Das Firefox-Plugin FireShot macht nicht nur Screenshots, sondern bringt auch gleich noch einige Bearbeitungsfunktionen mit. Damit kann man einfach Bemerkungen und andere Hinweise im Bild unterbringen. Einziger Wehmutstropfen: Das Ding läuft nur unter Windows...

Die deutlich weniger umfangreiche Alternative, aber dafür recht platformunabhängig, stellt die Erweiterung Screengrab! dar. Screenshots lassen sich wahlweise von der ganzen Seite, vom sichtbaren Bereich oder von einem auswählbaren Bereich machen. Da die Erweiterung mit der Firefox-Canvas-Methode arbeitet, muss aber für die entsprechende Seite Javascript erlaubt sein. Mit installierter Java-VM sollen sich auch Screenshots von Flash-Animationen machen lassen, aber das habe ich noch nicht getestet. Das Plugin steht übrigens unter der GPL.

Zahlenbasis konvertieren

Irgendwie sind mir bei den Farbangaben die HEX-Werte lieber als die Notation mit rgb(0,0,0) und daher ist immer wieder eine Umrechnung nötig. Unter Windows kann man das mit dem Taschenrechner erledigen, aber unter Linux haben die minimalistischeren Windowmanager keinen Taschenrechner dabei, über den sich diese Aufgabe mit Klicki-Bunti erledigen ließe. Nach kurzer Suche habe ich dann eine Zusammenfassung nützlicher Shellbefehle gefunden, die unter anderem den gewünschten Befehl enthielt:

$ echo 'obase=16; ibase=10; 244'|bc
F4
Befehl zur Konvertierung von der Basis 16 zur Basis 10

Read More

LAN-Zugriff via Bluetooth

Wenn man kein WLAN im Telefon hat, aber trotzdem kabellos ins Internet will bleibt einem nur der Umweg über einen PC mit Bluetooth-Schnittstelle. (Infrarot ist zwar auch kabellos aber die kabellose Freiheit ist damit doch eher eingeschränkt.) Da normalerweise nur der umgekehrte Weg - der Internetzugang vom Rechner über das Handy - vorgesehen ist bedarf es dazu eines kleinen Tools namens GnuBox, das genau dieses Funktion emuliert. Da die offiziellen Releases leider die S60 3rd Edition nicht unterstützen muss man mit einem unsignierten Paket aus dem Nokiaforum Vorlieb nehmen. Eine spanische Anleitung zum signieren von Paketen mit einem eigenen Entwicklerschlüssel lässt sich dank Googles Übersetztungsdienst und der vielen Screenshots gut verstehen.

Hinweis: Alle Pfade und Anweisungen beziehen sich auf das Nokia E50 sowie Arch Linux. Solltest du ein anderes Handy oder eine andere Distribution verwenden können die Pfade und Dateien etwas abweichen.

Einige Anwender haben im Nokiaforum von Datenverlust oder Fehlfunktionen nach der Installation berichtet. Also vor der Installation den Telefonspeicher sichern. Das geht entweder mit der Nokia PC Suite oder auf eine eingesteckte Speicherkarte unter: System > Speicher > Telefonspeicher sichern.

Ist GnuBox installiert, muss zuerst ein neuer Zugangspunkt mit folgenden Einstellungen angelegt werden (System > Einstellungen > Verbindung > Zugangspunkte > Optionen > Neuer Zugangspunkt > Standardeinstellungen):

Verbindungsname
Bt
Datenträger
Datenanruf
Einwahlnummer
321 (oder eine beliebige andere Nummer, die nicht angerufen werden kann)

Alle anderen Einstellungen müssen nicht geändert werden. Anschließend GnuBox starten und über Install > create records die notwendigen Einträge erzeugen. GnuBox beenden. Es reicht nicht lediglich den Task zu wechseln. GnuBox muss richtig beendet werden.

Nun am Computer die Bluetooth-Konfiguration in /etc/conf.d/bluetooth bearbeiten...

SDPD_ENABLE="true"
DUND_ENABLE="true"
DUND_OPTIONS="--listen --encrypt call dun"

... und anschließend den Bluetooth-Daemon mit /etc/rc.d/bluetooth startstarten und die Geräte koppeln (Pairing). Damit ist die Verbindung zwischen den Geräte abgeschlossen und der Computer muss noch konfiguriert werden, dass er die Verbinung des Telefons auch weitergibt. Dazu muss die Datei /etc/ppp/peers/dun mit folgendem Inhalt erstell werden:

460800
debug
192.168.1.1:192.168.1.2
ms-dns YOUR_DNS_ADDRESS
lock
crtscts
noauth

Dabei muss die IP-Adresse des DNS-Servers eingesetzt werden (cat /etc/resolv.conf). Anschließend muss noch das Masquerading aktiviert werden:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Damit diese beiden Befehle automatisch beim Systemstart ausgeführt werden, kannst du sie auch gleich in /etc/rc.local eintragen. Um nun am Handy deine neue Verbindung zu testen starte GnuBox und wähle Optionen > 2box Bluetooth > LAN Access server. Die Frage ob Verschlüsselung aktiviert werden soll, muss mit "Ja" beantwortet werden. Jetzt funktioniert die Internetverbindung: DSL am Handy :-)

Hinweise zur Problemlösung findest du im Nokiaforum oder auf der GnuBox-Seite.

Read More

Erfahrungen mit Webcalendar/Lightning

Inzwischen habe ich erste Erfahrungen mit meinem Kalendergespann gesammelt. Erstmal ist es natürlich sehr praktisch seinen Kalender von überall mit Internetzugang oder vom Notebook über Thunderbird aus im Griff zu haben. Allerdings funktioniert bei mir die Synchronisation noch nicht einfwandfrei. Lightning stellt zwar alle Termine aus Webcalendar anstandslos dar, doch beim Eintragen hakt es. Trage ich in Lightning einen Termin ein verdoppeln sich auf seltsame Weise alle anderen Termine. Zum Glück setzt sich das (bis jetzt) nicht endlos fort, sondern es wird einfach von jedem Termin genau eine Kopie in den Kalender eingetragen. Anfangs habe ich vermutet, dass es mit der Sommerzeit zusammenhängt (weil die beiden Termine nach dem unfreiwilligen kopieren eine Stunde auseinander lagen) aber das fällt inzwischen ja auch weg. Gefunden habe ich bisher jedenfalls nichts. Und beim Eintragen in Webcalender stört, dass ich bisher nicht rausgefeunden habe, wie man mehrtägigen Termine eintragen kann.* Hat jemand ähnliche Probleme/Erfahrungen?

* Man kann im Webcalendar keine mehrtägigen Termine "für den GANZEN Tag" anlegen. Wenn man die Termine mit Zeitangabe anlegt, und die Dauer entsprechend hoch einstellt geht's...

Lightning und WebCalendar synchronisieren

Um die Synchronisationsfunktion nutzen zu können, muss mindestens WebCalendar 1.1 verwendet werden! Der 1.1er-Zweig ist momentan noch in der Entwicklung, was man an einigen Stellen auch noch deutlich merkt. So ist bei mir zuerst das Update der Datenbank (PostgreSQL) mit SQL-Fehlermeldungen abgebrochen. Ein Schritt-für-Schritt-ausführen der Statements von Hand konnte ich dann einige Fehler beheben: An einer Stelle steht DEFALT (statt DEFAULT), an anderer Stelle wurde das SET vor DEFAULT vergessen und woanders wird versucht dem Datentyp INT einen Wert (INT(1)) mitzugeben, was bei PostgreSQL nicht erlaubt ist (hier sollte stattdessen der NUMERIC-Datentyp verwendet werden). Trotz allem war nach dem Update meine Datenbank kaputt und da ich bisher nur ein paar Testtermine angelegt hatte, habe ich den WebCalendar neu aufgesetzt (Installationsbeschreibung).

So, und nun zur Synchronisation:

  1. Datei > Neu > Kalender
  2. "Im Netzwerk" auswählen.
  3. URL der WebCalendar-Installation angeben: https://example.com/webcalendar/icalclient.php

Die Termine aus WebCalendar wurden bei mir problemlos übernommen, doch wenn ich in Thunderbird einen Termin aktualisiert oder gelöscht habe, wurde bei meinen kurzen Tests nicht immer korrekt an WebCalendar übermittelt. Mal schauen, ob ich da noch was einstellen kann, oder ob ich doch weiter suche nach einer anderen Lösung... Eine Alternative hätte ich da schon ^^ *

Remote Publishing with Apple iCal

* PHP iCalendar stellt iCals nur dar und bietet keine Bearbeitungsmöglichkeiten.

Read More

WebCalendar auf Debian Etch

Ich bin schon seit einiger Zeit auf der Suche nach einer Kalenderlösung die mich an meine Termine erinnert und möglichst zentral abrufbar ist. Ich habe schon ein paar Groupwarelösungen ausprobiert, aber irgendwie war das nie so das richtige. Groupware ist ja auch ein bisschen Overkill für eine Person :-D Heute bin ich dann auf einen Artikel im Linux-Magazin (Ausgabe 11/07, Seite 77) auf einen Artikel gestoßen, der genau das behandelt. Den Hauptbestandteil bildet dabei WebCalendar als Webapplikation mit Im- und Exportfunktion, sowie das Lightning-Plugin für Thunderbird. Die Synchronisation mit dem Handy kann dann via SyncML erfolgen, doch darüber mache ich mir Gedanken, wenn ich mal ein neues Handy habe ^^

Nachtrag: Für die Synchronisation mit Lightning/Sunbird/iCalendar/... via iCal-Format ist Version >= 1.1 erforderlich! Mehr zur Synchronisation in diesem Beitrag.

Nachfolgend eine knappe Dokumentation meiner Installation (Apache mit PHP5 ist bereits installiert):

  1. Paket von herunterladen und nach /var/www entpacken
  2. Ordner umbenennen: mv /var/www/WebCalendar-?.?.? /var/www/webcalendar
  3. Da ich normalerweise magic_quotes_gpc = off verwende, WebCalender den Wert aber auf on will, braucht es eine kleine Konfiguration für den Apache in /etc/apache2/conf.d/webcalendar:
    <Directory "/var/www/webcalendar">
            <IfModule mod_php5.c>
                    php_flag magic_quotes_gpc on
            </IfModule>
    </Directory>
    
  4. Bei der Datenbank habe ich mich für PostgreSQL entscheiden. Um die Webapplikation sauber zu kapseln wird ein separater DB-Benutzer mir Datenbank angelegt: sudo su postgres -c "createuser -P webcalendar && createdb webcalendar"
  5. Anschließend werden die Tabellen importiert: psql -U webcalendar -W -h localhost < /var/www/webcalendar/tables-postgres.sql
  6. Falls die pgsql-Erweiterung für PHP noch nicht installiert ist: sudo aptitude install php5-pgsql
  7. Nach dem Einrichten der Datenbank kann die Installationanleitung weiter verfolgt werden: http://localhost/webcalendar/docs/WebCalendar-SysAdmin.html#appsetup
  8. Für den Crontab zur Terminerinnerung ist muss das Paket php5-cli installiert sein: sudo aptitude install php5-cli und der Pfad zum PHP-Interpreter in /var/www/webcalendar/tools/send_reminders.php angepasst werden.

PostgreSQL Quickstart

Read More

Verschlüsseltes Ubuntu

Wer schon mal mit dem Gedanken einer verschlüsselten Festplatte gespielt hat, dem wird dieser Wiki-Eintrag gefallen. Die Anleitung erklärt ausführlich und anfängerfreundlich wie man sich sein installiertes System mit LUKS verschlüsselt. Ich habe gestern noch ein paar Hinweise eingefügt mit denen auch eine Neuinstallation nach dieser Anleitung problemlos funktionieren sollte. In meiner VM hat's jedenfalls einwandfrei funktioniert :-)

Allen Windowsbenutzern kann ich an dieser Stelle nur nochmals TrueCrypt an's Herz legen. Ich bin mir zwar nicht sicher ob man damit auch die Systempartition verschlüsseln kann, aber mit einer Datenpartition geht's auf jeden Fall!

Falls jetzt jemand kommt mit: "Ich habe doch nichts zu verbergen..." Ich finde es jedenfalls beruhigender zu wissen, dass, falls mein Notebook geklaut wird, der Dieb wenigstens nicht an die Daten ran kommt und in Ruhe meine privaten Sachen durchschnüffeln kann oder das gespeicherte Online-Banking-Passwort weiß (Ok, wer das speichert ist eigentlich selber schuld, aber is ja auch nur n Beispiel *g).

Read More

Kostenloses Werkzeug zum PDF erstellen

Das Problem, dass man ein Dokument an eine andere Person weitergeben möchte, sich aber nicht sicher ist, ob der andere das entsprechende Programm besitzt, hat bestimmt jeder schon einmal gehabt. In vielen Fällen bietet es sich hier an ein PDF zu erstellen. Das Format ist zwar nicht offen, aber doch weit verbreitet und es gibt etliche Programme zum erstellen und betrachten der Dateien. Wenn das nicht der behäbige AdobeReader sein soll, zum Beispiel den schlanken Foxit PDF Reader (auch wenn er manchmal ein paar Macken hat).

Zum erstellen von PDF Dateien schwören viele auf das kostenlos erhältliche FreePDF, dass allerdings unter einer eigenen Lizenz steht und auch nicht quelloffen ist. Ich verwende daher seit einigem das Werkzeug PDFCreator, das die Aufgabe ebensogut erfüllt und unter der GPL lizenziert ist.

Hat jemand andere Erfahrungen gemacht? Oder kennt jemand noch andere Werkzeuge zum erstellen/betrachten von PDF?

Funktionen zeichnen

Der Mathe-Vorkurs hat begonnen, und wieder einmal dreht es sich um Funktionen. Eine Zeichnung hilft dabei oft, doch von Hand kann es lange dauern und ist zudem noch ungenau. Einen grafischen Taschenrechner will man sich dafür auch nicht unbedingt anschaffen, da die Teile ja auch nicht ganz billig sind. Aber der PC kann sowas doch sicher auch?! Und er kann…

Für Windows XP enthalten die Microsoft PowerToys den Power Calculator, der mit zweidimensionalen Funktionen eigentlich alles Notwendige beherrscht.

Das viel mächtigere gnuplot ist für UNIX, IBM OS/2, MS Windows, DOS, Macintosh, VMS, Atari und viele andere Plattformen verfügbar. Die Bedienung erfolgt hier über die Kommandozeile. Hier die wichtigsten Befehle:

set terminal svg
set output "output.svg"

set xrange [-10:10] # setzt den zu zeichnenden Bereich der X-Achse von -10 bis 10
set yrange [-10:10] # setzt den zu zeichnenden Bereich der Y-Achse von -10 bis 10
plot -0,5*x**-2*x+2 # zeichnet die Funktion -0,5x²-2x+2
Befehle um eine Funktion als SVG zu zeichnen
Gnuplot Produced by GNUPLOT 5.4 patchlevel 6 -10 -5 0 5 10 -10 -5 0 5 10 -0 -0 5*x**-2*x+2 5*x**-2*x+2
-0,5x²-2x+2

Weitere Grundlagen gibt es im Gnuplot-Grundkurs oder einfach mal Google fragen.

Read More

Logout-Menü

Für den den iMac G3 meiner Mutter hab ich ein kleines LogoutMenü geschrieben. Spart das Auswendiglernen der Befehle und kann auch, wenn es direkt in die .bash_profile integriert wird, das Absetzten eigener Befehle verhindern.

Read More