Posts mit dem Label uude-planet werden angezeigt. Alle Posts anzeigen
Posts mit dem Label uude-planet werden angezeigt. Alle Posts anzeigen

Sonntag, 19. Juli 2015

Grafikfehler auf Lenovo T450 und die passende Abhilfe

Seit ein paar Monaten nutze ich beruflich ein Lenovo T450 Thinkpad in der Varianten mit Intel Grafik (und ohne zusätzlich Nvidia Grafik).

Ubuntu 14.04 läuft darunter auch ohne Probleme, nur einen kleinen "Schönheitsfehler" gab es: nach dem Login war manchmal die Beschriftung der Symbole / Dateien auf dem Desktop unvollständig. Unvollständig heißt, dass einzelne oder ganz selten auch alle Buchstaben fehlten. Das kam bei ca. 50% der Logins vor. "Meine" Abhilfe war: abmelden, neu anmelden und alles war ok - zumindest in 95% der Fälle. Selten musst ich mich auch nochmal abmelden und einloggen, damit alles war, wie es sein sollte.

Auch mit dem oben beschriebenen Grafikfehler war das System uneingeschränkt benutzbar. Das Fehlen der Buchstaben trat z.B. auch im Menü der Systemeinstellung und in der Tab-Beschriftung des Firefox auf. Der Inhalt der Programmfenster an sich (z.B. die vom Firefox dargestellte Seite, die Liste der Lieder in Quod Libet etc.) war aber immer korrekt und fehlerlos.

Der Grafikfehler war zwar etwas nervig, aber die "Lösung" "Ausloggen, Einloggen" war so schnell und funktionierend, dass ich nie weiter für den Grund des Problems gesucht habe.

Anfang Juli hatte ich dann im Planet von ubuntuusers.de einen Beitrag des Intux-Blogs gelesen, in dem genau das gleiche Problem und eine passende Lösung für ein Thinkpad E550 beschrieben wurde.

Und das ist auch genau die Lösung, die beim Thinkpad T450 mit Intel GraKa funktioniert. Das ganze geht unter Ubuntu 14.04 in vier Schritten:
  • die Verzeichnis /etc/X11/xorg.conf.d/ anlegen
  • darin die Datei 20-intel.conf anlegen
  • die Datei mit folgendem Inhalt befüllen
    Section "Device"
       Identifier  "Intel Graphics"
       Driver      "intel"
       Option      "AccelMethod"  "uxa"
    EndSection
  • abmelden und wieder anmelden
Zumindest bei mir sind seitdem die oben beschrieben Grafikfehler nicht mehr aufgetreten.

An diese Stelle nochmal Danke an den Intux-Blog und zum Abschluss nochmal der volle Link auf den Blogartikel: http://www.intux.de/2015/07/das-thinkpad-e550-und-die-grafik/

Donnerstag, 30. Oktober 2014

Erst Upgrade, dann Neuinstallation - von Ubuntu 12.04 nach 14.04

Letztes Wochenende war es soweit: das Update von Ubuntu 12.04 auf 14.04 stand auf dem Laptop an, den ich beruflich nutze (ein Lenovo T410). Die Prozedur ist ja nicht weiter schwierig und z.B. auch im Wiki von ubuntuusers.de beschrieben.

Dank schnellem Internetzugang ging das ganze auch recht zügig von statten und das Upgrade lief problemlos und fehlerfrei durch.

Nach dem Reboot lief auch alles rund, also alles gut. Dachte ich zumindest. Beim ersten Starten von Empathy unter Trusty war die Darstellung der Chats auf die Standardansicht zurückgesetzt, besser gefällt mir aber eine andere die Darstellung.

Kein Problem, kann man ja umstellen. Nur: im Empathy-Fenster fehlte das komplette Menü "Empathy", welches auch den Menüpunkt "Einstellungen" enthält. Da ich auf meinem privaten Laptop aber schon länger Ubuntu 14.04 installiert habe war ich mir sehr sicher, dass das Menü normalerweise da ist. Hm...

Nun, es gibt schlimmeres, von daher erst Mal weiter gemacht. Aber dieses Phänomen wollte dann später doch untersucht werden. Also mal testweise den Editor "gedit" gestartet. Alle Menüpunkte vorhanden, aber im Menü "Bearbeiten" fehlte auch hier der Punkt "Einstellungen". Das gleiche auch in Rhythmbox - der Menüpunkt zum erreichen der Einstellungen fehlt ebenfalls.

Da mir so gar nicht danach war, diesen Fehler in den Untiefen des Systems zu suchen, habe ich kurzerhand die Installations-DVD heruntergeladen, die wenigen Daten, die noch nicht gesichert waren, gesichert und dann Ubuntu 14.04 neu installiert.

Das lief - wie nicht anders zu erwarten - problemlos und das neue System war jetzt wirklich einsatzbereit. Inklusive der Einstellungs-Menüs, die sind jetzt wieder vorhanden.

Die Neuinstallation ist für mich übrigens nicht weiter tragisch, da ich auf dem beruflich genutzten Laptop quasi ein "Vanilla-Ubuntu" (=keine Anpassungen) nutze. Ich habe zusätzlich nur ein paar Pakete aus den offiziellen Quellen (Apache, MySQL, CouchDB) und ein paar Python-Module installiert, sonst nichts. Und die Dateien im persönlichen Ordner (Musik, Code, Bilder, Dokumente für die Arbeit) werden so wie so regelmäßig gesichert.

Wer das gleiche Problem auch schon hatten und eine Lösung ohne Neuinstallation kennt, der kann dies gerne als Kommentar zu diesem Blogbeitrag posten.

Dienstag, 29. Oktober 2013

10 Tage Ubuntu Saucy Salamander - das 1. Fazit

Vor 10 Tagen, am 19.10.2013, habe ich meinem privaten Laptop (Lenovo R61) per Upgrade von Ubuntu 13.04 auf den aktuellen Release 13.10 "Saucy Salamander" aktualisiert.

Das Upgrade hatte ich via Aktualisierungsverwaltung angestoßen, durchgelaufen ist es ohne Probleme. Der ersten Bootvorgang lief auch reibungslos durch, genauso wie der Login.

Optisch sind die Änderung ja reichlich unspektakulär, sprich Saucy sieht Raring ziemlich ähnlich. In Sachen Nutzung ist auch erst Mal alles beim alten geblieben, jedenfalls ist mir nichts aufgefallen bei meiner "täglichen" Arbeit.

Gut, ganz problemlos war das Upgrade aber dann doch nicht. Über das Problem der nicht-automatischen Datenbankmigration von CouchDB hatte ich bereits geschrieben. Dies betrifft aber unter Strich nur die "Randgruppe" der CouchDB Nutzer.

Das größere Problem war, dass Unity anscheinend dachte, mein Laptop hätte ein amerikanisches Tastaturlayout, jedenfalls erschienen bei der Suche via Dash etc. die Zeichen nach dieser Tastaturbelegung. Eingestellt ist aber Deutsch und dieses wurde in der Systemsteuerung auch so angezeigt. Beim Login via Terminal 1 bis 6, also ohne GUI, stimmt das Tastaturlayout übrigens interessanter Weise. Abhilfe bracht, unter "Systemeinstellungen -> Sprache" den Punkt "System der Tastatureingabemethode" von "Standard" auf "Keine" umzustellen. Seitdem ist alles so, wie es sein soll.

Das zweite Problem verflüchtigte sich auch schnell: Der Laptop spielte Musik ganz normal ab, aber beim Einstöpseln von Kopfhörern blieben diese stumm, obwohl das Einstöpseln korrekt erkannt wurde. Nachdem ich eine Supportanfrage im Forum von ubuntuusers.de gestartet hatte, hatte sich das Problem aber dann erledigt. Wobei ich nichts gemacht hatte, außer einmal auf der Konsole den ALSA-Mixer zu starten. Ob das jetzt wirklich die Lösung war oder ob das System nur eine Hardware-Schluckauf hatte - keine Ahnung. Na ja, Hauptsache läuft.

Tja, und der Rest... der läuft halt so, wie es sein soll. Keinerlei Probleme mit Empathy, Shotwell oder Rhythmbox. Wobei ich das Beladen eines iPod Mini 3rd Generation mit MP3s via Rhythmbox noch nicht getestet habe. Unter Raring stürzte das Programm dabei nämlich reproduzierbar ab.

