Homebanking unter Linux

Seit geraumer Zeit nutzen meine Frau und ich ein Haushaltsbuch auf App-Basis, welches uns eine Auswertung unserer Einnahmen und Ausgaben nach Kategorien ermöglicht. Das ganze klappt auch recht gut mittlerweile. Wer sich dafür interessiert: Die App heißt „Unser Haushaltsbuch“, von einem deutschen Entwickler, es werden keine Online-Services genutzt, zum Synchronisieren von mehreren Nutzern kann man ein verschlüsseltes Sync-File bei Google Docs ablegen.

Was das Tool nicht nicht kann: einen Überblick über unsere Konten geben, am besten mit einer Langzeitanalyse. Das ist auch nichts, was ich an die Sparkasse oder Data Buhl und Co. in die Cloud auslagern wollen würde. Und dafür jedesmal eine VM oder ein Windows hochfahren finde ich ein wenig mit Kanonen auf Spatzen geschossen.

Prinzipiell ist Finanzsoftware unter Linux ähnlich stiefmütterlich behandelt wie einst Spiele unter Linux und auch wenn ich kein Java-Freund bin: Die Software für die ich mich entschieden habe, läuft und liefert einfach, was ich haben will: Zahlen und Diagramme.

Screenshot: willuhn.de

Nach einiger Suchererei nach Anwendungen, die ähnlich wie WISO MeinGeld oder StarMoney mir meine Kontenhistorie lokal verfügbar machen, bin ich schließlich bei Hibiscus gelandet. Das ganze ist ziemlich rund, wenn man ein paar kleine Copy-Paste-Aktionen und ein bisschen Doku lesen nicht abschreckend findet. So habe ich unsere kompletten Konten zusammengefasst und kann jetzt auch bequem alle Umsätze auf dem heimischen Rechner sehen, filtern, kategorisieren und z.B. einen generellen Trend der Kontenentwicklung erkennen etc.

The Road to Raspbian Jessie #1

Nachdem ich an verschiedenen Stellen schon mal las, dass ein direktes Upgrade von Raspian Wheezy auf Raspian Jessie nicht so ohne weiteres funktionieren würde, habe ich beschlossen, eine zweite SD-Karte zu kaufen (genauer: eine MicroSD mit Adapter, man weiss ja nie, ob einem nicht doch noch irgendwann ein Raspberry2 in die Hände fällt) und die Konfigurationen einfach zu kopieren. Glücklicherweise habe ich noch einen zweiten Raspberry zur Hand, dann muss ich auch nicht lange hin- und herstöpseln.

[grey_box]Der Artikel geht davon aus, dass ihr ein bisschen Ahnung im Bereich Linux habt, die Shell schon mal benutzt habt und gängige Befehle wie cd, mkdir und einen Texteditor (nano oder vim) in der Shell benutzen könnt.[/grey_box]

Außerdem tut das ganze gut, mein Gedächtnis wieder ein bisschen aufzufrischen, was ich mit meinem bisher so angestellt habe.

Sachen, die danach auf jeden Fall (wieder) funktionieren müssen: OpenVPN, Bitlbee, Weechat, byobu.

Part 1: Installation des Raspberrys

Man braucht eine SD-Karte, das Tool Win32DiskImager und Internet.

Zuerst wird das Raspian Jessie-Image auf der RaspberryPi-Seite heruntergeladen. Danach wird das Image ausgepackt und mit dem Win32DiskImager auf die SD-Karte gespielt. Ihr könnt auch das NOOBS-Tool nutzen, ist auch kein Problem, aber eigentlich ist das interessanter, wenn man andere Dinge ausprobieren mag.

Für Anfänger ist es vermutlich am einfachsten, den Raspberry via HDMI mit Strom, Keyboard, Maus und Kabel an den Fernseher oder einen Monitor zu hängen.

[green_box]Username und Passwort bei Raspian sind immer wie folgt:

Username: pi
Passwort: raspberry (Vorsicht mit dem Tastaturlayout, das ist in der Standard-Einstellung englisch, also müsst ihr ggf. raspberrz als Passwort eingeben[/green_box]

Erster Schritt nach dem Booten ist, mit STRG+ALT+F1 ins Terminal zu wechseln, sudo raspi-config einzugeben und als erstes das „Expand Filesystem“ zu drücken um das Dateisystem auf die Größe der Karte anzupassen, sonst habt ihr nur knapp 2GB verfügbaren Platz. Ich schalte dann auch gleich noch unter Boot-Mode auf die Option B1, das reduziert den Speicherverbrauch gleich mal ganz gut, weil kein Desktop geladen wird.

Dann passt man am besten auch gleich noch die Tastatur und Länder-Settings an.

Alternativ (hab ich dann leider später erst gesehen): Standardmäßig ist ein SSH-Server aktiv, das Einloggen geht auch direkt remote mit dem bereits erwähnten Usernamen / Passwort.

Part 2: Username anpassen

Ab hier bin ich dann komplett remote vorgegangen.

Ich persönlich mag den Standard-Account nicht, deswegen benenne ich den pi-Account immer um. Nixcraft hat dazu einen sehr guten Überblick dazu. Bis auf die UID-Änderung muss man alle Schritte als root#-User ausführen. Der Hinweis auf die /var und /tmp-Daten in den Kommentaren ist richtig, da tauchte bei mir nur das Verzeichnis /var/lib/lightdm/data/pi auf, das die richtigen Rechte, aber den falschen Namen hatte. Umbennen und gut ist.

Am einfachsten geht das, wenn man seinen SSH-Key in die Datei /root/.ssh/authorized_keys kopiert. Wenn ihr den Raspberry genauso frisch aufgesetzt habt, dann müsst ihr Verzeichnis und Datei erst noch erstellen. Das dann bitte direkt mit dem Root-Account. (Von dem bestehenden pi-Account mit sudo erstellen. Dann mit raspi-config den Bootmodus B1 wählen, rebooten lassen, per Putty einloggen und sich mit root@raspberrypi anmelden (dabei auf SSH-Key-Authentifizierung schalten).

Dann rebooten und voilá: Anmeldung ab jetzt mit den neuen Nutzernamen. Das Passwort kann man dann nicht mehr per raspi-config setzen, da das Tool nur für den User pi eingestellt ist. Dazu nutzt man nach der Anmeldung den Befehl passwd. Das erklärt sich selbst. Wer seine USB-Tastatur dafür nutzt und seine Locale noch nicht angepasst hat: Z und Y sind möglicherweise noch vertauscht.


[green_box]Beim nächsten Mal geht’s dann weiter mit der Übernahme der Konfiguration meiner genutzten Programme und Dienste.[/green_box]

Linux developers are used to being told ‘no’

Linux developers are used to being told ‘no’, then doing it anyway.

OMG! Ubuntu!

Ich kann immer noch nicht verstehen, wieso es Lovefilm & Co. nicht für Linux gibt. Wie man bei Steam und auch bei Android sehen kann, ist „runs on Linux“ nicht gleichbedeutend mit kostenlos. Und wie man auch sehr wohl in beiden Welten sehen kann, auch nicht gleichbedeutend mit der Abwesenheit von DRM.

Android hat das Konzept im Mobile-Sektor mit GPL-Wurzeln umgesetzt. Steam auch. Apple nutzt BSD, was auch eine Open Source Software ist. Im Fall von Apple wird davon im heutigen iOS und OSX vermutlich nicht mehr so viel sichtbar sein, aber sei es drum.

Allerdings: gerade beim Thema Abonnement-Dienste werde ich mir aber nicht wirklich einig  mit der FSF, die der Legitimität dieser Geschäftsmodelle extrem kritisch gegenübersteht. Ich habe keine Probleme mit dem Mieten von Zugang zu Musik oder Filmen. Erst recht nicht, wenn der Zugang mich nicht einschränkt, wie es bei DRM und gekauften Medien der Fall wäre. Denn wenn ich Dinge kaufe, bestehe ich auf Einhaltung des Erschöpfungsgrundsatzes. Und ich will das Produkt ohne Einschränkungen (DRM) nutzen können, konvertieren etc.

Ich bin froh, dass es Menschen gibt, in bestimmten Situationen eben nicht einfach damit abfinden, dass der Erfinder es nicht will. Und es dann einfach trotzdem machen, so dass es so wunderbare Projekte wie „Pipelight“ gibt. Die dann allen nutzen.

[yellow_box]Um das ganze nochmal klarzustellen: Ich befürworte DRM nicht, im Gegenteil. Ich sehe aber die Notwendigkeit, DRM (in welcher Art und Weise auch immer) für Verleihmodelle zu nutzen. Das bringt im Endeffekt auch Nutzern etwas. Und man muss es ja nicht gleich wie bei Systemen wie Origin übertreiben.[/yellow_box]

The last step, and one that is often forgotten

The last step, and one that is often forgotten, is to add a route to the server’s LAN gateway which directs 192.168.4.0/24 to the OpenVPN server box (you won’t need this if the OpenVPN server box is the gateway for the server LAN). Suppose you were missing this step and you tried to ping a machine (not the OpenVPN server itself) on the server LAN from 192.168.4.8? The outgoing ping would probably reach the machine, but then it wouldn’t know how to route the ping reply, because it would have no idea how to reach 192.168.4.0/24. The rule of thumb to use is that when routing entire LANs through the VPN (when the VPN server is not the same machine as the LAN gateway), make sure that the gateway for the LAN routes all VPN subnets to the VPN server machine.

Similarly, if the client machine running OpenVPN is not also the gateway for the client LAN, then the gateway for the client LAN must have a route which directs all subnets which should be reachable through the VPN to the OpenVPN client machine.

OpenVPN HowTo

In meinem Fall hat die Route in der Fritzbox gefehlt, die Pakete an das 10er VPN über den Raspberry routet, der ja im 192er und dem 10er-Netz sitzt. Nun erreiche ich auch die lokalen Rechner über den VPN-Server.

Man kann Debian auch schön einrichten

Es dauert halt nur länger…

Das ist ein Screenshot meiner Debian-Testing-VM, die ich nutze um zu evaluieren ob ich von Ubuntu auf Debian Testing umsteige. XFCE 4.10 ist in Testing verfügbar, bei GNOME3 ist immer noch 3.4 in den Quellen. Das wird nochmal interessant, aber die Tendenz ist: Ich tu’s. Allerdings erst Ende des Jahres, so wie es aussieht. Davor bin ich zu beschäftigt um noch eine Nebenbaustelle am Rechner aufzumachen.

Hintergrund: Unter Debian ist der XFCE-Default nicht das Default-XFCE-Aussehen. Zwischen dem Aussehen oben und dem Default aus Debian steht ne Stunde Arbeit.

Zum Vergleich hiermal der Debian XFCE-Default:

Debian XFCE Default

Verkaufe: ASUS EEEBox B202

Beschreibung

Dieser wunderbare Mini-PC hat mir lange als Server auf Ubuntu-Basis gedient, hat aber in meinem Fall mehr Strom verbraucht, als eine sparsamere Hardware, die für mich völlig ausreicht. Im Normalbetrieb hat das Gerät bei mir ca. 13-14 Watt verbraucht.

Wenn ich nicht einen Raspberry Pi gekauft hätte, würde das Gerät hier immer noch laufen, die Leistungsdaten sind schon extrem gut. Aber da die EEEBox hier dauerhaft unterbeschäftigt war, war mir das dann doch zu viel Strom.

Als Desktop-System durchaus brauchbar, kann die EEEBox mit der VESA-Halterung unsichtbar hinter einen Bildschirm mit VESA-Aufnahme geschraubt werden.

Technische Daten:

Prozessor
Atom N270 (1.60 GHz, 533 MHz FSB, 45 nm)
RAM
2GB
Festplatte
160GB, Einbau einer 500er WD Blue möglich gegen Aufpreis
Betriebssystem
„eLinux“. Ich liefere mit keinem oder einem frisch installierten Ubuntu
Anschlüsse
4 x USB 2.0, SD/MMC-Slot, DVI, RJ45 / Gigabit, WLAN 802.11n (b/g/n)
Windows-Lizenz-Aufkleber
Nicht vorhanden. Das Gerät wurde komplett ohne Windows verkauft.
Zubehör
Standfuß, VESA-Mount, Netzteil, WLAN-Antenne, Tastatur, Maus, OVP

Restrukturierung meiner Hardware

Mein letzter Stand der funktionierenden Konfiguration des Heimnetzes war, nach der Änderung des NAS-Standortes und der damit verbundenen Umstellung von Devolo auf eine Fritz!Box als WLAN-Repeater, der folgende:

Wohnzimmer:

  • Fritz!Box 6360 von Unitymedia
  • WLAN
    • Wii
    • PS3
    • Notebook
    • Touchpad

Arbeitszimmer:

  • Fritz!Box 7240 (WDS-Repeater der Fritz!Box im Wohnzimmer)
  • LAN an der Fritz!Box
    • Desktop-Rechner
    • EEEBox
    • NAS (Synology DS213)
      • Drucker (Samsung ML-1640) als Netzwerkdrucker

Nachdem ich den Drucker ursprünglich mal an der EEEBox mit CUPS hing, mein Windows7-Notebook den aber dann so nicht fressen wollte (unter Linux hat das ganze sehr gut funktioniert, vom Desktop aus), habe ich den Drucker mal an die Fritz!Box gehängt. Leider hat diese den Drucker nur sehr sporadisch erkennen wollen. Warum auch immer, es wollte partout nicht dauerhaft funktionieren. Einrichten hat funktioniert, danach wollte sie den Drucker nur noch einmal anzeigen.

Da mein NAS auch über einen Druckserver funktioniert, habe ich das dann so mal ausprobiert und siehe: Es geht. Das Windows hat sich wieder gesträubt, man muss die Drucker da scheinbar erstmal lokal hinzufügen, bevor man sie als Netzwerkdrucker nutzen kann? Komischerweise hatte ich in der Firma damit bisher nie Probleme (die Drucker haben da allerdings auch nativ eine Netzschnittstelle. Mein irgendwann nächster Drucker dann auch!)

Nachdem die Baustellen WDS einrichten, NAS umziehen und Drucker netzwerkbekannt machen dann also abgehakt sind, kam eine neue Baustelle in Form eines Raspberry Pi hinzu, der die Aufgaben der EEEBox übernehmen sollte. Diese sind durch die Drucker-Thematik noch weniger geworden und da ich die Geräte am LAN im Arbeitszimer habe, braucht der Raspberry dann auch nicht mal WLAN, sondern nur Strom und Netzwerk.

Die Aufgaben sind wirklich überschaubar:

  1. LAMP für WordPress-Testinstallationen,
  2. 3 produktive DokuWikis mit sehr wenig Traffic,
  3. meine Messaging-Zentrale und
  4. einen SOCKS5-Proxy (mit recht viel Traffic)

Dazu habe ich Raspian, ein Debian-Derivat verwendet. Ubuntu gibt es für den Raspberry erstmal nicht, als habe ich von Ubuntu 12.04 LTS auf Debian Wheezy (7.0) „migriert“.

Obwohl der Raspberry nur weniger als die Hälfte an Prozessorleistung und nur ein Viertel des RAM der EEEBox hat, kommt er mit den Aufgaben bisher ziemlich gut klar, und das bei ähnlichen Auslastungsindikatoren: der Load Average liegt im Ruhemodus bei unter 0.1, der RAM-„Verbrauch“ ist von ca. 20% bei der EEEBox (da waren 2GB drin) auf ca. 25% (von 512MB) „gestiegen“, das System läuft aktuell flüssig und nur unwesentlich langsamer.

Das betrifft in erster Linie Aktionnen wie apt-get update && apt-get upgrade, der Apache reagiert natürlich stellenweise etwas langsamer, allerdings habe ich die Konfiguration des alten Servers nicht übernommen, sondern fange sozusagen „von vorne“ an, was die Einstellungen angeht. Aufgrund des Systemunterschieds könnten hier am Ende vollkommen andere Parameter bessere Ergebnisse erzielen. Aber das werde ich noch sehen. Hier werden ja keine Highspeed-Seiten gehostet…

Wie man sieht, ich habe für den Raspberry eher konservative Aufgaben und nutze das Gerät her, um für nicht genutzte Ressourcen keinen Strom bezahlen zu müssen.

Linux als Spieleplattform

Ich finde es durchaus reizvoll, Linux als Plattform für große Produktionen von Spielen zu betrachten. Das würde nämlich endlich mal etwas Druck auf Hardwarehersteller erzeugen, die dann hoffentlich mal vernünftige Treiber die Linux bereitstellen müssten.

Spiele und Sex sind immer die richtigen und wichtigen Zugpferde, wenn es um die Einführung von neuen Technologien geht. Und Spiele sind da doch wirklich eine bessere Wahl wie als mit „unter Linux laufen die Pornos flüssiger“ zu „werben“.

Und Valve hat ja bei der Steam-Portierung schon festgestellt, das manche Dinge unter Linux schneller gehen…

Vielleicht wird dann ja 2013 das Jahr des Linux-Desktops. #scnr

Wohlfühldinge für den Desktop

Da ich ja schon mal schrieb, dass das Grid-Plugin von Compiz und sein Nicht-Vorhandensein in anderen Desktop-Environments ein Grund dafür sei, dass ich eher weniger umstiegslustig sei, habe ich mittlerweile eine passende Lösung gefunden, die auf jeden Fall unter KDE4 und Gnome3 funktioniert. Unter Gnome3 habe ich sie selbst laufen, unter KDE4 hat sie mein Kollege getestet. Dort auch sogar mit 2 Bildschirmen. Da ich nur einen habe, sei das mal egal.

Wer sich aber für so eine Grid-Lösung á la Winsplit Revolution interessiert, darf sich bei Stephan Sokolow bedanken, der das wunderbare Python-Skript „Quicktile“ geschrieben hat.