Dropbox-Speicher mit Mailbox unter Linux erhöhen
Trotz Rice, zusätzlichen Dropbox-Speicher freizuschalten schadet nicht, ist ja verschlüsselt. Derzeit läuft eine Promo, bei der jeder 1GB zusätzlichen Speicher bekommt, der unter iOS oder Android die Mailbox-App installiert und einrichtet. Was aber, wenn kein geeignetes Gerät dafür da ist? Auf meinem altersschwachen Galaxy i5800 beispielsweise verweigerte sich die App, trotz Android 4.1 und Market Helper.
Dann kann man das ganz mit dem Android-Emulator simulieren.
Aber der Weg ist nicht ganz einfach. Deshalb im Folgenden eine Anleitung.
1. APK Downloader installieren
Um an die APK zu kommen, installierte ich den APK Downloader, eine Chrome-Erweiterung. Die Anleitung auf der Seite stimmt: Zip in einen Ordner entpacken, bei den Chrome-Extensions den Developer-Modus aktivieren und mit "Load unpacked extension" installieren. Dann in der Konfiguration die im Playstore verwendete Mailadresse samt Passwort (App-spezifisches, bei 2-Faktor-Authentifizierung) und die mit *#*#8255#*#* herausgefundene Device ID eintragen.
2. mailbox.apk herunterladen
Mit dem eingerichteten Downloader dann auf die Mailbox-Store-Seite gehen, sich einloggen und auf den APK-Downloader-Button klicken. Das .apk sollte nun heruntergeladen werden.
Kein Android-Gerät, also keine ID? Dieser Link sollte helfen.
3. Android-SDK installieren
Nun braucht es den Emulator, um das .apk auch nutzen zu können. Dafür lädt man auf der Downloadseite unter SDK Tools Only das .tgz herunter. Dieses dann entpacken. Nun muss der Emulator geupdatet und die Plattformpakete installiert werden, das geht mit
cd android-sdk-linux/tools ./android sdk
und dem Installieren der vorausgewählten Pakete.
Dann ein avd erstellen
./android list targets ./android create avd -n test-mailbox -t 3
und den Emulator mit dem avd starten
./emulator -avd test-mailbox
4. Mailbox installieren
Nun sitzt der Emulator im Android-Hauptmenü, aber die App ist auf dem PC, und der Emulator hat keinen Play-Store. Statt den nachzurüsten kann das .apk übertragen werden:
adb install ~/Downloads/com.mailboxapp.apk
Jetzt noch starten, die Dropbox-Zugangsdaten eingeben, und… fertig! 1GB mehr auf dem Konto.
Und wer will, kann sich bei der Gelegenheit die App ja gleich mal angucken. Richtig schlecht sieht sie nämlich nicht aus.
Launchpad: PPAs, Github und Daily-Builds
Ein PPA für izulu mit Integration des Github-Repos einzurichten war komplizierter als nötig. Man merkt, dass die ganze Infrastruktur nicht für kleine, sondern für große Projekte gemacht ist, alles ist unheimlich mächtig und hinter tausend Wrappern versteckt, und auch die sind potentiell ziemlich kompliziert.
Daher nun die Quintessenz der Arbeit meiner letzten Tage, neben dem PPA: Eine kleine Anleitung zur Integration von Github für daily builds in PPAs auf Launchpad.
Vorbedingung
Egal was das für ein Projekt ist, du kannst dir Unmengen an Arbeit mit Nutzung eines Makefiles sparen. Selbst wenn es gar nichts zu kompilieren gibt!
Makefiles sind einfach. Ignoriere einfach autotools und was es sonst alles gibt. Als Start für Skripts empfehle ich das Makefile von izulu (das auf dem Makefile von pass basiert). Wenn Code kompiliert werden muss, ist diese Anleitung nicht verkehrt (kennt jemand eine bessere?)
Edit: Hervorragend ist auch die Anleitung von Dirk bei den Adminstories.
Edit2: hiltmon beschreibt in dieser Anleitung eine sinnvolle Makefile für C++, samt Projektstruktur.
Achte darauf, dass dein Makefile auch wirklich alle Ordner anlegt, die Zeile mit install -d
.
PPA manuell füllen
Vorbedingung: Dein Programm baut sich sauber per Makefile. Du hast dir auf Launchpad ein PPA angelegt, und in deinem Profil deinen SSH-Key hochgeladen. Das Paket packaging-dev ist installiert.
Workflow: Wir erstellen mithilfe von Debian/Ubuntu-Tools ein reguläres .deb. Das Sourcefile dieses .deb, *_source.changes, wird auf Launchpad hochgeladen.
Zuerst musste ein vollständiges debian-Verzeichnis angelegt und die Dateien darin entfernt oder konfiguriert werden.
- Anlegen:
dh_make --createorig -p NAME_VERSIONUMMER
- Jetzt muss debian/ kontrolliert werden. Alle ex und EX-Dateien können gelöscht werden, und auch ein paar andere, in denen das drin steht. Dabei immer auf das Target (bei mir war das trusty, aber dh_make setzte unstable ein) in debian/changelog(!) achten. In debian/control die Abhängigkeiten eintragen, und unbedingt die Section von unknown auf eine aus dieser Liste (auf die URL für die ID achten) ändern.
- Die im Elternverzeichnis erstellte NAME_VERSIONUMMER.orig.tar.gz muss nun wahrscheinlich noch in NAME_HAUPTVERSIONUMMER.orig.tar.gz umbenannt werden (also ohne -ppa1, aber debuild warnt sonst auch).
- Dann das Paket bauen:
debuild -S -sa -kKEYID
- Wenn das gut ging, wurde im Elternordner die Komponenten hingelegt, also kannst du das Quellpaket hochladen:
dput -f ppa:USER/PPA ../PAKETNAME_VERSIONSNUMMER_source.changes
Nun auf die Email warten, die über Erfolg oder etwaige Baufehler berichtet. Etwaige Fehler berichtigen und alles wiederholen (debian/ einfach behalten, aber beim dh_make-Schritt und in der changelog die Versionsummer erhöhen).
Integration mit Github und Daily Builds
Vorbedingung: Du hast ein Programm auf Github, mit debian-Ordner, dessen Debianpaket auf Launchpad gebaut werden kann.
Workflow: Projekt anlegen, Codeimport einrichten, recipe erstellen, dieses dann eintragen.
Aber ein PPA manuell zu befüllen ist ja gar nicht, was wir als Entwickler typischerweise wollen. Sondern daily snapshots aus dem Github-Repo in dem PPA haben ist das Ziel.
- Dafür muss zuerst der Code nach Launchpad importiert werden. Dafür, jeweils den Links folgen, ein Projekt angelegen, und dann den Import erbeten. Dieser Import läuft danach automatisch, mit etwas Verzögerung, bei jeder Änderung im Github-Repo.
- Dann ein Rezept anlegen. Das ist einfach: Ein Rezept sagt einfach nur, welche bzr-branches und Repos genutzt werden sollen. Also bzr-builder installieren und eine Datei PROJEKTNAME.recipe anlegen. Die Anleitung erklärt das ganz gut, aber als Beispiel hier izulu.recipe (der debian-Ordner ist Teil des Repos):
# bzr-builder format 0.3 deb-version {debupstream}+{date}+{revno} lp:izulu
- Dies mit pbuilder testen:
bzr dailydeb --allow-fallback-to-native PROJEKTNAME.recipe working-dir sudo apt-get install pbuilder echo 'COMPONENTS="main universe multiverse restricted"' >> ~/.pbuilderrc sudo pbuilder create sudo pbuilder build working-dir/PROJEKTNAME_VERSIONSUMMER.dsc
Dabei darauf achten, dass das Target in debian/changelog identisch mit der derzeit genutzten Ubuntuversion ist. - Das Rezept musst du nun einfach im Projekt eintragen und das PPA als Ziel eingeben, sollte direkt vorgeschlagen werden.
Letzter Tipp: Stelle sicher, dass die Versionsnummer passt, sonst erst die alten Dateien aus dem PPA löschen. Bei mir war die nämlich kleiner als die des händisch gebauten im PPA, wodurch es nicht hochgeladen werden konnte. Das Uploadlog hab ich natürlich erstmal übersehen, und mich über den Fehler angesichts des einwandfrei aussehenden Buildlogs gewundert.
Das wars. Änderungen in Github werden automatisch nach Launchpad importiert, und fallls sich der Code ändert, wird täglich das .deb im PPA neu gebaut.
PPA für izulu
Es gibt nun ein PPA für izulu. Installieren des Skripts geht nun also einfach mit:
sudo add-apt-repository ppa:onli/izulu sudo apt-get update sudo apt-get install izulu
Das PPA aktualisiert sich automatisch mit der neuesten Version auf Github, der eigentlichen Projektheimat. Es sind also daily builds (bzw snapshots, weil das Skript selbst natürlich nicht kompiliert werden muss).
Der Riesensprung von wbar
Auf dem DevDiary habe ich von wbar gelesen und war ein bisschen überrascht: wbar kenne ich eigentlich, doch der Screenshot sah viel besser aus als das wbar meiner Erinnerung. Und ein Konfigurationstool, habe ich das damals übersehen? Und richtig: Als ich Simdock aufzugeben versuchte war davon nichts zu sehen.
Das liegt daran, dass die Version in Ubuntu 12.04 von 2007 ist. Wbar war wohl tot und wurde der Releaseliste zufolge 2011 wiederbelebt (das Projekt ist sogar auf Github!), und diese Version 2 ist wesentlich besser, war aber wohl für Ubuntu 12.04 zu spät.
Unter Ubuntu 12.04 ist es daher wohl am einfachsten, die Debian-Pakete für wbar und wbar-config zu installieren. in neueren Versionen ist es sicher schon in neu in den Repos. Dann wbar ausführen und das schöne neue Dock bewundern.
Leider ist das Debian-Paket natürlich nicht für Ubuntu optimiert. Doch mit der Konfiguration können die Programme halbwegs komfortabel nachgetragen werden:
Dann noch die Schrift auswechseln und vergrößern, sodass sie etwas weniger pixelig aussieht:
Und die Effekte anpassen:
Und Tada! Ein ordentlicher Simdock-Ersatz:
...dem leider noch etwas fehlt. Ich hätte gerne, dass - wie in Simdock - die Starter nach Start des Programms bei erneutem Klick das Fenster wiederaufrufen, das Dock also gleichzeitig Taskbar ist. Das kann wbar nicht. Stattdessen gibt es einen Taskbar-Modus mit separaten Icons, der aber wieder in das IceWM-Problem mit dem Hintergrund und den Schlieren rennt (und mein Bugreport bei IceWM blieb unbeachtet, ich fürchte, ich werde IceWM aufgeben müssen).
Aber auch ohne den Bug ist das unschöner als Simdocks Lösung.
Außerdem fehlt mir das Rechtsklickmenü. Zumindest Starter entfernen und hinzufügen sollte man können.
Trotzdem macht wbar in Version 2 einen hervorragenden Eindruck, Hut ab. Ich bin gespannt, was zukünftige Versionen bringen werden.
Serendipity 2.0 Beta raus - jetzt brauchen wir euch!
Nach langer Entwicklungszeit ist nun die Beta von Serendipity 2.0 erschienen. Die Ankündigung erklärt nahezu alle Änderungen, deswegen hier nur ein kurzer Überblick:
- Neues, responsives HTML5-Backend, mit vielen kleinen und größeren Verbesserungen
- Integriertes Dashboard mit Übersichts- und Komfortfunktionen
- CKeditor als WYSIWYG-Editor
- Überarbeitetes Interface für die Mediendatenbank
- Überarbeitetes Interface des Eintragseditors
- Neue Menüstruktur
- Der komplette Core von Serendipity nutzt nun Smarty, um das Backend zu erzeugen, dessen Templates sind daher nun einfach auswechselbar
Ausführlich zeigt YellowLed das im Screencast:
Eine Beta ist natürlich nichts wert ohne Tester. Daher die Bitte: Falls ihr irgendetwas wie einen Testblog habt oder einen, der mit einem guten Backup versehen ist und im Fall der Fälle etwas Downtime ertragen kann, schmeißt die Beta von Serendipity 2.0 drauf und nutzt es einfach. Wenn etwas nicht läuft oder ihr Ideen habt, was sich noch ändern soll (wir sind noch nicht fertig, bis zur stable darf sich noch was tun - auch bei den Plugins, im Core oder im Frontend), meldet es im Forum oder hier.
izulu 0.4 nun auf Github
Vielleicht erinnern sich ein-zwei Leser noch an izulu, das Bash-Skript, mit dem ich meinen Desktophintergrund der jeweiligen Wetterlage anpasse? Das werkelt seitdem friedlich vor sich hin, hat über die Jahre doch ein paar Downloads angesammelt, funktioniert nun getestetermaßen auch in Frankreich, und ich hatte erfreulicherweise wenig Anlass, daran herumzuwerkeln. Bis ich es jetzt doch mal wieder jemanden zeigte und dabei merkte, dass es inzwischen ein kleines Update gebrauchen könnte. Dieses Update in From der Version 0.4 ist nun auf Github
Die sichtbare Änderung: Die Wettervorhersage-Icons wurden mit den komplett freien meteocons ausgewechselt. Das wurde nötig weil ich kleinere Icons haben wollte, um die 5 Vorhersage-Icons (statt vorher 2) anzuzeigen.
Ansonsten habe ich die Projektstruktur geändert. Es liegt jetzt auf Github (statt auf sourceforge) und hat ein Makefile, mit der es sich einfacher auch ohne .deb installieren lassen sollte, welches dadurch später vll etwas einfacher professioneller als in einer checkinstall-Variante gebaut werden kann. Bis dahin gibt es dieses .deb natürlich immer noch.
Als kleine Nebenbemerkung: Es ist alter Code, der für mich funktioniert, aber sicher nur wenige Schönheitspreise gewinnt. Es fühlt sich daher etwas seltsam an, das so sichtbar auf Github zu haben. Was natürlich im Grunde zeigt, dass Github generell eine gute Sache ist.
Download: izulu_0.4-1_all.deb
Condoleezza Rice bei Dropbox
Eine Bush-Kriegerin für einen Posten bei Dropbox zu verpflichten ist schon ziemlich absurd. Entweder haben sie bei Dropbox völlig danebengelegen, was für Boykott-Reaktionen das auslösen würde - oder das ist ein kalkulierter Schritt, um sich von der Technikgemeinde zu lösen und sich mit einem bekannten Politikergesicht der Allgemeinheit anzunähern.
Und doch, selbst wenn es kalkuliert wäre - ich kann mir nicht vorstellen, dass das funktioniert. Es ist die eine Sache, einen Kriegsbefürwörter und Folterer in gesellschaftlich herausragende Stellung zu heben. Das geht im allgemeinen politischen Irrsinn unter. Doch jemanden, der dafür sorgte, dass UN-Mitarbeiter abgehört werden, in Verbindung mit den eigenen privaten Daten bringen? Jemanden, der ganz allgemein Teil der Bush-Regierung war, unter der die NSA ihre Abhörmaßnahmen massiv erweiterte?
Nein, ganz sicher ist das keine gute Idee. Die Bush-Regierung wird zurecht international als kriegsverbrecherisches Unrechtsregime angesehen, und kein Teil dieser Regierung sollte irgendwelche Kontrolle über wichtige Internetdienste ausüben können.
Ich habe mir zuerst ein Konto bei SpiderOak (verschlüsselte Dropbox) angelegt (Referral-Link). Macht soweit einen guten Eindruck, und ist vom Modell sowieso eine bessere Alternative. Die anderen Alternativen sind Box (mehr Speicher) und Wuala (verschlüsselt, mehr Speicher, in der Schweiz) (Referral-Link).
Edit: Jetzt habe ich noch copy.com entdeckt, unverschlüsselt, aber 15 (mit Referral-Link 20) GB Speicherplatz. Wirkt neu, aber auch nicht schlechter als die anderen.
Vielleicht hätte Ubuntu One doch im Markt bleiben sollen. Denn so richtig gut ist das alles nicht, da keiner der Clients frei ist, was meine lokale encfs-Verschlüsselung im Grunde aushebelt. Wird wohl Zeit, dass ich meinen nicht bei mir stehenden Heimserver für das Offsite-Backup auspacke. Vielleicht mit SparkleShare? Oder doch OwnCloud? Was für Alternativen unter Linux gibt es sonst noch?
Ubuntus Icons auswechseln
Normalerweise ist das ein Kinderspiel, ubuntu-tweak installieren und das andere Icon-Set (Icon-Theme) auswählen. Was aber, wenn eine eigene Desktopumgebung mit kleinem Fenstermanager benutzt wird? Dann läuft das so:
Zuerst muss das Icon-Set installiert werden. Ein Beispiel für ein nicht wirklich schlechtes ist Faenza, das aus einer Fremdquelle installiert werden kann
sudo add-apt-repository ppa:tiheum/equinox sudo apt-get update sudo apt-get install faenza-icon-theme
Die meisten der von mir genutzen Anwendungen sind GTK-Anwendungen, also muss das Icon-Set für GTK gewechselt werden. Dafür die ~/.gtkrc-2.0.mine einbinden, falls noch nicht geschehen, durch ein
include "~/.gtkrc-2.0.mine"
in der ~/.gtkrc-2.0. Dann mit einem
gtk-icon-theme-name = "Faenza"
in der ~/.gtkrc-2.0.mine das Icon-Set wählen. Schon sollte, nach einem Neustart der Anwendung, z.B. in Nautilus die neuen Icons benutzt werden.
Fallback zu Ubuntu-Humanity Icons
Faenza ist ganz hübsch, aber nicht vollständig. Um im Zweifel zu den Ubuntu-Icons zurückzufallen, muss in der /usr/share/icons/Fanza/index.theme die Inherit-Zeile geändert werden, zu:
Inherits=Humanity,gnome,hicolor
Ubuntu-Mono für die Taskbar
Die grauen Icons aus ubuntu-mono für das Tray in Unity sind nicht wirklich schlecht, und werden durch Faenza nicht genutzt. Um das zu ändern genügen zwei kleine Änderungen: In der ~/.gtkrc-2.0.mine statt Faenza ubuntu-mono(-dark) einbinden
gtk-icon-theme-name = "ubuntu-mono-dark"
und in dessen /usr/share/icons/ubuntu-mono-dark/index.theme auf Faenza verweisen
Inherits=Faenza,Humanity-Dark,gnome,hicolor
Nun haben dessen Tray-Icons Priorität, und ansonsten wird trotzdem Faenza benutzt.
Taskbar-Icons für Xfce-Programme
Der unermesslich nützliche xfce4-clipman wollte mit diesem Setup nicht richtig funktionieren. Statt ein hübsches Icon zu nutzen, zeichnete er ein schwarzes Icon ins Tray, da wird wohl hardgecodet auf ubuntu-mono reagiert, oder es fehlt ein Icon am richtigen Ort. Um das zu fixen kann ein separates xfce-icon-theme genutzt werden. Am einfachsten ist es, dafür das Paket xubuntu-artwork zu installieren. Dann kann in /usr/share/icons/ubuntu-mono-dark/index.theme auf elementary-xfce-dark verwiesen werden:
Inherits=Faenza,elementary-xfce-dark,Humanity-Dark,gnome,hicolor
Wicds Tray-Icon wechseln
Wicd ignoriert die neuen Icons fast vollständig und sein Trayicons sieht ziemlich deplatziert aus. Mit den Alternate Wicd Tray Icons lässt sich das ändern. Herunterladen, entpacken, und den Inhalt aus wicd-pale/ nach /usr/share/pixmaps/wicd/ verschieben.
Pidgins Icons wechseln
Pidgin im Standardoutfit sieht nach all diesen Iconwechseln ein bisschen schal aus für meinen Geschmack. Doch glücklicherweise kann seit einigen Versionen dessen Kontaktliste einfach durch ein Theme gewechselt werden. Gleich zwei sehen nicht schlecht aus, elementary oder MyHumanity, letzteres fand ich etwas hübscher. Herunerladen, nach ~/.purple/themes/ entpacken und unter "Werkzeuge -> Einstellungen -> Themen" auswählen.
Sylpheeds Icons wechseln
Sylpheed scheint sehr wenig Wert auf Aussehen zu legen, und ignoriert GTKs Icons auch noch vollständig. Doch seit kurzem unterstützt es Icon-Themes, ohne sie fest einkompilieren zu müssen. Dafür erstmal die neue Version herunterladen und installieren, zu diesem Zeitpunkt wäre die 3.4 wohl perfekt. Icon-Sets gibt es nicht viele, genaugenommen fand ich nur eines, das eigentlich zum Einkompilieren gedacht ist: Coonsdens Sylpheed Icon Theme. Dies also ebenfalls herunterladen und nach ~/.sylpheed-2.0/icons/ entpacken.
Da wird es zukünftig aber sicher noch zu Faenza oder Ubuntu passendere Optionen geben.