Erstes Fazit zum Upgrade auf Saucy: läuft problemlos, die kleineren Wehwehchen waren schnell behoben. Großer Änderungen gab's keine, jedenfalls keine auf dem Desktopsystem erkennbaren. Die Stabilität ist bei mir so, wie sie sein soll: stabil, keinerlei Abstürze, Crashs etc. Apport hat sich jedenfalls noch nicht gemeldet.

Saucy werde ich jetzt bis zum kommenden Release von 14.04 LTS "Trusty Tar" nutzen. Mal sehen, was das so bringt.

Samstag, 19. Oktober 2013

Probleme mit CouchDB nach Upgrade auf Ubuntu 13.10

Gestern habe ich meinen Rechner von Ubuntu 13.04 auf 13.10 aktualisiert. Das hat auch soweit ohne Probleme geklappt (und dazu gibt's noch einen separaten Blogeintrag).

Auf dem Rechner ist auch CouchDB installiert, welches ich für die Speicherung von eine paar Daten einsetzen. Im Zuge des Upgrades wurde dann auch CouchDB von Version 1.2 auf 1.4 aktualisiert.

Erste Auffälligkeit nach dem 1. Booten von Ubuntu 13.10: Im Anmeldebildschirm erscheint ein Nutzer namens "CouchDB Administrator". Einloggen kann ich mich da aber nicht (was vielleicht daran liegt, dass ich CouchDB im "Admin-Party" Modus betreibe?).

Normal eingeloggt wurden dann Futon, die HTML-basierte GUI von CouchDB aufgerufen. Nächste Auffälligkeit: Die Datenbank wurde offensichtlich nicht auf automatisch auf die Version 1.4. migriert. Dafür gibt es einen Eintrag in der DB-Liste "1.2.0/name_der_db". Kurioser Weise kann man diese DB dann aber nicht öffnen! Den Versuch quittiert CouchDB mit der Fehlermeldung:

"Error: illegal_database_name
Name: '101/eigene_caches'. Only lowercase characters (a-z), digits (0-9), and any of the characters _, $, (, ), +, -, and / are allowed. Must begin with a letter."


Aha -  da stellt sich doch die Frage, warum die DB dann so umbenannt wurde...

Also, wie an die Daten kommen? Gut, ich habe diverse Kopien der DB auf einem anderen Laptop und meinen beiden Android-Geräten, von daher kann ich ein wenig entspannt experimentieren. Ein simples Kopieren der Datenbank-Datei und zugehörigen Views in Datenverzeichnis funktioniert nicht, CouchDB erkennt die Daten nicht als DB-Dateien.

Die Replikation von MobileFuton 1.2 (=CouchDB für Android) funktioniert ohne Problem. Die Daten sind jetzt wieder da.

Fazit: wer auch CouchDB unter Ubuntu nutzt und das Upgrade von 13.04 auf 13.10 macht - stellt vorher sicher, dass ihr eine aktuelle Sicherung der Datenbank habt bzw. repliziert das Datenbank(en) vorher auf ein anderes Gerät.

In der Doku von CouchDB habe ich keine Hinweise zu diesem Verhalten gefunden. Lediglich im Bugtracker von Debian gibt es einen Bugreport, dass die "database migration should be automatic" sein sollte (Link zum Bugreport).

Wer ähnliche Probleme hatte oder eine andere Lösung hat kann dies gerne in den Kommentaren zu diesem Blogeintrag posten.

Freitag, 26. April 2013

Raring Ringtail - der erste Kontakt

Gestern, am 25.4.2013, ist wie geplant die neue Ubuntu Version 13.04 mit dem Namen "Raring Ringtail" erschienen.

Heute habe ich dann meinen privaten Laptop upgegraded (der Laptop, den ich auch beruflich nutzte, läuft immer "nur" auf LTS-Versionen). Das Upgrade über die graphische Paketverwaltung lief völlig problemlos durch, keine Probleme hier.

Nach dem ersten Start präsentiert sich Raring Ringtail erst Mal unspektakulär, keine großen optischen Änderungen - aber eine Reihe von kleinen. Nautilus heißt jetzt "Dateien" und hat ein neues Icon im Starter. Ubuntu One hat ein eigenes Icon (natürlich eine Wolke) in der Indicator-Liste. Aus Rhythmbox, dem Standardaudioplayer von Ubuntu, wurde jetzt nach Amazon auch der Ubuntu One Shop entfernt. Dieser ist via Ubuntu One aber natürlich noch verfügbar.

Diverse Programme wurden aktualisiert, aber - ebenso wie die Optik - alles unspektakulär. Jedenfalls das, was ich bis jetzt gesehen habe.

Mit einer Ausnahme: Nautilus. Hier gab es im Vorfeld wohl diverse Diskussionen bei Canonical, ob man in Ubuntu 13.04 die aktuelle Version von Nautilus 3.6.x einbauen soll, oder bei 3.4.x, welche in Ubuntu 12.10 enthalten ist, bleiben soll. Grund: Die Entwickler von Nautilus haben mit der Version 3.6 den Funktionsumfang deutlich reduziert.

Erster Eindruck, nach 10 min probieren und geklicke in "Dateien": ganz übel, im Sinne von übler Rückschritt! Jetzt habe ich Nautilus mit Sicherheit nicht bis in letzte ausgenutzt, aber es selbst für mich auffällig, dass hier an einigen Stellen stark gekürzt wurde.
Am "schlimmsten" finde ich, dass die Zwei-Spalten Ansicht komplett entfallen ist. Das macht das Hin- und Her-Kopieren von Dateien zwischen zwei Verzeichnissen oder Laufwerken unnötig aufwendig. Entweder muss man wieder mit Copy&Paste arbeiten oder mit zwei Fenstern von Nautilus.
Weiterhin wurden die Menüs ziemlich drastisch reduziert. Es gibt nur noch ein Menü mit den wichtigsten Punkten ("mit Server verbinden", "Orte eingeben", "Lesezeichen" und "Einstellungen"), alles andere ist nur noch via Rechtsklick aufrufbar.
Auch wenn ich bisher Ubuntu quasi nur in der out-of-the-box Installation genutzt habe muss ich mal schauen, ob mittelfristig bei mir nicht doch ein anderer Dateimanager Einzug halten wird...

"Lohnt" sich jetzt das Update auf Raring? Sagen wir so: Es gibt zwar keinen entscheidenden Grund, von Quantal auf Raring upzugraden - aber auch sicherlich keinen, es nicht zu tun. Zumal Ubuntu ja auch immer nur das Upgrade auf die unmittelbar folgende Version zulässt (und von LTS auf LTS),  so dass man für ein späteres Upgrade auf Saucy so wie so Raring installiert haben muss.

Ach ja: Der Support für Raring endet nach nur noch 9 Monaten, also Ende Januar 2014 - vor dem nächsten LTS-Release. Wer also auf Raring aktualisiert wird um ein späteres Upgrade auf Saucy nicht umhinkommen, sofern er nicht drei Monate ohne Support auskommen will.




Samstag, 16. Februar 2013

Ubuntu bootet nicht mehr nach Einsatz von Knoppix vom USB-Stick?!?

Eine Geschichte aus dem wahren Leben, soeben erlebt: Ich habe die Knoppix-Version auf meinem Live USB-Stick aktualisiert. Den brauche ich zwar quasi nie, aber besser einen bereit haben. Also Knoppix 7.0.5 als ISO-Image heruntergeladen, Unetbootin aus den Quellen installiert und damit auf den Stick gespielt.

Der 1. Test: Knoppix bleibt ziemlich zu Beginn hängen ("unpacking kernel" oder so). Gut, nicht schlimm, Fehlersuche kann ich die Tage machen. Beim Reboot von Ubuntu startet GRUB2 normal - nur bliebt Ubuntu (12.10) auch direkt zu Beginn des Bootens hängen. Die letzte Bootmeldung war was mit "ACPI" nach ca. 0,2 s Bootzeit. Hm... Bis dahin sind alle *buntus auf dem Rechner immer sauber gestartet. Beim Booten von Ubuntu mit dem Bootparameter acpi=off startet und läuft das System dann ohne Probleme. Auch wenn ich keinen direkten Zusammenhang gesehen habe, hatte ich Unetbootin und die installierten Abhängigkeiten im Verdacht. Also alles via apt-get purge ... von der Platte gebannt und neu gestartet. Funktioniert, auch ohne Boot-Parameter. So weit, so gut.

Dann noch Mal rein Interesse halber Knoppix vom Stick gestartet. Bleibt immer noch hängen. Egal, Ubuntu wieder gestartet und: GRUB-Menü kommt, aber Ubuntu startet nicht. Gleiches Fehlerbild wie beschrieben. Und mit acpi=off funktioniert es (wieder).

Und um das ganze noch seltsamer zu machen: Beim nächsten Reboot (also nach einem mit dem acpi Bootparameter) startet Ubuntu auch wieder normal.

Wie gesagt: ich habe keine Ahnung, was da passiert und wo die Zusammenhänge sind. An Knoppix an sich kann es eigentlich nicht liegen, weil außer, dass das Bootmenü vom Stick geladen wird, macht Knoppix eigentlich nichts. Und an Ubuntu an sich habe ich auch nichts gemacht, außer gebootet, eingeloggt und dann wieder gebootet.

Wer also eine Idee oder Erklärung dafür hat darf diese gerne in den Kommentaren Kund tun :-)

Update 16.2.: Ubuntu bootet doch nicht ohne Probleme. Mal funktioniert es ohne Bootparameter, mal nicht. Habe jetzt acpi=off fest hinterlegt. Dafür fährt das System jetzt zwar sauber runter, aber der Rechner schaltet sich nicht ab..

Update 24.2.: Geht wieder... Nachdem ich das Bios auf die Default-Werte zurück gesetzt habe funktioniert wieder alles. Wobei ich vorher jahrelang nichts im Bios umgestellt habe... Was mich jetzt noch interessieren würde: Woran lag's? Werde ich wahrscheinlich nie herausfinden...
 

Montag, 21. Januar 2013

Das 1. Softwareprojekt: ein paar Erfahrungen

Anfang Dezember 2012 habe ich mich dazu entschieden, mein erstes Softwareprojekt zu starten, welches ich der Öffentlichkeit zugänglich mache. Zwar habe ich vorher schon ein paar "mittelgroße" Sachen programmiert, das sind aber alles Webapplikation, welche im Intranet der Firma laufen und das Arbeitsleben für meine Kollegen und mich vereinfachen.

Das neue Projekt Namens "pygcstats" ist zwar öffentlich, ist aber nur nützlich für Leute, welche Geocaching betreiben, bei geocaching.com registriert sind und dort einen Premium-Account haben (sonst kommt man nicht an die Daten, die pygcstats auswertet). Gut, das sind weltweit geschätzt ca. immer noch 3 - 3,5 Millionen potentielle Nutzer... Programmiersprache der Wahl ist wie immer bei mir Python.

Aber um das Programm an sich geht es gar nicht, sondern eher, was ich bis jetzt bei dem Projekt generell gelernt habe:
  • Nutze ein Versionskontrollsystem: Zu Beginn habe ich noch ohne programmiert, aber spätestens dann, wenn man veröffentlichen will und ggf. zusätzlich zum Release einen Entwicklungszweig hat, kommt man nicht ohne aus. Und auch wenn moderne VCS nicht wirklich schwer zu verstehen braucht es ein bisschen Einarbeitungszeit. Besonders dann, wenn man zum ersten Mal einen Branch erstellen, nutzen und veröffentlichen will. In meinem Fall bestand das "learning by doing" zum Glück "nur" aus einem falsch ausgeführten Push ins Repositry auf Launchpad. Der ließ sich aber problemlos rückgängig machen.
  • Beschäftige dich mit der Plattform, die den Code hostet: Wie weiter oben bereits erwähnt nutze ich Launchpad als Plattform und Bazaar als VCS. Aus zwei ziemlich platten Gründen: Zum einem, weil ich eh' einen Account bei launchpad.net habe, zum anderen, weil ich die Doku im Wiki bei ubuntuusers.de zu Bazaar ziemlich kompakt und gut verständlich finde. Was auch schön ist: bei Launchpad kann man ziemlich viel über die Weboberfläche konfigurieren. Aber: auch das kostet Zeit, besonders am Anfang, wenn man noch nicht weiß, wo was ist. Inzwischen geht alles ganz flüssig.
  • Doku schreiben kostet Zeit: gute Software mit schlechter Doku (oder keiner Doku) ist keine gute Software. Von daher habe ich von Anfang an Wert auf Doku gelegt. Sowohl in Form von Anleitungen für die Nutzer als auch in Form von Docstrings im Quelltext. Einen großen Teil der Nutzerdoku habe ich erst in Englisch und dann noch in Deutsch geschrieben. Ich habe zwar nicht die Zeit genau gemessen, aber ich würde schätzen, dass mindestens 1/3 der Gesamtarbeitszeit des Projekts bis jetzt für Dokumentation aufgewendet wurde.
  • Halte dich von Anfang an an die PEP8: Die PEP8 ist der allgemein akzeptierte Code Style Guide für Python. Dieser war mir zwar geläufig, aber nicht in allen Details. Na ja, jedenfalls waren die ersten Ausgaben des PEP8 Checkers für meinen Code ziemlich lang, was die Fehler anging. Der größte Teil waren Leerzeichen in Leerzeilen oder am Zeilenende. Nicht tragisch, aber trotzdem kostet es Zeit, diese alle zu eliminieren. Also lieber direkt beim coden darauf achten direkt löschen bzw. erst gar keine "entstehen" lassen.
Rückblickend würde ich zwar nicht sagen, dass ich etwas wirklich falsch gemacht habe, aber man hätte Sachen besser machen können. In erster Linie wäre das, sich vorab mit der Plattform und dem VCS seiner Wahl zu beschäftigen. Dann hat man im laufenden Projekt mehr Zeit, auf die Programmierung und das Testen zu fokusieren.
Und, der Tipp / Hinweis an alle: unterschätzt nicht den Zeitaufwand, den eine gute / ausführliche Doku braucht.

Ach ja: den ersten "öffentlichen" Release der Software gab's übrigens vor ein paar Tagen.

Freitag, 21. Dezember 2012

Das ist es wieder... Synaptic

Ich habe in der Vergangenheit schon mehrfach erwähnt, dass das Software-Center und ich nicht die besten Freunde sind. Seit ein paar Tagen ist es auch wieder soweit: Synaptic ist zurück auf dem System.

Der Grund war gar nicht unbedingt, dass ich mit Synaptic besser Software nachinstallieren kann (macht ich so oder so kaum), sondern das man mit Synaptic viel besser und umfangreicher Infos zu den Paketen bekommt.

Für den Wikiartikel zu den Unity Lenses braucht ich ein paar Infos, die in der Paketbeschreibung drin sind. Im Software-Center habe ich diese nur teilweise gefunden. Unter Synaptic war alles schön übersichtlich aufbereitet.

Klar, man kann auch im Terminal ein "apt-cache show PAKETNAME" eingegeben und bekommt die Info auch. Aber gerade wenn man Infos zu mehreren Paketen braucht ist die kombinierte tabellarischen und Reiter-Darstellung von Synaptic übersichtlicher und kompakter.

Zur Ehrenrettung des Software-Centers muss man vielleicht noch dazu sagen, dass das Software-Center (bewußt?) nicht für diese technischen Dinge konzipiert ist. Es ist wohl eher für die einfache Installation von Software (sowohl aus den Quellen als kommerziell) ausgelegt und von Konzept und Bedienung an die gängigen App-Stores für Smartphones und Tablets angelehnt.

Na ja, jedenfalls ist nach Synaptic dann wieder zurück gekehrt. Und das nach nur ca. 8 Wochen Abwesenheit (vor 8 Wochen habe ich den letzten Rechner von mir mit GUI von 10.04 LTS aus 12.04 LTS aktualisiert).

Montag, 22. Oktober 2012

Canonical das Root-Recht entziehen - Kommentar zum Editorial LinuxUser 11.2012

"Auf meinen Rechnern jedenfalls entziehe ich Canonical das Root-Recht, ein für allemal". So lautet der letzte Satz des Editorials von Jörg Luther, seines Zeichens Chefredakteur des LinuxUser Magazins. Das komplette Editorial kann man online im Internet nachlesen: Link. In diesem besagten Editorial schießt Herr Luther ziemlich scharf gegen Ubuntu bzw. im Detail gegen die Unity Shopping Lens und den Umgang mit Kritik seitens Canonical zur selbigen.

Ich weiß nicht, wie andere das Empfinden, aber nach meinem Empfinden neigt Herr Luther in seinen Editorialen zu übertrieben negativen und stark polarisierenden Sichtweisen. Die Editorale seines Kollegen Jan Kleinert, Chefredakteur des Linux Magazins, gefallen mir stilistisch da deutlich besser - aber das ist ein anderes Thema. Also, Herr Luther schießt scharf gegen Canonical und Mark Shuttelworth. Das ist durchaus legitim - und in Editorialen auch nicht unüblich - schließlich stellt es seine persönliche Meinung dar.

Meckern kann jeder, Konsequenzen daraus ziehen und Dinge besser machen nicht. Eine Konsequenz von Herrn Luther leitet sich aus dem letzten Satz des Editorials ab, welcher auch oben zitiert ist: Ubuntu-freie Rechner. Kontrollieren kann das der Leser so oder so nicht, aber ich glaube ihm das Mal. Nun, reicht das? Liest man das Editorial würde ich sagen: nein, reicht nicht. Schließlich wirft er Canonical mangelnden Schutz der Privatsphäre der Nutzer vor und bezeichnet das "wie" des Umgang mit Kritikern zum diesem Thema als "bodenlose Frechheit". Da wäre es doch z.B. nur konsequent, die Leser von LinuxUser zu schützen und bei zukünftigen Ausgabe keine Ubuntu-Version auf CD oder DVD beizulegen. Wer will wissentlich Software verbreiten, die die Privätsphäre untergräbt? Ich werde das dann mal beobachten. Oder vielleicht überwiegt dann doch der Kommerz-Gedanken - LinuxUser bezahlt sich ja auch nicht von selbst - und es liegt Ubuntu bei. Trotz Kritik "zieht" Ubuntu immer noch und ist ziemlich populär.

Ein bisschen blöd ist natürlich für Herrn Luther vielleicht auch, dass es im gleichen Verlag ein Magazin Names "Ubuntu User" gibt, welches allein wegen der Existenz Ubuntus Geld verdient. Na ja, vielleicht entzieht Herr Luther den Redakteuren ja das Zugangsrecht zu seinem Büro? Nein, wohl kaum. Die können ja nichts dafür, was Canonical veranstaltet. Und jeder darf ja nach wie vor "seine" Linux-Distribution wählen. Und wer Ubuntu nicht will - so wie Herr Luther - der hat bekanntlich reichlich Alternativen. Auch ohne, dass jemand Disto-Bashing betreibt.

Sonntag, 21. Oktober 2012

Upgrade auf Ubuntu 12.10

Heute morgen habe ich den 1. Rechner von Ubuntu 12.04 auf 12.10 upgegradet. Der gewählte Weg war die Softwareaktualisierung. Also erst Mal die "Neue Version" Benachrichtigung auf "alle" (statt nur LTS) umgestellt und los geht's. Gut, bei nur DSL1000 dauert der Download halt ein wenig...

Da ich nur sehr wenig zusätzliche Software außer der der Standardinstallation drauf habe - und wenn dann aus den offiziellen Quellen - lief das Upgrade auf Quantal ohne Probleme durch.

Dann kam ein immer noch spannender Moment: der 1. Start. Im GRUB2 Menü steht nur noch "Ubuntu", ohne Angabe der Kernel-Version. Nicht schlimm, mal sehen was da steht, wenn mehr als ein Kernel installiert ist. Beim Login-Bildschirm gibt's einen neuen Punkt, über den man sich auf entfernten Rechner via RDP anmelden kann. Werde ich bei Gelegenheit mal mit dem 2. Rechner testen. Wer jetzt mehr wissen möchte gibt am besten in der Suchmaschine seiner Wahl als Suchbegriff "ubuntu 12.10 remote login" ein.

Optik hat sich leicht geändert, aber das ist mir ziemlich gleich. Was direkt ins Auge fällt: zwei neue Icons im Starter. Eins für Amazon, eins für das Ubuntu One Music Store. Beides sind WebApps. Beide grundsätzlich nicht verkehrt, aber nix, was ich im Starter brauche. Also gerade gelöscht.

Als nächstes dann mal das viel und heiß diskutierte Thema angeschaut: Unity Shopping Lens. Funktioniert ;-) und sogar ziemlich flott. Was das jetzt bringen soll (mal völlig unabhängig davon, ob irgendwer dafür Geld bekommt) weiß ich nicht. Wenn ich was Suche, dann gehe ich direkt zu Amazon. Gibt ja auch eine Webapp... Na ja, da ich aber relativ wenig über Dash startet bleibt's erst Mal aktiv.

Unter Ubuntu 12.04 war Rhythmbox ja ein echtes Problemkind. Die Situation hat sich inzwischen ein bisschen geändert: Eine funktionierende Amazon Integration gibt's so oder so nicht mehr und der iPod weicht demnächsten einem Samsung Galaxy. Bleibt also nur noch das Thema CD-Rippen, welches unter 12.04 nicht funktioniert. Unter 12.10 zeigte ein 1. schneller Test, dass es funktioniert. Sehr schön.

Ansonsten ist das Systemmenü (das rechts oben über das "Zahnrad"-Symbol erreichbar ist) aufgeräumt und ist meines Erachtens besser strukturiert. Allerdings ist die Aktualisierungs-Verwaltung nicht mehr enthalten? Warum auch immer. Diese ist aber nach wie vor über das Dash erreichbar.

Alles anderen, was ich so nutze, funktioniert auch ohne Probleme (Shotwell, Emphathy).

Alles in allem würde ich sagen war das - zumindest bei mir - eines der problemlosesten Distribution-Upgades, die ich bisher mit Ubuntu gemacht habe.

Montag, 1. Oktober 2012

Wieder den Audioplayer wechseln - Dank Amazon?

Im April diesen Jahres hatte ich hier im Blog geschrieben, dass ich aufgrund diverser Enttäuschungen mit Rhythmbox wieder zu Banshee gewechselt bin (Link zum Artikel). Nun, es steht vielleicht wieder ein Wechsel an. Wobei ich das eigentlich gar nicht will - ich mag eher Systeme, die out-of-the-box laufen.

Banshee an sich kann noch nicht mal was dafür, dass ich wechsele. Banshee an sich ist ok - macht das, was es soll. Der Grund ist  vielmehr, dass Amazon den MP3-Shop geändert hat, so dass der Download via Banshee Plugin nicht mehr funktioniert.

Bis Ende September hat das so funktioniert: Das Plugin in der Menüleiste links wählen, gewünschtes Album / Lied / ... suchen und kaufen. Dann startet der Download und die Titel sind in der Bibliothek. Schön einfach. Seit der Umstellung funktioniert das alles auch bis nach dem Kauf. Dann passiert... nix. Neu ist der Hinweis auf den "Amazon Cloud Player". Wenn man den Download dort aus Banshee heraus starten will erhält man ein lapidares Hinweisfenster, dass das Herunterladen von mehreren Dateien unter Linux nicht mehr unterstützt wird. Wohlgemerkt, nachdem man den Kauf getätigt hat. Warum der Hinweis erst dann kommt ist im Moment das Geheimnis von Amazon. Frech ist das aber schon.

Gut, die Dateien - und das Geld - sind natürlich nicht weg. Wenn man via Browser auf die Amazon-Seite geht, sich einloggt und dann den Cloud Player ansteuert, kann man die Dateien herunterladen. Aber nur einzeln. Es ist wie ein "normaler" Dateidownload. Null Integration in den Audioplayer, bzw. Banshee. Alternative Workarounds findet man auch in diesem Thread im Forum von ubuntuusers.de .

Klar ist eine Alternative zu Amazon das Ubuntu One Store. Nur: Das hat (keine mir bekannte) Integration in Banshee unter Ubuntu 12.04. Und ist nun mal schlechter bestückt als Amazon.

Also, was tun? Wieder CDs kaufen? Dauerhaft keine echte Alternative ;-) Im Moment sieht es wohl eher so aus: Rhythmbox für Einkäufe im Ubuntu One Store, Amazon "wie früher" über den Browser - und was als Audioplayer? Ein heißer Kandidat ist Quod Libet.  Nutze ich auch unter Windows (wenn ich's mal benutze) und meiner "mal schnell was Testen" Installation von Ubuntu 12.04. Oder vielleicht funktioniert Rhytmbox unter Quantal wieder ootb so, wie es funktionieren soll...

Donnerstag, 13. September 2012

U1DB

U1DB ist Canonicals neue Datenbank zum Speichern und Synchroniseren von Daten. Synchronisieren heißt hier, dass "Desktop Daten" wie z.B. Kontaktdaten aus dem E-Mail Programm oder Kalenderdaten zwischen verschiedenen Rechner - und auch einem Serverdienst wie z.B. UbuntuOne - abgeglichen werden können. Wobei U1DB an sich die API beschreibt, und nicht die Datenbank selber.

Solche Dienste gibt es aber bekanntlich bereits - wozu programmiert Canonical also an einer eigenen Lösungen (die übrigens von Anfang an OpenSource ist und unter GNU LGPL v3 Lizenz steht)? Nun, neu ist die Synchronisation unter Ubuntu nicht. Genau genommen gibt es die schon länger, U1DB ist aber der 2. Anlauf. Grund: der 1. ist zwar nicht gescheitert, wurde aber wegen Problemen aufgegeben. Die 1. Variante setzte auch CouchDB als Datenbank-Server und lokal auf Desktopcouch. Dieser Ansatz war auch komplett in die Ubuntu Desktop Installationen integriert, wurde dann aber nach dem Release von Ubuntu 11.10 als "Auslaufmodell" deklariert, weil es bei Canonical zu Skalierungsproblemen mit CouchDB kam, die sich wohl nicht lösen ließen (wer darüber mehr erfahren möchte sollte einfach "ubuntu couchdb" als Suchbegriff in die Suchmaschine seiner Wahl eingeben). Der Nachfolger, und damit 2. Anlauf, ist jetzt U1DB. In Ubuntu 12.04 LTS konnte die Lösung noch nicht intergriert werden, dazu war die Zeit zu knapp. Für den kommenden Ubuntu Release 12.10 gibt es wohl eine Intergration, jedenfalls gibt es bereits fertige Pakete in den offiziellen Quellen.

Was heißt das jetzt für den Desktop-Nutzer? Nun, erst Mal nichts, da die Synchronisation der Daten transparent erfolgt, d.h. man selber hat keinen direkten Kontakt zu U1DB. Interessanter sind da schon die Pläne von Canonical, was die Integration in andere Betriebssysteme angeht. Diese sind nämlich recht ehrgeizig. U1DB soll - früher oder später - für alle gängigen Systeme verfügbar sein, also neben Linux auch MacOS, Windows, Android, iOS und eine Web-Schnittstelle. Dazu soll U1DB in Python, C, Vala, Go, C, C#, Objective C, Java und JavaScript umgesetzt werden. Die Implementierung in Python und C läuft, der aktuelle Release (Stand: 13.9.2012) ist 0.1.3. An der Vala und Go Umsetzung wird gearbeitet, es gibt aber noch keine Releases.

Schaut man in die API und Technik von U1DB, gibt es eine Reihe von Ähnlichkeiten mit CouchDB. Die Datenbank speichert text-basierte Daten im JSON-Format (ebenso wie CouchDB) - und ist alleine darauf ausgelegt. Binäre Daten (wie z.B. Bilder, Musik etc.) können nicht gespeichert werden. Des Weiteren beherrscht U1DB Mehrwege-Replikation inklusive Konfliktmanagement zwischen Datenbanken / Servern. Ein Feature, das CouchDB ebenfalls besitzt. Scheinbar war man bei Canonical mit der Funktionalität von CouchDB zufrieden und hat sich an diese angelehnt, wobei es keinerlei Kompatibilität gibt.

Als Speicher setzt U1DB lokal auf den meisten Plattformen auf die SQLite Datenbank. Was in sofern auch Sinn macht, als das Python, Android und iOS diese direkt mit an Bord haben. Auf der Projektseite wird aber betont, dass auch andere Datenbanken als Backend möglich sind. Die Go-Implementierung soll z.B. auf MongoDB setzen und auch über das Internet zugängliche U1DB-Server werden wohl eher auf MySQL und andere skalierbare Datenbanken setzen als auf SQLite.

Wie bereits erwähnt ist bisher "nur" die Python-Implementierung (mit in C geschriebenen Teilen fertig). Dies ist auch die Referenz-Implementierung. Wer sich also mit der API beschäftigen möchte, der sollte darauf zurück greifen. Das Python-Modul heißt einfach "u1db" und lässt sich auf bekanntem Wege via pip oder easy_install installieren. Übrigens ist U1DB für Python-Programmierer auch außerhalb von Ubuntu interessant, wenn eine einfache API zur persistenten Speicherung und Indizierung von JSON-Daten gesucht wird.

Zurück zu Ubuntu: U1DB wird unter Ubuntu sicherlich der kommende Standard zur Synchronisation von Daten. Wie gesagt, für den Nutzer transparent. Da sich U1DB noch in einem frühen Entwicklungsstadium befindet ist im Moment offen, wenn die API als stabil deklariert wird und die volle Integration in den Desktop abgeschlossen ist.

Mittwoch, 6. Juni 2012

Ubuntu Softwarecenter und die Suchfunktion

Das die Suchfunktion für Programme (und Paketen) im Softwarecenter von Ubuntu "bescheiden" ist, habe ich schon öfters in Blogeinträgen erwähnt.

Nun, ich möchte mich korrigieren: Die Suchfunktion ist schlecht. Schlecht in sofern, dass die Treffer für Suchbegriffe Ergebnisse liefern, welche schlichtweg nicht die Pakete bzw. Programme enthalten, die man eigentlich erwartet oder erwarten würde.

Dazu ein aktuelles Beispiel aus jüngster Erfahrung: Ich wollte unter Ubuntu 12.04 Precise Prolog installieren (nein, ich kann kein Prolog, ich wollte lediglich ein Prolog-Programm testen, welches ich in einem Buch gesehen hatte). Gibt man nun im Softwarecenter den Suchbegriff "Prolog" ein, erhält man zwei Treffer: Einen Editor namens "jedit" und für ein 2D-Zeichenprogramm namens "TGif" (was immer das mit Prolog zu tun hat...). Weit und breit kein Prolog-Compiler zu sehen... Gut, es könnte natürlich sein, dass es kein Prolog für Precise gibt, was aber aufgrund der Paketvielfalt unter Ubuntu relativ unwahrscheinlich ist. Außerdem ist Prolog ein etablierte Programmiersprache und sollte von daher vorhanden sein.

Nun ist mein Wissen um Prolog relativ klein. Ich weiß, dass es verschiedene Prolog-Compiler gibt, mehr aber nicht. Also habe ich die Paketsuche von packages.ubuntu.com besucht und hier auch den Suchbegriff "Prolog" eingeben. Erster Treffer: Das Paket "gprolog", welches den GNU Prolog Compiler enthält. Gibt man den Suchbegriff in Synaptic ein, findet man neben gprolog auch noch einen anderen Prolog-Compiler. Gibt man übrigens "GNU Prolog" als Suchbegriff im Softwarecenter ein, dann findet es auch den gleichnamige Compiler - was aber im Umkehrschluss für eine erfolgreiche Suche voraussetzt, dass der Suchende weiß, dass es GNU Prolog gibt.

Aber warum klappt das mit der Suche denn nicht im Softwarecenter? Ich habe ja überhaupt kein Problem damit, dass Canonical das Softwarecenter auch als Vertriebsplattform für kommerzielle Software und ähnliches nutzt und die Startansicht des Softwarecenters Werbung dafür enthält. Nur: Solange hier keine brauchbaren Ergebnisse für (triviale) Suchanfragen nach "normalen" Programmen geliefert werden, ist das Softwarecenter für mich kein vernünftiger Ersatz für andere grafische Paketmanager wie Synaptic & Co.

Montag, 23. April 2012

Rhytmbox in Precise und die Enttäuschung

Ich fange mal damit an, mich selbst zu zitieren:

> Als Mediaplayer ist Rhythmbox wieder zurück, was ich persönlich gut finden, weil Rhythmbox mir besser gefällt als Banshee. 
(Quelle)

Nun, ich muss das korrigieren: Ich bin von Rhythmbox in Precise enttäuscht und habe mir dann doch Banshee wieder nachinstalliert.

Gut, als Player an sich funtkioniert Rythmbox natürlich einwandfrei - aber das ist ja auch keine Kunst. Es gibt drei Sachen, die mich wirklich stören, wovon die dritte aber nicht so schlimm ist:

1) iPod läßt sich nicht mit Musik beladen: Mein iPod Nano 3rd Generation (also schon ein paar Jahre alt) läßt sich nicht mit Musik beladen. Das hat bisher, also bis Oneiric, ohne Probleme per Drag'n'Drop funktioniert. Unter Precise nicht. Lustigerweise funktioniert das ganze auf dem gleichen Rechner im gleichen Ubuntu (also mit den gleichen Bibliotheken) aus Banshee heraus nach wie vor ohne Probleme.

2) CDs rippen: Gestern habe ich eine gekaufte CD gerippt, ins MP3-Format. Mal abgesehen davon, dass es lange gedauert hat, ware die Kopie falsch. Falsch im Sinne von, dass die MP3s viel zu lang waren! D.h. das z.B. ein 6 Minuten Lied auf der CD als MP3 23 Minuten oder so hatte, halt mit Leerraum am Ende. Sehr seltsame Sache... Aber wieder: gleicher Rechner, gleiches System mit Banshee - funktioniert ohne Probleme.
Edit 24.4.2012: Von einem Leser habe ich den Hinweis erhalten, dass das Problem mit der falschen Liedlänge daran liegen könnte, dass Rhytmbox mit variabler Bitrate (VBR) rippt und dann bei Analysieren der MP3-Datei die Länge falsch berechnet. Könnte sein, nur leider ist unter Precise auch die Schaltfläche für die Einstellungen des MP3-Rippers deaktiviert, so dass hier keinerlei Änderungen möglich sind. Abgesehen davon funktioniert VBR unter Precise plus Banshee einwandfrei und auch ältere MP3s, welche auf anderen System erstellt wurden, auch einwandfrei.

3) Der dritte Punkt ist das nach wie vor fehlende Amazon Plugin für Rhythmbox. Banshee hat's nach wie vor an Bord. Aber, wie gesagt, Punkt 1 und 2 sind schwerwiegender.

Ich will damit nicht sagen, dass Banshee der bessere Player ist. Aber: so wie Rhythmbox in Precise funktioniert ist es für mich nicht wirklich akzeptabel und brauchbar. Vielleicht wird das ganze in den kommenden Wochen per Update noch nachgebessert - was ich persönlich aber (leider) bezweifle.

Dienstag, 13. März 2012

Erster Kontakt: Ubuntu 12.04 und ich

Am Wochenende habe ich auf eine freie Partition auf meinem Lenovo T410 Laptop Ubuntu 12.04 LTS Precise Beta 1 installiert. Normalerweise schaue ich auf neue Ubuntu-Releases erst ab dem Beta 2 (früher Release Candidate). Da aber diverse Blogeinträge dem Beta 1 (und auch schon dem Alpha 2) eine brauchbare Nutzbarkeit und Stabilität bestätigt haben, habe ich es auch mal installiert. Im folgenden nun mein erster Eindruck nach ca. 1h Nutzung.

Und der erste Eindruck ist: unspektakulär. Im positiven Sinne. Wer mit Ubuntu 11.10 Oneiric klar kommt, der sollte auch mit Precise klar kommen. Jedenfalls habe ich (noch?) keine gravierenden Änderungen gefunden. Ein neuer Punkt ist, dass man unter "Systemeinstellungen -> Privacy" einstellen kann, welche Aktivitäten Zeitgeist verfolgen soll - oder eben nicht. Zu HUD kann ich noch nichts sagen, weil habe ich noch nicht mit rumgespielt.

Firefox ist in der aktuellsten Version 11.0 an Bord. Als Mediaplayer ist Rhythmbox wieder zurück, was ich persönlich gut finden, weil Rhythmbox mir besser gefällt als Banshee. Angeblich soll auch noch die Amazon-Integration in den Mediaplayer kommen, im aktuellen Beta 1 konnte ich aber bis jetzt kein passendes Plugin finden... Gut, kommt vielleicht (hoffentlich) noch.

Gimp ist im Beta 1 auch wieder drin. Da das Beta 1 auch nicht mehr auf eine CD passt, sondern eine DVD benötigt (Größe des Images ca. 1,5 GB) musste Canonical wohl nicht am Platz sparen... ;-)

Auf dem besagten Lenovo T410 mit Intel Chipsatz und Intel GraKa funktioniert der Ruhezustand out-of-the-box, was aber auch schon bei älteren Ubuntu-Versionen der Fall war. Was nur halb funktioniert ist das koppeln eines Nokia C06 via Bluetooth. Das Koppeln an sich klappt zwar und man kann Daten von Rechner ans Handy senden, aber nicht umgekehrt bzw. der Laptop kann nicht aufs Handy zugreifen. Hier sei aber gesagt, dass (leider) Lucid die letzte Ubuntu-Version war, wo dies bei mir einwandfrei geklappt hat.

Was noch geändert ist, ist, dass beim Öffnen des Dash keinerlei Anwendungen mehr angezeigt werden. Es wird also nicht mehr, wie noch unter Oneiric, die Menüstruktur der Gnome-Menüs nachgestellt. Ob das jetzt wirklich schlau ist weiß ich noch nicht. Gut, für Anwender mit Erfahrung kein Problem, die Wissen, was auf dem System ist. Für komplette Neueinsteiger, die keine Ahnung von Ubuntu und den installierten Programmen haben, mag das aber verwirrend sein. Tipp: Wenn man nur "a" als Suchbegriff eingibt erscheinen alle Anwendungen.

Erstes Fazit: Ubuntu 12.04 Precise ist eine solide Weiterentwicklung der Linux-Distribution, ohne offensichtliche Highlights und auch ohne offensichtliche Schwächen. Das Beta 1 läuft gut und kann (in meinen Augen) zumindest privat oder als Zweitsystem ohne Probleme jetzt schon genutzt werden.


Montag, 12. März 2012

Windows, Trojaner, Linux und was man wirklich braucht

Es ist passiert.

Ich nutze Windows seit Win95, also seit ca. 17 Jahren. In den letzten Jahren privat zwar kaum noch, aber weder beruflich noch privat hatte ich je ernste Probleme damit.

Seit vorgestern ist das anders, weil sich beim Surfen via Firefox 10.x unter WinXP ein Trojaner auf mein System geschlichen hat. Der AVG Virenscanner erkennt diesen als "generic27.pn". Nur kann der AVG Scanner den Schädling nicht entfernen, weil der wohl tief im System sitzt und auch noch ein Rootkit mitbringt, was im Bootrecord der Win-Installation sitzt (im MBR der Platte sitzt Grub 2).

Ein bisschen Recherche im Internet hat ergeben, dass der Schädling wohl a) relativ neu ist und b) gerne System angreift, die eine ältere Javaversion haben (Hinweis: Angabe ohne Gewähr - das stand in einem Forum drin...). Nun ist meine Java-Version unter Win nicht wirklich alt im Sinne von "Jahre", aber es kann durchaus sein, dass diese seit sechs Monaten oder mehr nicht mehr aktualisiert wurde.

Was mich dann wieder an einen der Hauptgründe erinnert hat, warum ich Linux nutze: die (automatische) Paketverwaltung. Das alle Pakete systemweit (automatisch) aktualisiert werden ist in meinen Augen ein immenser Vorteil. Gerade für Gelegenheitsnutzer und Einsteiger. Bzw. generell für jeden, der nicht laufend manuelle Update-Origien aller Programme anstoßen möchte. Schnell ist da mal was vergessen, siehe oben.

Zurück zum Trojaner und Windows: Das Entfernen des Schädlings ich wohl nicht trivial. Sonst würde der Virenscanner das auch alleine schaffen. Die Meinung gehen hier je nach Forum ein wenig auseinander. Die eine Anleitung ist ein größerer Eingriff inkl. neu schreiben des Bootrecords von Windows, anderen "Anleitungen" sagen direkt: Neuinstallation.

Ehrlich gesagt: eigentlich habe ich auf beides keine Lust...Als Linux (Ubuntu) Nutzer bin ich es gewöhnt, dass Dinge einfach funktionieren ;-) Von daher habe ich mir dann mal die Frage gestellt, ob ich Windows überhaupt noch brauche...

Wie weiter oben bereits erwähnt, nutze ich Win so wie so wenig. Die Gründe sind:
  • Steuererklärung mit Elster
  • Beladen des Garmin GPS mit Geocaching Daten
  • Datensicherung Nokia Handy
  • Aktualisierung TomTom Navi
  • Lernsoftware von / für die Grundschule für das größere Kind
Gehen wir die Punkte mal durch:

Ersteres geht soweit ich weiß über Wine, jedenfalls gibt es im Wiki von ubuntuusers.de einen Artikel dazu.

Zweiteres ginge auch unter Linux über einen Zwischenschritt. Ist mit dem Garmin Communicator Plugin unter Win halt nur etwas komfortabler. Kann man aber auf jeden Fall ohne weiteres mit Leben.

Die Datensicherung geht zwar prinzipiell auch über eine Synchronisation mit einem MS Exchange-Server. Das ist aber nicht das gleich. Wobei ich vermute, dass es auch unter Linux eine Lösung gibt. Muss ich mal ein wenig suchen.

Die Aktualisierung des TomToms geht soweit ich weiß nur via Windows, da die aktuelle Lösung relativ tief ins System eingebunden ist.

Letzter Punkt Lernsoftware: Tja... könnte unter Wine laufen, müsste man aber von Fall zu Fall testen. Und wäre halt doof, wenn was nicht läuft... Mit Lernsoftware ist hier übrigens gemeint, was die Kinder von der Schule bekommen bzw. den Schulbüchern beiliegt. Nicht freie Lernsoftware wie z.B. die Edubuntu Programme.

Was ich mache, weiß ich aktuell noch nicht... Vielleicht doch ein Windows, was nur für die paar Sachen genutzt wird, die unter Linux nicht ohne weiteres gehen (Lernsoftware, TomTom)?

Was aber auf jeden Fall klar ist: Nutze Linux (in meinem Fall Ubuntu), wo immer es geht. Dann braucht man sich auch keine Gedanken über so blöde Trojaner und die Reparatur des Systems machen.

Mittwoch, 18. Januar 2012

To GUI or not to GUI...

Schaut man in den Programmierforen nach, so kommt von Einsteiger öfters die Frage: "Ich möchte mein erstes Programm schreiben, das auch eine GUI haben soll.". Eine oft gehörte Antwort ist dann: "Programmier' erst Mal ohne GUI".

Das mag befremdlichen klingen, da seit vielen Jahren eine grafische Benutzeroberfläche absoluter Standard ist. Warum soll man also nun für das (erste) eigene Programm darauf verzichten? Diese Frage wird im folgenden ein wenig beleuchtet.

Dazu gibt es folgende kleine Aufgabe: Es soll ein Programm geschrieben werden, welches eine ganze Zahl als Eingabe nimmt und das Quadrat dieser Zahl als Ausgabe zurück liefert. Um das Programm einfach zu halten und den Fokus auf "To GUI or not to GUI" zu legen, soll das Programm lediglich prüfen, ob die Eingabe eine ganze Zahl ist. Wenn nicht soll eine Fehlermeldung ausgegeben werden. Weiterhin enthalten die Quelltexte keinerlei Kommentare.

Als Programmiersprache kommt Python zum Einsatz, wobei sich die Beispiele  sicherlich auch recht einfach auf andere Sprachen übertragen lassen.

Zurück zu "Programmier' erst Mal ohne GUI": Selbst Linux-Nutzer, welchen die Kommandozeile tendenziell geläufiger ist als z.B. Windows-Nutzer, erscheint es vielleicht doch ein wenig antiquiert "nur Text" zu Arbeiten. Der Grund für den Rat hierzu ist aber recht simpel: Selbst eine minimale GUI (wie im folgenden zu sehen) verlangt einiges mehr an Codezeilen. Plus, und das ist der wichtigere Punkt, die Einarbeitung in eine entsprechende Bibliothek mit entsprechend umfangreicher Dokumentation kann zeitaufwendig sein. Das heißt, dass der geneigte Programmieranfänger nicht nur die Grundlagen einer für ihn neuen Programmiersprache lernen soll, sondern auch direkt die Nutzung der GUI-Bibliothek - was die Sache definitiv nicht einfacher macht. Außerdem wäre es ja auch Schade, wenn er frustriert aufgibt, weil er (als Anfänger) nicht mit der GUI-Programmierung zurecht kommt.

Bevor wir zu den verschiedenen Versionen des Programms kommen noch eine Anmerkung vorab: Vor den Listings ist immer die Anzahl der Codezeilen angegeben. Die beinhalten nicht den Shebang und die Coding-Info (welche bei allen Listings so wie so gleich ist), weiterhin werden Leerzeilen nicht mit gezählt. Codezeilen, welche Zeilenumbrüche zur Verbesserung der Lesbarkeit enthalten, werden ebenfalls als eine Zeile gezählt.

Alle Programm sind unter Ubuntu 11.10 Oneiric getestet, die verwendete Python-Version bzw. GUI-Bibliotheken und Python-Anbindungen stammen alle aus den offiziellen Paketquellen.

Der erste Kandidat ist ein reines Kommandozeilen-Programm. Dieses erwartet, dass die zu quadrierende Zahl als Argument beim Programmaufruf mit übergeben wird. Heißt das Programm z.B. "quadrat.py", so lautet der Aufruf:

python quadrat.py 12

Hier das Programm für die Kommandozeile, 12 Zeilen:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys

if len(sys.argv) < 2:
    print 'Es wurde kein Wert vorgegeben!'
    sys.exit()

eingabe = sys.argv[1]
try:
    zahl = int(eingabe)
except ValueError:
    print 'Der Wert ist keine ganze Zahl!'
    sys.exit()
else:
    print zahl * zahl


Update 21.1.2012:
Das obige Beispiel läuft zu ziemlich unter allen Python-Version, selbst unter sehr alten. Wer Python 2.7  bzw. 3.2 und neuer nutzt, der kann den Code noch kürzer gestalten, und zwar unter Verwendung des argparse-Moduls:

Kommandozeile mit argparse, 5 Zeilen:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import argparse

parser = argparse.ArgumentParser('Programm zum Quadrieren von Integerzahlen.')
parser.add_argument('value', type=int)
args = parser.parse_args()
print args.value * args.value


Danke an Hyperion für den Hinweis hierzu in deutschen Python-Forum!


Nun ist der Vergleich eines reinen Kommandozeilen-Programms vielleicht nicht ganz fair, weil dieses für jede Rechnung erneut aufgerufen werden muss. Die Programme mit grafischer Oberfläche müssen nur ein Mal gestartet werden, dann können beliebig viele Rechnungen durchgeführt werden.

Doch auch auf der Kommandozeile gibt es dafür ein pythonische Lösung, das cmd-Modul. Eine Einführung in dieses Modul ist im Blogeintrag cmd - Python-Modul für text-basierte Programme hier bei mir im Blog zu finden.

Die Umsetzung sieht dann so aus:

cmd-Modul, 14 Zeilen:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import cmd

class SimpleCmd(cmd.Cmd):
      
    def do_quadrat(self, line):
        try:
            zahl = int(line)
        except ValueError:
            print 'Der eingegebene Wert ist keine ganze Zahl!'
        else:
            print zahl*zahl

    def do_EOF(self, line):
            print 'Programm beenden...'
            return True

simplecmd=SimpleCmd()
simplecmd.cmdloop()

Kommen wir zu den GUI-Bibliotheken. Betrachtet werden hier die beiden wohl populärsten Frameworks, nämlich Qt4 und GTK+. Erster wird dabei über PySide genutzt, letzter über das PyGObject.
Pyside + Qt4, 27 Zeilen:

#!/usr/bin/env python
# ~*~ coding: utf-8 ~*~

import sys
from PySide import QtGui

class SimpleQt(QtGui.QDialog):
    def __init__(self,parent=None):
        super(SimpelQt, self).__init__(parent)
        self.setWindowTitle('Qt4')
        layout = QtGui.QVBoxLayout()
        self.eingabe = QtGui.QLineEdit()
        layout.addWidget(self.eingabe)
        self.button = QtGui.QPushButton(u'Quadrieren')
        layout.addWidget(self.button)
        self.label = QtGui.QLabel(u'Ergebnis...')
        layout.addWidget(self.label)
        self.setLayout(layout)
        self.button.clicked.connect(self.rechnen)

    def rechnen(self):
        wert = self.eingabe.text()
        try:
            zahl = int(wert)
        except ValueError:
            msgBox = QtGui.QMessageBox()
            msgBox.setText(u'Der eingegebene Wert ist keine ganze Zahl')
            msgBox.exec_()
        else:
            self.label.setText(unicode(zahl*zahl))

app=QtGui.QApplication(sys.argv)
simple_qt=SimpleQt()
simple_qt.show()
sys.exit(app.exec_())

Und hier noch die Version mit grafischer Oberfläche, welche auf GTK+ setzt:

PyGObject + GTK+, 29 Zeilen:

#!/usr/bin/python
# -*- coding: utf-8 -*-
 
from gi.repository import Gtk
 
class SimpelGtk(object): 
    def Gtk.Window.__init__(self, title='Simpel Gtk+')
        self.window.set_default_size(200, 100)
        vbox = Gtk.Box(False, 20)
        vbox.orientation = Gtk.Orientation.VERTICAL
        self.window.add(vbox)
        self.eingabe = Gtk.Entry()
        vbox.pack_start(self.eingabe,True,True,0)
        button = Gtk.Button("Quadrieren")
        button.connect("clicked", self.rechnen)
        vbox.pack_start(self.button,True,True,0)    
        self.label = Gtk.Label("Ergebnis...")
        vbox.pack_start(self.label,True,True,0)
        
    def rechnen(self,data=None):
        try:
            wert = int(self.eingabe.get_text())
        except ValueError:
            text = 'Die Eingabe ist keine ganze Zahl!'
            dialog = Gtk.MessageDialog(self, 0, Gtk.MessageType.ERROR,
            Gtk.ButtonsType.CANCEL, 'Fehler bei der Eingabe')
            dialog.format_secondary_text(
                'Der eingegebene Wert ist keine ganze Zahl!')
            dialog.run()
        else:
            self.label.set_text(str(wert*wert))

    def main(self):
        win = Gtk.Window()
        win.connect("delete-event", Gtk.main_quit)
        win.show_all()
        Gtk.main()
 
if __name__ == "__main__":
    e = SimpelGtk()
    e.main()
    
#http://python-Gtk-3-tutorial.readthedocs.org/en/latest/introduction.html

Wie zu sehen ist, sind die GUI-basierten Varianten deutlich länger, nämlich rund 2,5x länger als die Kommandozeile-Version und circa 2x so lange wie die Version, welche das cmd-Modul nutzt. Das mehr an Codezeilen ist dabei natürlich durch das Hinzufügen der GUI-Elemente bedingt. Weiterhin ist der Quelltext für Anfänger (wahrscheinlich) deutlich schwieriger nach zu vollziehen.

Nur damit keine Missverständnisse entstehen: Dies ist kein Plädoyer gegen Programme mit GUI. Überhaupt nicht. Es soll lediglich gezeigt werden, wodurch der oft gehört und gut gemeinte Rat "Programmier' erst Mal ohne GUI" motiviert ist.

Abgesehen davon: beherrscht man die Grundlagen einer Progammiersprache ist es oft deutlich einfacher, die APIs weiterer Bibliotheken wie z.B. den zur GUI-Erstellung, nachzuvollziehen.

Sonntag, 8. Januar 2012

kurze Zwischeninfo

Ein untrügliches Zeichen, dass ich mich an Unity gewöhnt habe: habe gerade unter Ubuntu 10.04 Lucid den Mauszeiger an den linken Bildschirmrand gefahren und gewartet, dass das Menü ausklappt. Oh Mann... Der Mensch ist halt ein Gewohnheitstier. ;-)

Für alle die sich jetzt wundern, wieso Lucid: Ich nutze Lucid zum Programmieren, weil die meisten Programme später auch auf einem Server unter Lucid laufen. Der aktuelle Ubuntu-Release (im Moment also Oneiric) wird für die "tägliche Arbeit" genutzt.

BTW: Das mit dem Mauszeiger und kein Menü kommt ist eine wahre Begebenheit.

Donnerstag, 5. Januar 2012

Geschichten von früher - und Unity

Mal eine kleine Geschichte von früher, aus den Anfängen meiner Linux-Zeit:
Das erste Linux, was ich häufiger genutzt habe, war Knoppix, Version 3.3. Das war so im Frühjahr 2004. Für alle, die damals noch nicht mit Linux unterwegs waren: Knoppix war seinerzeit ziemlich populär und auch in den Print-Medien recht präsent. Der Grund war wohl, dass Knoppix mit das erste ausgereifte Live-System war, was quasi jeder Computernutzer gefahrlos testen konnte.

Als Desktop setzte Knoppix damals noch auf KDE 3.x. Was für Windows-Nutzer - wie mich seinerzeit auch - angenehm war, weil die Bedienung recht ähnlich war. "Recht ähnlich" im Sinne von: Links unten gab es ein Icon, auf das man Klicken musste, damit sich das Menü mit den Programmen öffnet. Und die Menüstruktur war auch der von Windows ähnlich. Also zumindest in dieser Hinsicht war keine große Umstellung notwendig.

Beflügelt durch meine positiven Erfahrungen mit Knoppix habe ich mich dann ebenfalls für die Derivaten interessiert, die es seinerzeit auch schon gab. Eins davon war Gnoppix. Was nichts anderes war als ein Standard-Knoppix, nur das Gnome 2.x statt KDE als Desktop zum Einsatz kam. Nach dem 1. Booten und 10 Sekunden Benutzung war ich entsetzt: Was ist das denn für eine komische Menüstruktur?! Anwendungen? Orte? System? Und dann auch noch am oberen Bildschirmrand? Das geht ja gar nicht. Jedenfalls war die 1. Begegnung mit Gnome so erschreckend, dass ich die Gnoppix-CD nie mehr angepackt habe (und, wenn ich mich richtig erinnere, direkt entsorgte).

Aus heutiger Sicht kann ich das gar nicht mehr nachvollziehen. Mein 2. Kontakt mit Gnome im Form von Ubuntu 5.04 im Sommer 2005 verlief dann wesentlich erfolgreicher - und dauerhafter.

Und was hat das ganze mit Unity zu tun? Nun, nichts. Jedenfalls nicht direkt. Außer das manche Dinge (wie z.B. Desktop-Umgebungen, aber nicht nur) auf den ersten Blick vielleicht ganz furchtbar erscheinen, beim zweiten Blick gar nicht mehr so schlimm sind. Und das man vielen Dingen (wie z.B. Desktop-Umgebungen, aber nicht nur) auch mal eine zweite Chance geben sollte.

(Der geneigte Leser mag im vorherigen Abschnitt auch gerne "Unity" durch "Gnome 3" oder "KDE 4" ersetzen...).

Und zum Abschluss noch ein passendes Zitat:

"Humor is tragedy plus time" (Mark Twain)

Rückblickend finde ich meine erste Begegnung mit Gnome nämlich ziemlich lustig.


Donnerstag, 15. Dezember 2011

Precise 12.04, Rhythmbox und Banshee

Ikhaya von ubuntuusers.de hat es bereits gemeldet und mit dem ersten Alpha-Release ist es dann auch passiert: Rhythmbox ist (wieder) als Musikplayer an Bord und ersetzt damit Banshee, was in den letzten beiden Releases zum Einsatz kam.

Den Musikplayer nutze ich recht häufig, weil ich oft beim Programmieren oder Arbeiten am Computer Musik höre. Meine Ansprüche sind dafür aber ziemlich gering: Hauptsache der Player kann die gängigen Formate abspielen und Internetradio streamen. Das können viele. Ausgefuchste Funktionen zur Verwaltung großer Musiksammlungen brauche ich nicht, da ich nur einen  Bruchteil meiner Musiksammlung auf den Laptops habe. Und das, was drauf ist, ist übersichtlich.

Von daher hatte ich eigentlich auch keine Probleme beim Wechsel von Rhythmbox auf Banshee. Nichts desto trotz freue ich mich doch ein kleines bisschen über den Zurückwechsel, weil mich zwei Sachen an Banshee stören.

Nach dem Starten von Banshee nimmt sich das Programm auf beiden meiner Laptops gerne mal eine ca. 10 sekündige Auszeit. Was es auch immer da macht. Jedenfalls braucht Banshee wohl kaum solange, um maximal 400 Musikstücke für die Bilbliothek zu scannen. Danach läuft Banshee aber ohne Probleme.

Der andere Punkt ist, dass Banshee ziemlich stumpf ist, was das Erkennen von neuen oder geänderten Musikstücken unterhalb des Verzeichnisse "~/Musik" ist. Rhythmbox ist hier wesentlich schneller bei der Erkennung und der Aufnahme in die Bibliothek und zeigt auch explizit, welche Musikstücke noch in der Bibliothek registriert sind, aber auf der Festplatte fehlen.

Abgesehen davon finde ich das Bearbeiten von MP3-Tags in Rhythmbox (unter Lucid) besser als bei Banshee (unter Oneiric), dass ist aber kein entscheidender Punkt.

Im Moment steht wohl noch nicht fest, ob Rhytmbox wirklich am Ende in Precise drin ist, da noch die Integration des Ubuntu One Musicstores fehlt. Da aber Canonical damit Geld verdient mache ich mir in diesem Punkt wenig Sorgen, dass es daran scheitern sollte...