ubuntuusers.de

28. Juni 2011

Fast Dial, ein Add-on für Firefox, dass ich in den letzten Monaten und schon fast Jahren, welche ich es bereits nutze, mehr als lieb gewonnen habe, will nach einem Update auf Firefox 5.0 plötzlich nicht mehr richtig funktionieren :( Und das obwohl es eigentlich mit Firefox 5.0 kompatibel sein soll und keine Fehlermeldung oder dergleichen ausspuckt, sieht man anstatt dem Folgenden einfach eine leere, weisse Seite.

Nach ein bisschen rumgegoogle bin dann aber auf eine Beta-Version des Plugins gestossen, dass problemlos funktioniert und das bei voller Funktionstüchtigkeit.

Diese inoffizielle Version findet man, indem man auf der offiziellen Seite unten auf den Link “Entwicklerversion installieren” und dann “Hinzufügen” klickt.

Trotzdem muss gesagt sein: Die Entwicklerversionen dieses Add-ons wurden nicht von Mozilla überprüft. Somit sind Fehlfunktionen und ähnliches nicht ausgeschlossen! Viele Benutzer beschweren sich in den Kommentaren bereits über zahlreiche Bugs und Fehler in der Beta, mir ist jedoch bisher glücklicherweise noch keiner untergekommen! :)

Gerade bei Caschy gelesen, dass es der auf Mozillas Gecko basierende Multi-Messenger Instantbird nach langer Entwicklung zur Versionsnummer 1.0 geschafft hat. Auf der Website ist das noch nicht wirklich angekommen, nur in einer etwas versteckten Presse-Info wird man darüber aktuell informiert.

Ich habe mir die Linux-Version mal herunter geladen und kurz getestet. Einen wirklichen Mehrwert im Gegensatz zu Pidgin oder auch Empathy konnte ich nicht wirklich feststellen. Instantbird verbraucht bei mir gleich mal fast das doppelte an Speicher im Vergleich zu Pidgin, wenn es gestartet ist. Da sind noch keine zusätzlichen Erweiterungen, Smileys, oder Gesprächs-Themes installiert, die man als Add-ons herunterladen kann. Instantbird unterstützt neben XMPP (Jabber), ICQ und MSN auch Twitter sowie Facebook und eine Reihe anderer Dienste.

Wer Instantbird trotzdem mal ausprobieren möchte kann es sich hier herunterladen. Nach dem entpacken auf der Konsole einfach in den Programmordner wechseln und Instantbird mit

./instantbird

starten. Die Profilinformationen werden im Ordner .instantbird im Home-Verzeichnis des Nutzers abgelegt. Das hinzufügen von Konten ist ähnlich aufgebaut wie bei anderen Messengern, ungewöhnlich ist hingegen, dass das Intantbird-Icon nur im Benachrichtigungsmenü erscheint, wenn die Kontaktliste geschlossen wird. Zumindest hier unter Maverick war das so.

Fazit: Instantbird ist vielleicht für diejenigen interessant, die gerne das Design der Dialoge anpassen oder mit Emoticon-Themes rumspielen wollen. Da beides auf mich nicht zutrifft ist Instantbird zumindest für mich nicht wirklich interessant.

27. Juni 2011



Da ich ja doch schon über eine ganze Menge Leser der Alpenrepublik Österreich verfüge, lohnt es sich vielleicht diese Veranstaltung hier zu erwähnen.
Richard Stallman eine der Hauptfiguren der Bewegung rund um freie Software wird am 1. Juli in Wien einen Vortrag mit anschliessender Podiumsdiskussion halten. Titel “Ungerechtigkeiten durch proprietäre Software oder wie Patente und Lizenzen Entwicklungen behindern”. Der Vortrag wird von der Quintessenz veranstaltet und findet an der TU Wien Karlsplatz 13, 1040 Wien, Stiege 1, 4. Stock im Kuppelsaal statt. Einlaß ist 19 Uhr und der Vortrag beginnt um 20 Uhr. Vielleicht hat ja der ein oder andere die Möglichkeit, daran teilzunehmen.

26. Juni 2011

Ich nutze GnuPG, um meine digitalen Postkarten (E-Mails) per asymmetrischer Kryptografie zu verschlüsseln. Dabei nutze ich Thunderbird als E-Mail-Client und das dazugehörige Plug-in Enigmail.
Nachdem man alles eingerichtet hat und eine E-Mail signiert versenden möchte oder eine verschlüsselte E-Mail lesen möchte, dann muss man seinen privaten Schlüssel in einem Fenster eingeben. Mein Passwort besteht aber aus ca. 25 Zeichen und enthält alle Komponenten, wie Kleinbuchstaben, Großbuchstaben, Zahlen und Sonderzeichen. Natürlich merke ich mir solche Passwörter nicht, sondern nutze ein Passwortverwaltungsprogramm, namens KeePassX. Dies kann ich jedem empfehlen.
Nun ist das Problem, dass man in das Fenster keine Zeichen einfügen kann. [Strg]+[V] funktioniert nicht! Nachdem ich es Leid war immer wieder das Passwort abzuschreiben, recherchierte ich im Internet. Es gibt bei meinem Passwortverwaltungsprogramm eine sogenannte Autovervollständigung. Diese habe ich angepasst, sodass die Eingabe meines Passworts KeePassX übernimmet.
Dazu schreibt man diese beiden Zeilen in die Beschreibung des Passworteintrags.

1
2
Auto-Type: {PASSWORD}{ENTER}
Auto-Type-Window: pinentry
Auto-Type: {PASSWORD}{ENTER}
Auto-Type-Window: pinentry

Nun kann man den Eintrag auswählen und im Kontextmenü Autotype ausführen wählen. Alternativ ist dies auch mit der Tastenkombination [Strg]+[V] möglich.

Ich wusste zwar, dass es diese Vervollständigung gibt, aber ich habe nicht daran gedacht…

Jetzt ist das Lesen von verschlüsselten oder Versenden von signierten E-Mails viel komfortabler. Die beste Lösung wäre allerdings, wenn dieser Schlüssel im Systemschlüsselbund gespeichert werden würde und Thunderbird automatisch diesen Schlüssel beziehen würde.

Ich nutze GnuPG, um meine digitalen Postkarten (E-Mails) per asymmetrischer Kryptografie zu verschlüsseln. Dabei nutze ich Thunderbird als E-Mail-Client und das dazugehörige Plug-in Enigmail.
Nachdem man alles eingerichtet hat und eine E-Mail signiert versenden möchte oder eine verschlüsselte E-Mail lesen möchte, dann muss man seinen privaten Schlüssel in einem Fenster eingeben. Mein Passwort besteht aber aus ca. 25 Zeichen und enthält alle Komponenten, wie Kleinbuchstaben, Großbuchstaben, Zahlen und Sonderzeichen. Natürlich merke ich mir solche Passwörter nicht, sondern nutze ein Passwortverwaltungsprogramm, namens KeePassX. Dies kann ich jedem empfehlen.
Nun ist das Problem, dass man in das Fenster keine Zeichen einfügen kann. [Strg]+[V] funktioniert nicht! Nachdem ich es Leid war immer wieder das Passwort abzuschreiben, recherchierte ich im Internet. Es gibt bei meinem Passwortverwaltungsprogramm eine sogenannte Autovervollständigung. Diese habe ich angepasst, sodass die Eingabe meines Passworts KeePassX übernimmet.
Dazu schreibt man diese beiden Zeilen in die Beschreibung des Passworteintrags.

1
2
Auto-Type: {PASSWORD}{ENTER}
Auto-Type-Window: pinentry
Auto-Type: {PASSWORD}{ENTER}
Auto-Type-Window: pinentry

Nun kann man den Eintrag auswählen und im Kontextmenü Autotype ausführen wählen. Alternativ ist dies auch mit der Tastenkombination [Strg]+[V] möglich.

Ich wusste zwar, dass es diese Vervollständigung gibt, aber ich habe nicht daran gedacht…

Jetzt ist das Lesen von verschlüsselten oder Versenden von signierten E-Mails viel komfortabler. Die beste Lösung wäre allerdings, wenn dieser Schlüssel im Systemschlüsselbund gespeichert werden würde und Thunderbird automatisch diesen Schlüssel beziehen würde.

Wieder ist der letzte Sonntag im Monat, was bedeutet das es ein neues Invertika Update gibt. Bei Invertika handelt es sich um ein freies 2D-MMORPG welches für Linux, Windows und Mac OS X zur Verfügung steht. Im Groben kann man sagen das in diesem Update eine Unmenge an Fehlern beseitigt wurde, wofür wir uns bei unseren fleißigen Bugreportern bedanken möchten :) So wurden wieder an vielen Stellen Rechtschreibfehler und andere kleinere Fehler wie Kollisions- und Warpfehler auf den Maps behoben. Auch an den Tilesets sowie NPCs gab es einige Korrekturen, so heilt z.B. Valeria nun nicht mehr unbegrenzt, sondern nur noch alle zwei Stunden kostenlos.

An den Monstern wurden wieder einige Modifikationen vorgenommen, welche für besseres Balancing sorgt. Auch der Bug mit den essbaren Items wurde behoben (einige Items dieser Klasse konnten nicht mehr gegessen werden). Bei den Items wurden daneben auch einige Beschreibungen erweitert bzw. hinzugefügt.

Der Irrwald wurde in diesem Update stark erweitert, seine Errichtung ist aber noch lange nicht abgeschlossen. In Lauria wurde angefangen die Innenräume der Häuser zu gestalten. Auf einigen Maps funktionierte die Hintergrundmusik nicht. Auch dieser Fehler ist in diesem Update behoben. Im Hintergrund wurde an der Theater- sowie der Postbotenimplementation gearbeitet, wobei diese beiden Dinge aller Voraussicht nach die neue Serverversion benötigen, welche im Moment noch nicht vollumfänglich funktioniert. Bei dem Zinssystem in der Bank gibt es nun die Neuerung, das diese nach einer neuen Formel arbeitet.

Der Invertika Editor wurden im Backend umgeschrieben um ihn in Zukunft leichter handhaben zu können. Daneben wurde eine automatische Kollisionssetzung implementiert, welche es erleichtert einige Dinge wie z.B. größere Wälder zu mappen. Im großen und ganzen diente das Update der Fehlerbehebung in allen Bereichen. Einige Neuerungen gibt es natürlich auch wie z.B. das Haus der grausamen Wahrheit des Lebens. Wer neugierig geworden ist kann uns auf der offiziellen Seite unter http://invertika.org besuchen.

25. Juni 2011

Vielleicht habt ihr es mitbekommen: Listaller 0.5.1 (alpha) wurde vor ein paar Tagen veröffentlicht. Listaller 0.5.1 wurde vollständig in Vala neugeschrieben. Aber der Wechsel der Programmiersprache ist nicht der einzige Aspekt, der dieses Release “besonders” macht: Dies ist das erste Listaller-Release seit 10 Monaten! Und dies ist die erste Veröffentlichung des neu orientierten Listallers. Während der 0.4.x Serie lag der Fokus des Projektes noch darauf, Software-Management mit dem Listaller so nutzerfreundlich wie möglich zu machen. Das AppStream Projekt macht eine Menge dieser Listaller-Funktionalität nun überflüssig, weshalb wir uns jetzt auf den zweiten Aspekt des Projektes konzentrieren: Distributionsübergreifende Softwareinstallationen. (Natürlich ist der Management-Teil noch immer wichtig, dieser wird aber nun von AppStream-Anwendungen mit Listaller-Unterstützung geregelt.)

Während alle vorigen Listaller-Veröffentlichungen so ausgelegt waren, den Paketerstellern so viel Freiheit und Kontrolle über das Paket wie möglich zu geben, wird der “neue Listaller” selbst den Setup-Vorgang fast völlig alleine steuern.

Es hat eine Weile gedauert, mich zu überzeugen, dass das eine gute Idee ist, aber das neue Konzept ist wirklich viel besser. Da Paketmaintainer nun weniger Kontrolle haben sind die Chancen das System mit einem Listaller-Paket zu beschädigen nur sehr gering: Es gibt einfach nur noch wenige Möglichkeiten, Mist zu bauen. Und da der Listaller nicht dafür da ist, Systemkomponenten zu installieren ist die fehlende Flexibilität in der Regel auch kein Problem. (Natürlich werden noch Features aufgenommen, das aber erst nach einer Prüfung – und dann werden diese Funktionen direkt im Listaller implementiert, sodass keine Maintainer-Scripts nötig sein sollten, was auch die Erstellung von IPK-Paketen sehr einfach macht.)

Der neue Setupprozess erlaubt auch den Distributoren die interne “Setup-Policy” des Listallers an ihre eigenen Richtlinien anzupassen. Somit werden dann alle mit dem Listaller installierten 3rd-party Anwendungen gemäß der Distributionsrichtlinien installiert. Last but not least kann man nun auch “schlechte” Pakete einfacher erkennen und zurückweisen. (Über die check-Anwendung livalidator)

So, jetzt reicht’s mit der allgemeinen Listaller-Info, wenn ihr dieses Blog kennt habt ihr wahrscheinlich eh eine ungefähre Ahnung worum es beim Listaller geht :P

Das Listaller 0.5.1 Release enthält momentan nur eine Programmbibliothek und einen Satz Kommandozeilenanwendungen – wie laaaangweilig! Sehr viele Leute können mit dieser Shared Library nichts anfangen, daher wurde ich gefragt ob ich nicht einen kurzen Artikel über das, was der Listaller im Moment kann, schreiben könnte. Naja, momentan kann der Listaller eher wenig, aber trotzdem ist das IMHO eine sehr gute Idee, auch da momentan keine validen Listaller-Pakete zum Testen verfügbar sind. Also, legen wir los:

Kurze Vorbemerkung: Wenn ihr euch über die GNOME-Screenshots wundert, weil ihr mich eher als KDE-Nutzer kennt: Ich benutze natürlich noch immer KDE, aber auch die GNOME-Fraktion kann coole Dinge entwickeln, und ich teste grade wie sich die GNOME-Shell bei produktivem Arbeiten macht ;)

Listaller macht momentan ein paar Kommandozeilenanwendungen (CLI) verfügbar, mit welchen man IPK-Softwarepakete bauen kann:

autocompile ist ein automatischer Anwendungs-Kompilierer. Wer Debian kennt, kennt vielleicht auch dh_auto_build, was genau das gleiche wie autocompile tut. Wer Debians Paketbau-Hilfsscripte nicht kennt: Appcompile erkennt das Build-System einer Anwendung und führt die nötigen Schritte zum kompilieren automatisch aus. (z.B. ./configure && make) Es fügt zudem einige allgemeine Compiler-Flags und ein paar Listaller-Spezifika hinzu.

depscan scannt die Abhängigkeiten einer Anwendung. Zur Zeit kann es nur die Abhängigkeiten von Software mittels ldd erkennen, soll aber später erweitert werden um z.B. Python Abhängigkeiten oder Abhängigkeiten von C-Quelltext herauszufinden.

libuild setzt IPK-Pakete aus Quellen zusammen.Es benötigt einen Satz von “Definitionsdateien”, welche Anweisungen enthalten, wie ein Paket gebaut werden soll um zu funktionieren. Ich werde später, wenn das IPK-Format stabiler geworden ist mal Anleitungen zum Paketbau veröffentlichen.

runapp ist eine Hilfsanwendung um Anwendungen, welche mit Listaller installiert wurde, zu starten. Mehr Informationen darüber findet ihr, wenn ihr weiterlest :P

Ein CLI zur Installation/Entfernung von Listaller-Anwendungen (das “lipa”-Tool aus der Listaller 0.4.x serie) fehlt noch und wird eventuell später hinzugefügt.

Okay, genug über Kommandozeilenanwendungen. Da Listaller selbst eigentlich nur eine Shared Library ist, wird ein Frontend benötigt, um irgend etwas auf dem Bildschirm zu sehen. Ich zeige hier das Listaller-GNOME Frontend. Es existiert noch ein KDE-Frontend, was momentan aber noch nicht fertig und fehlerhaft ist. (Als erstes muss ich Listallers Qt4 Bindungen neu schreiben :( )

Wir wollen jetzt mal ein IPK-Paket installieren, in diesem Fall das Spiel “Osmos” von Hemisphere Games. Osmos ist ein perfekter Testfall für den Listaller, da es wenige Abhängigkeiten hat und eine dieser typischen Anwendungen ist, welche sich nicht in den Distributions-Spezifischen Paketquellen finden. Zur Erinnerung, Listaller möchte einen direkten Pfad von Upstream-Softwareautoren zu ihren Nutzern bieten – für OpenSource-Entwickler genauso wie für Firmen, welche ihr Geld mit proprietärer Software machen. Und – auch ein Grund für Osmos – mir gefällt dieses Spiel wirklich sehr, sehr gut, ausprobieren lohnt sich ;)

Also, führen wir folgenden Befehl aus, um die Anwendung mit Listaller-GNOME zu installieren:

lisetup-gtk ./OsmosDemo-1.6.0_install.ipk

Ja, dieser Setup-Assistent ist hässlich – und ich bin mir absolut sicher, dass besonders die GNOME-Usability-Typen mich dafür schlagen wollen würden :D Aber ich bin kein Experte in GTK+-Entwicklung & Design, also wer die GUI verbessern möchte kann sich sehr gerne bei mir melden ^^ (Ich habe mit GTK+ erst vor ca. zwei Monaten angefangen)

Wie man sehen kann, zeigt die erste Seite ein wenig allgemeine Sicherheitsinformation. Die “Should be safe” wird deshalb angezeigt, da der Listaller die GPG Signatur des Osmos-Paketes überprüft hat. Da ich mir selber ultimativ vertraue (ob mit Recht ist eine andere Frage :P ) wird dieses Paket generell als sicher eingestuft. Natürlich soll hier noch ein wenig mehr Information über die Paketsicherheit und den Paketautor angezeigt werden, entsprechendes ist schon auf meiner TODO-Liste.

Da jede Listaller-Anwendung standardmäßig in einer Sandbox ausgeführt wird, sollte das Risiko, das System zu beschädigen generell nur marginal sein.

Auf dieser ersten Seite kann der Nutzer auch die Checkbox “Install for all users” setzen – Dies weist den Listaller an, die Software mit Superuser-Rechten systemweit zu installieren.Normalerweise wird sie ins  $HOME-Verzeichnis des aktuellen Nutzers installiert. Alles was mit systemweiten Installationen und Shared-Apps-Kram zu tun hat wird über PackageKits Listaller-Erweiterung erledigt, mehr dazu später :)

Natürlich wird noch mehr Information über die Anwendung angezeigt, wie etwa deren Beschreibung oder – wie im Screenshot oben – die Softwarelizenz.

Schließlich wird die Installation dann ausgeführt. Wenn der Listaller die Anwendung systemweit installieren will, wird ein entsprechender PolicyKit-Dialog angezeigt, der eine Authorisierung verlangt.

Der Listaller wird dann alle Abhängigkeiten der Software auflösen. Momentan unterstützt der Listaller nur die nativen Distributionsquellen als Quelle für Abhängigkeiten, aber er wird später auch ZeroInstall-Feeds als Alternative unterstützen.

Wenn die Installation abgeschlossen ist, erscheint Osmos genau wie jede andere Anwendung auch im Anwendungsmenü von KDE oder GNOME:

Eine Besonderheit hat dieser Anwendungsstarter jedoch: Anstatt Osmos direkt zu starten, wird Listallers runapp Werkzeug mit dem Anwendungsnamen als Parameter ausgeführt.

Das ist aus verschiedenen Gründen notwendig: In erster Linie setzt “runapp” einige Umgebungsvariablen, welche es Osmos ermöglichen, seine Abhängigkeiten zu finden. Zweitens ist “runapp” auch dafür da, Osmos in einer Sandbox auszuführen, damit es mit minimalen Rechten ausgeführt werden kann. Sandbox-Unterstützung ist aktuell in Arbeit, geplant ist die Arkose Sandbox als Sandbox zu verwenden. Das “runapp” Werkzeug ermöglicht auch einfaches Scripten, zudem kann es die Ausführung von Anwendungen verhindern, z.B. wenn der Systemadministrator 3rd-party software (z.B. Skype) blockieren will. (natürlich kann man das leicht umgehen, aber immerhin hat man ‘ne Warung gesehen, dass man es besser nicht versuchen sollte.) Ein paar dieser Features müssen noch implementiert werden. (Und ich bin mir nocht nicht Sicher, ob das Anwendung-Blocken überhaupt sinn macht, daher ist dieses Feature auch noch auf der Liste mit “Possible Features” (und hat geringe Priorität))

So, Osmos funktioniert nun also (mit “runapp”)

Wenn man das freisch installierte Osmos-Spiel wieder loswerden will (warum?) könnte man sehr einfach limanager-gtk starten, ein grafisches Werkzeug was für das Entfernen von (Listaller) Anwendungen verantwortlich ist. Wenn Osmos als gemeinsame Anwendung mit Superuser-Rechten installiert wurde, gibt es aber auch einen anderen, besseren weg es wieder zu entfernen: PackageKit.

Wenn PackageKit mit einem Patch für Listaller übersertzt wurde, können alle PK frontens Listaller-Anwendungen entfernen und updaten. Damit sind Listaller-Anwendungen wirklich perfekt ins restliche System integriert. Natürlich kommuniziert Listaller auch mit Modulen des AppStream-Projektes, was es z.B. auch dem Ubuntu Software Center ermöglicht, mit Listaller-Software fertig zu werden. (entsprechender Code ist aber von beiden Seiten – Listaller und AppStream – noch nicht fertig)

Wie zu sehen ist, wird Osmos (Demo) in GNOME-PackageKit angezeigt und zum Entfernen angeboten, genau wie jedes andere, native Paket.

Das funktioniert natürlich auch mit Apper unter KDE und jedem anderen PackageKit Frontend.

Okay, das war der kurze Überblick über das, was der Listaller momentan kann. Es gibt noch immer unglaublich viel Arbeit zu tun, z.B. der Code zum Auflösen von Abhängigkeiten muss verbesert werden (und vor allem erweitert) und die grafischen Oberflächen sind auch noch keine Freude.

Daher suchen wir natürlich noch immer Hilfe für dieses Projekt, Kontakt geht z.B. über die Mailingliste. Und nicht vergessen: Listaller-Releases wird es jetzt häufiger geben, dank geändertem Release-Modell :) (aber natürlich bekommt nicht jedes Release einen Blogpost wie diesen :D )

Achja, im englischen Beitrag habe ich’s ja schon fast vergessen:

Freue mich drauf :)

Dieser Beitrag erschien zuerst in Englisch.

Über die Groklaw Newspicks ist mal wieder ein Artikel von Steven J. Vaughan-Nichols reingeflattert, in welchem er versucht der Frage nachzugehen, warum Netbooks nach der großen Erfolgsgeschichte der letzten Jahre nun wieder stark an Boden verlieren. Allerdings verkommt die Fragestellung zu: "warum Linux auf Netbooks verschwunden ist". Ich selbst verwende zwar keine Netbooks, aber in meinem Bekanntenkreis tauchen die Dinger immer wieder auf und dementsprechend habe ich ein wenig Erfahrung mit den Problemchen die sie mit sich bringen.

Hauptsächlich sind mir folgende Argumentationslinien aufgefallen:

1. Microsoft und Intel haben sich verschworen. Microsoft hat, da Vista nicht auf der schwachen Hardware lief die ein Netbook mitbrachte, XP einfach unter Preis an OEMs verkauft um es attraktiver zu machen (immerhin wollten die Endnutzer ja etwas Bekanntes haben). Die Argumentation besagt weiter, dass M$ die OEMs mit den billigeren Lizenzen dafür "bezahlt" hätte, kein Linux vorzuinstallieren. Ich habe keine Beweise dafür (und entsprechende Links bleibt auf Vaughan-Nichols schuldig), nach Microsofts geschichtlichem Umgang mit Konkurrenten würde es mich aber nicht verwundern.

2. Linux und Freie Software im Allgemeinen können Windows nicht das Wasser reichen. Die Argumentation ist im Großen und Ganzen: "Weil Windows Windows ist." Keine besonders faire Argumentation, aber leider wahr. Die Endnutzer wollen etwas Bekanntes mit dem sie arbeiten können. Ich habe selbst vor ein paar Jahren eine Diskussion mit einem Netbook-Nutzer gehabt, der das vorinstallierte Linux recht schnell von der Platte gelöscht und sich (ziemlich umständlich, aber ohne CD-Laufwerk geht das bei Windows ja nicht so leicht) ein XP drauf installiert hat, weil er die gewohnte Arbeitsfläche haben wollte. Er meinte: "Linux funktioniert für mich einfach nicht."

Mir ist aufgefallen, dass es sich beide Seiten etwas zu einfach machen. Microsoft böse Geschäftspraktiken per se zu unterstellen ist ebenfalls unfair. Es handelt sich um eine Firma, welche, wie alle anderen Firmen ebenfalls, möglichst viel Geld machen will. Dass sie dabei unfaire Methoden verwenden und links und rechts FUD verstreuen bringt auch mich jedesmal zur Weißglut, aber solange sie sich innerhalb der für sie gültigen gesetzlichen Grenzen bewegen muss man es leider akzeptieren und kann nur versuchen mit Qualität und Mundpropaganda zu konkurrieren. Auf der anderen Seite Freier Software zu unterstellen, sie sei minderwertig einfach "weil es freie Software ist" ist auch eine Behauptung ohne Boden. Angefangen vom Linux-Kernel über die grafischen Oberflächen (wie GNOME und KDE), Firefox/Thunderbird, OpenOffice.org/LibreOffice, Wine, Audacity und VLC über Blender, Inkscape und einen Haufen an kleinen Miniprogrammen, welche eine bestimmte Aufgabe erledigen (und die richtig) bietet freie Software schon seit Jahren mit Ubuntu, Fedora und anderen Einsteiger-Distributionen einen Haufen an Software die sich durchaus mit ihren bekannteren kommerziellen Pendants messen können. Die Qualität der Software selbst kann es also nicht sein. Oder?

Wer sich zur Anfangszeit der Netbooks, bevor XP und später Windows 7 den Markt für sich beansprucht haben, mal ab und zu bei Saturn und Konsorten herumgetrieben haben hat vor allem eines gefunden: Auf den meisten Netbooks, allem voran auf dem Asus EEE PC war Xandros vorinstalliert. Auf Debian basierend wurde als grafische Oberfläche ein KDE eingesetzt, der bis zur Unkenntlichkeit an das Design von XP angepasst war. Nicht nur hat es mir als Linux- und KDE-Nutzer schon damals im Magen weh getan dies zu sehen, hatten auch die meisten Leute deren Kommentar ich gehört habe ein gemeinsames Problem: Es sieht aus wie Windows, verhält sich aber nicht so. Meine Antwort: No na.

Wie in vielen Gegenüberstellungen der Vergangenheit kann auch hier nur der Schluss gezogen werden: Linux ist nicht Windows und wird sich niemals so verhalten. Blöderweise wollen die Nutzer aber eben nicht das Design sondern das Verhalten des Systems mit dem sie bisher gearbeitet haben auch in Zukunft haben. Insofern könnte die nächste Chance für Linux sein, wenn Microsoft tatsächlich seine Kachel-Oberfläche für Windows 8 bringt, mit einem gewohnteren Desktop aufzuwarten. Ich fürchte aber, dass die meiste Umsteiger sich eher für einen Mac entscheiden werden. Denn: "Der funktioniert einfach".

Zurück zum Thema: dass Linux auf dem Netbook gegen Windows verloren hat ist Geschichte. Netbooks werden heute weniger beworben. Tablet und Smartphones sind die aktuellen Melkkühe der Computer-Industrie. Allerdings ist es auch zu kurz gegriffen zu sagen: "Linux hat verloren weil XP erfolgreicher war". Die Nachrichten zu der Zeit sprachen eine ganz bestimmte Sprache: Linux-Netbooks hatten eine etwa gleich hohe Rückgabezahl (in Prozent) wie Windows-Netbooks. Und das obwohl das vorinstallierte Xandros (für mich) ein wahrer Graus in der Benutzung war. Aber es geht weiter: Die meisten Linux-Modelle wurden alternativ auch mit Windows XP ausgeliefert. Nach einer kurzen Zeit sogar mit besserer Hardware als die Linux-Pendants. Zum gleichen Preis.

Hä hö? Was? Ja. Ich kann mich noch gut an einen bekannten Online-Shop erinnern, der zwei Baugleiche Netbooks (mit Linux oder WinXP) zu jeweils € 239,- angeboten hat. Die Linux-HDD hatte 12 GB. Die Windows-HDD hatte 20 GB. Soll mir einer erklären wie sich das rechnet. Aber warum soll ich als Endnutzer so blöd sein und gleichviel Geld für weniger Leistung und ein mir unbekanntes System zahlen?

Wie genau das funktioniert hat ist wohl eine Frage, die uns niemals beantwortet wird. Ich kann mir beim besten Willen nicht vorstellen, dass eine Xandros-Lizenz mehr gekostet hat als eine XP-Lizenz unter Preis. Aber ich lasse mich gerne von Beweisen überzeugen. Mich interessiert das Thema jetzt, hat jemand vielleicht interessante Links die etwas mehr Einblick in diese Geschehnisse geben können?

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

=-=-=-=-=
Powered by Blogilo


Einsortiert unter:Computer, Debian, Free Software/Open Source, GNU/Linux, KDE, Microsoft, Ubuntu, Ubuntuusers

24. Juni 2011

Ich habe aus einem CRM-Programm an die 500 Adressdaten exportiert. Leider ist das Programm etwas veraltet und exportiert die Daten nur als .txt-Datei. Ich möchte diese Adressdaten in einen Webmailer importieren, welches leider nur den Import aus .vCard-Dateien erlaubt. Die Daten sind bereits bereinigt, die .txt-Datei besteht nur aus Namen und Mail-Adressen:

Vorname1;Nachname2;mail1@anbieter1.de
Vorname2;Nachname2;mail2@anbieter2.de

Um die Daten importieren zu können, möchte ich diese “Rohdaten” mit einem Script auslesen und eine neue Datei im .vCard-Format erstellen. Laut Wikipedia sieht das vCard-Format in diesem Falle so aus:

BEGIN:VCARD
VERSION:3.0
N:Nachname1;Vorname1
FN:Vorname1 Nachname1
EMAIL;TYPE=INTERNET:mail1@anbieter1.de
END:VCARD
BEGIN:VCARD
VERSION:3.0
N:Nachname2;Vorname2
FN:Vorname2 Nachname2
EMAIL;TYPE=INTERNET:mail2@anbieter2.de
END:VCARD

Mit Hilfe von awk lässt sich das in wenigen Zeilen lösen:

#! /usr/bin/awk -f

BEGIN { FS = ";" }	# Trennzeichen einstellen

## Zeilenaufbau:	[Vorname1;Nachname1;mail1@anbieter1.de]
##			    $1        $2        $3

   {	print "BEGIN:VCARD";
	print "VERSION:3.0";
	print "N:" $2 ";" $1;
	print "FN:" $1 " " $2;
	print "EMAIL;TYPE=INTERNET:" $3;
	print "END:VCARD"
	}

awk ist eine Programmiersprache zur Bearbeitung von Textdateien & Textausschnitten. In Zeile 3 wird festgelegt, dass das Trennzeichen zwischen den logischen Elementen der Textdatei das Semikolon ist. Über die “print”-Anweisungen wird definiert, wie awk die Ergebnisse der Umwandlung ausgibt. Das Script kann jetzt folgendermaßen aufgerufen werden:

chmod +x ./vcard-converter
./vard-converter quelldatei.txt output.vcard

Anmerkung: Ich möchte an dieser Stelle natürlich nicht unerwähnt lassen, dass moderne Scriptsprachen wie perl, (php), ruby oder python dieses Problem mindestens genauso elegant lösen. Eine Umsetzung in Ruby sähe demnach folgendermaßen aus:

ARGF.each do |x|
  x = x.chomp.split(/;/)
  print %(BEGIN:VCARD
VERSION:3.0
N: #{x[1]};#{x[0]}
FN: #{x[0]} #{x[1]}
EMAIL; TYPE=INTERNET: #{x[2]}
END:VCARD
)
end

Update (6.9.2011): Für Herrn Peters habe ich das Script nochmal in Python umgeschrieben, der Aufbau ist eigentlich derselbe, nur die Syntax hat sich geändert. Es geht bestimmt auch besser in Python (besonders was das Handling der Parameterdatei und die Formatierung des Strings angeht), aber funktionieren tut es… ;)

#! /usr/bin/env python
import sys  
for line in open(sys.argv[1], "r") :
    teil = line.split(";")
    print "BEGIN:VCARD\nVERSION:3.0\nN:"+teil[1]+";"+teil[0]+"\nFN:"+teil[0]+" "+teil[1]+"\nEMAIL;TYPE=INTERNET:"+teil[2]+"END:VCARD"

Gestern wurde in den Quellen von Ubuntu 11.10 eine neuere Version des Pakets “nspluginwrapper” hochgeladen. Eigentlich ist das keine spektakuläre Sache, wenn da nicht ein paar Punkte wären, die diesen Upload dann doch etwas interessanter machen:

Die von Ubuntu 11.04 normalerweise ausgelieferte Version des Pakets entspricht nahezu der Upstream-Version 1.2.2 des Plugins. Diese Version wurde Anfang 2009 veröffentlicht. Seitdem wurden sehr viele Bugfixes in das Plugin integriert (Und teilweise auch in die Debian bzw. Ubuntu-Version zurückportiert), aber eben nicht alle. So verschwanden mit dieser Version alle Darstellungsfehler die im Zusammenspiel mit dem Plugin auf meinem Rechner aufgetaucht sind.

Da es bisher kein PPA für dieses Paket gab und es relativ unwahrscheinlich ist, dass die Ubuntu-Entwickler einen offiziellen Backport erstellen, habe ich selbst einen erstellt und in mein PPA hochgeladen. Das aktualisierte Paket lässt sich sehr einfach über die folgenden Befehle aktualisieren:

sudo add-apt-repository ppa:glasen/nspluginwrapper
sudo apt-get update
sudo apt-get upgrade

Installiert man das Paket “flashplugin-installer” aus den Multiverse-Quellen, wird das Wrapper-Paket als Abhängigkeit automatisch installiert.

P.S.:

Bevor jetzt Leute daherkommen und meinen Blog mit Kommentaren im Stil von “Wer braucht schon Flash!” und “HTML5 rulez!” und Ähnlichem zumüllen:

Ja Flash ist oft eine echte Plage, vor allem wenn man keinen Werbeblocker installiert hat. Nur leider stellt es im Moment noch einen Defakto-Standard zur Bereitstellung von Videodiensten im Internet dar, den man nicht so leicht aus der Welt schaffen kann. Auch wird das Plugin auf sehr vielen Seiten benutzt um zusätzliche Informationen darzustellen (z.B. auf Spiegel Online) und ohne das Plugin geht leider einiges an Informationsgehalt und Komfort verloren. Von den vielen Flash-basierten Spielen will ich erst gar nicht anfangen. Die Alternativen wie Gnash oder Lightspark funktionieren leider nur auf einer Handvoll Seiten und das auch eher schlecht als recht, sind also keine echte Alternative.

Es gibt bereits Anleitungen, wie man die Kinect unter Ubuntu ansprechen kann, aber nicht alle davon funktionieren (noch zu 100%). Grundsätzlich gibt es zwei Wege:

Libfreenect ist die kleinere freie Variante, die problemlos funktioniert. OpenNI ist auch frei, dient aber vor allem als Grundlage für das proprietäre Nite. Nite wiederum ist abgesehen von seiner Unfreiheit toll, denn damit kann OSCeleton genutzt werden, ein Proxy für die Körpererkennungsdaten. Libfreenect hat in der Richtung noch gar nichts.

Skelettracking auf Youtube

Anforderungen

Mir ging es um OSCeleton, daher musste OpenNI installiert werden.

Allerdings, nochmal betont: Libfreenect ist unproblematischer, kann zusätzlich die Mikrofone der Kinect nutzen und lief in meinen Tests sofort.

Der "OpenNI + Nite + OSCeleton"-Weg dagegen stellt ordentlich Anforderungen: Die CPU muss SSE3 und SSSE3 können (Nite erfordert das) und es muss ein 32-Bit-Linux sein (keine offizielle Anforderung, aber nur da bekam ich es zum Laufen. Hinweis erbeten, falls das nicht stimmt.).

Auf SSE3 prüft man mit

cat /proc/cpuinfo | grep pni

Auf SSSE3 mit

cat /proc/cpuinfo | grep ssse3

Installation von OpenNI + Nite + OSCeleton unter Ubuntu 11.04

Vorab: Finger weg von den .deb-Paketen für OSCeleton und OpenNI. So viel einfacher das damit mal werden wird, deshalb hier auch verlinkt, bei mir funktionierten sie bisher nicht.

Die folgende Anleitung ist eine Nachstellung meines Installationsweges, sie muss nicht zu 100% stimmen.

Pakete installieren:

libusb-1.0.0-dev libusb-1.0.0 freeglut3 git libmono-winforms2.0-cil

OpenNI installieren

git clone https://github.com/OpenNI/OpenNI.git 
cd OpenNI/Platform/Linux-x86/CreateRedist
./RedistMaker
cd ../Redist/
sudo ./install.sh

Sensormodul installieren

git clone https://github.com/boilerbots/Sensor.git
cd Platform/Linux-x86/CreateRedist
./RedistMaker
cd ../Redist/
sudo ./install.sh

Nite (unstable) herunterladen: Downloadseite, 32-Bit-Direktlink

Entpacken, dann Installieren:

sudo ./install.sh

Jetzt sollten die Samples in /Samples/Bin/Release/ funktionieren, im Zweifel mit Rootrechten testen.

Fehlt nur noch OSCeleton:

git clone https://github.com/Sensebloom/OSCeleton.git
cd OSCeleton
make

./osceleton kann nun direkt, im Zweifel wieder mit Rootrechten, verwendet werden.

OSCeleton sendet die Daten dann an 127.0.01:7110, ich bin noch am ausprobieren, wie man das möglichst einfach auslesen kann. netcat mit nc -l 7110 schien keine ankommenden Daten zu bemerken, Ideen? mit

dump_osc 7110

aus dem Paket pyliblo_osc kann man sie anzeigen.



In letzter Zeit bekomme ich immer mehr Anfragen, wie man bestimmte Sachen mit Hilfe von Inkscape erstellen kann. Auch die Suchanfragen an mein Blog haben immer mehr mit derartigem zu tun. Am meisten wird angefragt, wie man denn Shiny oder Glossy-Button mit Inkscape erstellt. Darüber habe ich vor langer Zeit ja schon einmal ein kleines Tutorial geschrieben.

Scheinbar wollen es die Leute allerdings noch sehen, wie das geht, deshalb gibt es das Ganze jetzt noch als Screencast.

    Vor ein paar Wochen habe ich mal AcidRip vorgestellt, ein kleines Programm, das den mplayer dazu benutzt, DVDs zu rippen (d.h. die DVD auf der Festplatte zu speichern). Heute möchte ich kurz auf das Programm Handbrake eingehen.

    Es handelt sich auch hier um ein Programm, mit dem man nicht kopiergeschützte DVDs auf der Festplatte speichern kann, etwa wenn man mit dem Laptop in den Urlaub fährt und nicht jeden Datenträger mitnehmen möchte.

    Es lässt sie ganz normal über die Paketverwaltung von Ubuntu installieren, Benutzer von Mac OSX oder Windows können die Installationsdateien auch auf der Homepage des Projektes herunterladen.

    Danach ist die Handhabung ziemlich einfach: Die DVD einlegen, das Programm dürfte alles notwendige erkennen, andernfalls klickt man oben auf Source und wählt eine neue Quelle aus. Durch die vorgegebenen Profile in der rechten Seitenleiste muss man sich dabei nicht einmal Gedanken über Codecs machen, denn das kann das Programm von alleine einstellen.

    Systemlast geht sehr schnell auf Höchstlast

    Das kopieren auf die Festplatte dauert relativ lange. Je nach Leistung des PCs, gewählten Codecs und Filmlänge kann es sich auch schon mal über eine Stunde hinziehen. Dabei steht die Prozessorenlast dauerhaft auf Maximum (wie der Screenshot zeigt).

    Eine Meldung über das Notify-OSD zeigt an, wenn die Bearbeitung abgeschlossen ist. Das Ergebnis kann dann im Videoordner angesehen werden.

    So, endlich geschafft. Alle Abschlussprüfungen sind durch und es stehen mir nur noch die Abschlussfeiern bevor :D . Die Berufsmatura habe ich bereits bestanden, die Note für meine IPA steht noch aus. Damit geht meine vierjährige Lehre zum Informatiker und ein Lebensabschnitt zu Ende.

    Die Lehre hat mir sehr viel Spass gemacht und ich habe eine Menge gelernt (wäre falsch wenn es anders wäre ^^). Ich habe in dieser Zeit viele neue tolle Kollegen und Mitarbeiter kennengelernt. An dieser Stelle danke ich allen Personen, die mich während meiner Lehre so super unterstützt haben!

    Was bedeutet der Lehrabschluss für diesen Blog?

    Anfangs habe ich ja den Blog erstellt, damit ich Probleme und Lösungen während meiner Lehre aus meinem Alltag aufschreiben kann. Obwohl die Lehre jetzt zu Ende ist, werde ich den Blog weiterführen. Da ich weiter in der Informatik arbeite, werde ich sicher wieder auf interessante, schreibenswerte Dinge stossen und darüber berichten.

    Der eine oder andere hat vielleicht bemerkt, dass ich in den letzten Monaten weniger Beiträge in diesem Blog geschrieben habe. Da die Abschlussprüfugen jetzt vorbei sind, habe ich wieder ein gutes Stück mehr Zeit, um Beiträge für diesen Blog zu schreiben. Ihr dürft euch also wieder auf mehr Beiträge freuen ;-) .

    Von einem Kollegen weiss ich, dass er ebenfalls die Informatiklehre abgeschlossen hat. Da es unter den Lesern bestimmt den einen oder anderen Informatiklehrling hat, wer schliesst ebenfalls in diesem Sommer seine Lehre ab?

    Zahlenspielereien

    Ich weiß noch nicht, wie ich es finden soll, das neue Versionsnummermodell von Mozilla. Das Prinzip: “release often, release early” empfinde ich ja prinzipiell als richtig, ob man dafür aber wie bei Google auf Major-Release nummer zugreifen sollte, ist eher fraglich.

    Im Gegensatz zu allen anderen Browserherstellern hat Google in Chrome seine Versionsnummern nie sonderlich prominent vermarktet, sondern im Hintergrund still und leise Updates geliefert, lediglich die Versionen, die absolut neue Features herausbrachten, wie beispielsweise Plugins wurden meiner Erinnerung nach etwas offensiver beworben.

    Die Vorteile von schnellen Versionssprüngen:

    • Marketing

      Es wird wahnsinnige Entwicklungsgeschwindigkeit simuliert

    • Versionsvergleichbarkeit

      Keine bzw. wenige Zwischennummern wie “3.5.1″ machen dem User deutlicher, womit er surft.

    Und die Nachteile:

    • Die Plugin-Prüfung

      Plugin-Autoren müssen nun jedes Major-Release angehene, auch wenn sich an den Schnittstellen wenig bis gar nichts ändert, weil der Großteil der schnell updatenden User sonst vergrault wird.

    • Webentwickler / Testing

      Erklärt mal dem Kunden, warum ihr Websites mit dem 5er aber nicht dem 4er testet (oder anders herum). Im Business-Umfeld beim Kunden ist ein schnelles Updaten eher unüblich, während Entwickler meist schon ein gutes Stück voraus sind. Das wird sich hier verschärfen.

    • Linux-Distributionen

      Wenn Linux-Distributionen bei ca. 6 Monaten Release-Zeiträumen 2 Versionen eines der vermutlich meistgenutzten Browsers “verschlafen”, wird das vermutlich einiges an Unmut hervorrufen, auch, da nicht ganz klar ist, wie der Support bei Critical Issues in Bezug auf Versionsnummern aussieht. 

      Bei Distributionen, die die “Vanilla”-Version mit Mozilla-Branding und Namen verwenden, wie beispielsweise Ubuntu, wird das ganze aufgrund der Lizenzpolitik sowieso interessant.

    Ich finde, hier hat Mozilla, die ihre Versionsnummern doch recht offensiv vermarkten, sich und der Community keinen Gefallen getan. Ich bin auch der Meinung, dass die Vorteile, die ich hier herausgestellt habe (ihr dürft gerne auch Pro und Kontra-Punkte in den Kommentaren ergänzen), die Nachteile nicht auch nur ansatzweise aufwiegen.

    Und das ich von oberflächlichem Marketing zum Selbstzweck nichts halte, sollte hinreichend bekannt sein.

    sivvus tools big Modulverwaltung unter Linux vfat ubuntu treiber rmmod planetuu modules.dep module modprobe modinfo lucid lynx lucid lsmod lpic 202 lpic 2 lpic linux insmod FAT depmod blacklisting Module sind Vermittler zwischen Hardware und dem Kernel des Betriebssystems. Ihre Aufgabe ist es, die gewünschte Funktion der Hardware sicherzustellen.

    Dieser Artikel versucht einen grundlegenden Einblick in die Organisation und Verwaltung von Modulen unter Linux zu geben. Mit Linux-Distributionen wie Ubuntu gibt es zwar meist keine Probleme mit Modulen (Windows: “Treiber”). Denn Module werden heutzutage bei  modernen Linux-Systemen automatisch ge- und entladen, ohne dass der Benutzer groß damit behelligt würde.

    Trotzdem wird wahrscheinlich jeder Linuxnutzer irgendwann einmal auf ein Problem mit Modulen stoßen.

    Früher war es oft ein Gefrickel, Abhängigkeiten von Modulen manuell zu erfüllen. Denn oft brauchen Module weitere Module, damit sie ihre Aufgabe erfüllen können. modprobe ist ein aktueller Befehl, um Module zu laden und zu entladen. Er setzt auf dem alten Befehl insmod auf. Zusätzlich erkennt er aber die Abhängigkeiten automatisch und kann diese mit berücksichtigen. Benötigt ein Modul weitere Module, so werden diese erkannt und automatisch geladen, und zwar vor dem eigentlichen Modul.

    Module und Abhängigkeiten

    Die Abhängigkeiten der einzelnen Module sind in der Datei…

    /lib/modules/<kernelversion>/modules.dep

    …festgelegt, wobei <kernelversion> natürlich durch die aktuelle Kernelversion ersetzt werden muss. Diese lässt sich ganz einfach herausfinden mit uname -r:

    uname -r
    2.6.32-25-generic

    modprobe ruft modules.dep auf, um die Abhängigkeiten zu erfahren, die vor dem eigentlichen Modul geladen werden müssen. Links steht jeweils das Modul, hinter dem Doppelpunkt die zusätzlich benötigten Abhängigkeiten. Ein Blick in diese Datei (Auszug) zeigt …

    $ cat /lib/modules/2.6.32-25-generic/modules.dep | grep fat
    kernel/fs/fat/fat.ko:                             # Zeile 1
    kernel/fs/fat/vfat.ko: kernel/fs/fat/fat.ko       # Zeile 2
    kernel/fs/fat/msdos.ko: kernel/fs/fat/fat.ko      # Zeile 3

    …dass das Modul vfat abhängig von dem Modul fat ist (Zeile 2).  Und auch das Modul msdos braucht fat (Zeile 3).  Alle auf dem System verfügbaren Module sind in modules.dep gelistet, auch solche Module, die keine Abhängigkeiten haben (Beispiel Zeile 1: fat).

    Um vfat und seine Abhängigkeiten zu laden genügt:

    modprobe vfat

    Erst wird fat (werden alle Abhängigkeiten) geladen, dann vfat (das eigentlich zu ladende Modul). Um vfat wieder zu entladen, nutzt man die Option -r:

    modprobe -r vfat

    Mein Mausmodul psmouse hängt nicht von anderen Modulen ab:

    $ grep psmouse /lib/modules/2.6.32-25-generic/modules.dep
    kernel/drivers/input/mouse/psmouse.ko:

    Geladene Module anzeigen

    Eine Liste aller geladenen Module lässt sich mit lsmod anzeigen (Auszug):

    $ lsmod
    Module Size   Used by
    (...)
    video  17375  0
    output 1871   1    video
    (...)

    Das Ergebnis wird in vier Spalten angezeigt. Zunächst der Name des Moduls (video), dann seine Größe, (17375) dann die Anzahl der Module, die das Modul nutzen (0) und schließlich die Namen der Module, die es nutzen (leer, da 0). Das Modul output wird also von einem Modul genutzt und das ist video. Einen ähnlichen Output erzeugt ein Blick in die Datei:

    /proc/modules

    Abhängigkeiten aktualisieren

    Wichtig ist natürlich, dass /lib/modules/<kernelversion>/modules.dep immer aktuell gehalten wird, damit modprobe korrekt arbeiten kann. Deshalb wird die Datei bei jedem Systemstart auf den neuesten Stand gebracht. Wenn sich Modulabhängigkeiten im laufenden Betrieb geändert haben, kann man modules.dep auch manuell aktualisieren:

    depmod -a

    Wenn nach einem manuellen Eingriff das Laden eines Moduls scheitert, ist depmod -a oft die Lösung des Problems.

    Individuelle Konfiguration einzelner Module

    Das Verhalten von modprobe kann darüberhinaus für einzelne Module konfiguriert werden (optional). So können einzelnen Modulen u.a. Aliase zugeordnet werden. Interrupts können zugeordnet werden oder Shellskripte vor dem Laden eines Moduls ausgeführt werden. Oder das Laden bestimmter Module kann ganz verhindert werden (blacklisting).

    In vielen älteren Distributionen geschah dies in der Datei /etc/modules.conf (/etc/modprobe.conf, /etc/conf.modules…). In Ubuntu Lucid Lynx (LTS) legt man dazu eine Konfigurationsdatei im Verzeichnis /etc/modprobe.d ab. Beispiel für das Blacklisting von Modulen:

    $ cat /etc/modprobe.d/nvidia-graphics-drivers.conf
    blacklist nouveau
    blacklist lbm-nouveau
    blacklist nvidia-173
    blacklist nvidia-96

    Informationen zu einzelnen Modulen anzeigen

    Einen guten Überblick über Informationen zu einem bestimmten Modul erlaubt modinfo.

    $: modinfo fat
    filename: /lib/modules/2.6.32-25-generic/kernel/fs/fat/fat.ko
    license: GPL
    srcversion: F3CEDF3D6DC8D993978847D
    depends:
    vermagic: 2.6.32-25-generic SMP mod_unload modversions 586

    Alle LPIC-202 Artikel

    Kommentieren Permalink | © 2011 by Netz 10 | Tags: , , , , , , , , , , , , , , , , , , ,

    Linux
    Ich bin bei der Beobachtung meines CPU Plasmoids etwas skeptisch geworden. Das zeigt mir immer an, mit welcher Megahertz oder Gigahertz Zahl mein System gerade läuft. Allerdings bewegte sich das Teil seit Tagen nicht mehr und blieb stur auf 800MHz. Auch als ich Effekte auf eine große Audiodatei anwandte, wollten die MHz nicht in die GHz wechseln.

    Also erstmal das Paket cpuburn installiert und mit einem zweifachen (in jeweils einer eigenen Konsole, weil Dualcore) burnP6 den Cores alles abverlangt. Ergebnis 800MHz. WTF?!

    Daraufhin habe ich das Paket cpufreq installiert und bekam bei der Ausgabe von cpufreq-info

    momentane Taktik: die Frequenz soll innerhalb 800 MHz und 800 MHz. liegen. Der Regler "ondemand" kann frei entscheiden, welche Taktfrequenz innerhalb dieser Grenze verwendet wird. momentane Taktfrequenz ist 800 MHz.

    Welcher Hippie hat den sowas vorkonfiguriert? Habe ich mir gedacht. Nach einer etwas langwierigen Suche und mantraähnlichem Gefluche, brachte mich das Thinkwiki auf den Gedanken, dass der “verstrahlte” Hippie doch mit Love, Peace, Intelligence ans Werk gegangen war und das Problem gar nicht an der Software bzw am Betriebsystem lag.

    Der entscheidende Hinweis war, dass im BIOS die CPU bzw Powereinstellung nicht einem Wert ähnlich wie “balanced” oder “automatisch” stehen sollte.

    Kaum geändert und schon funktioniert alles, wie es soll.

    Nun kann ich einfach mit den cpufreq-set Befehlen in der Konsole umschalten

    sudo cpufreq-set -g ondemand -c0
    sudo cpufreq-set -g ondemand -c1

    und live dabei zuschauen, was die CPUs so machen kann ich mit diesem Befehl

    watch grep \"cpu MHz\" /proc/cpuinfo

    Pardon für den Hippie .. aber so im Eifer des Gefechts, werde ich manchmal unfair. PEACE!

    23. Juni 2011

    Die VirtualBox nutze ich gelegentlich, um damit ein Windows hochzufahren. Wir setzen beim Arbeitgeber eine Firewall mit einer VPN-Lösung ein, welche nur für Mac und Windows Clients anbietet. Immerhin gibt es eine SSL-VPN-Alternative. Trotzdem verwende ich ab und zu den VPN-Klient unter Windows und damit auch die VirtualBox. Und wenn ich die schon im Einsatz habe, wollte ich auch noch testweise ein Ubuntu-Serverli in Betrieb nehmen. Das klappt ja ganz gut und läuft ganz flüssig. Ich nutze die LTS-Version 10.04 Lucid Lynx, welche bis im April 2015 gepflegt wird.

    Von Haus kann das virtuelle Serverli dann über das Netzwerk auf den Wirt zugreifen, auch ohne VirtualBox-Erweiterung. Aber umgekehrt geht es nicht auf Anhieb. Es braucht eine Netzwerk-Brücke dazu, die sich unter der VirtualBox ab der Version 4 ganz einfach einrichten lässt.

    Bei abgeschalteter Maschine unter Netzwerk einen zweiten Adapter aktivieren, dort Netzwerkbrücke auswählen und bei “Angeschlossen an” diejenige Schnittstelle auswählen, an der der Wirt hängt. In meinem Fall ist das wlan0. Unter Erweitert kann man optional die Mac-Adresse angeben oder einen andern Kartentreiber einsetzen. Das ist schon alles, was an der VirtualBox zu tun ist.

    Danach soll der Server gestartet werden, damit die Einrichtung an der Konfigurationsdatei vorgenommen werden kann. Die liegt unter /etc/network/interfaces und kann mit nano oder vim bearbeitet werden:

    sudo vim /etc/network/interfaces

    In der Datei habe ich eine weitere Schnittstelle angelegt, wobei ich sie mit eth1 – also der nächsthöheren – benannt habe. Die Regel in der Datei /etc/udev/rules.d/70-persistent-net.rules legt meines Wissens fest, dass jeweils die nächsthöhere Ziffer benutzt wird. Der Abschnitt sieht dann so aus:

    auto eth1
    iface eth1 inet static
    address 192.168.1.111
    netmask 255.255.255.0

    Ich habe der Schnittstelle eine statische Adresse ausserhalb des DHCP-Ranges verpasst, so dass sie sich nicht verändern soll. Wichtig ist, dass der eth1 kein Gateway zugewiesen wird. Jener soll ausschliesslich über die eth0 benutzt werden.

    Jetzt muss nur noch das Netzwerk am Server neu gestartet werden:

    sudo /etc/init.d/networking restart

    Sofern das Paket openssh-server auf dem Serverli installiert ist, sollte nun vom Wirt auf den Gast zugegriffen werden können. Bei mir klappte das auf Anhieb:

    ssh roman@192.168.1.111

    Und so lässt es sich ganz leicht und schnell arbeiten. Die lokale Verbindung realisiert der Server über die eth1, die Verbindung nach draussen in das Internet erfolgt über die eth0. Das klappt ganz gut so.

    PDF-Datei dieses Artikels erzeugen

    Ähnliche Artikel

    Eine ganze Weile lang habe ich überlegt, heute habe ich endlich mal auf dem HTC Wildfire die CyanogenMod 7 installiert, die in der stabilen Version Android 2.3.3 aufs Handy bringt. Eine Anleitung dazu möchte ich hier nicht verfassen, davon gibt es im Netz reichlich, zum Beispiel hier, hier oder bei Google.

    Für das Installieren von CyanogenMod sollte man – wenn man es noch nie gemacht hat und viel nachlesen muss (so wie ich) – mindestens eine halbe Stunde Zeit einplanen. Diese Investition lohnt sich aber wirklich, denn das Wildfire reagiert mit der alternativen Firmware auch wesentlich flotter und ist wirklich angenehm zu bedienen. Zudem ist das ganze gar nicht so schwer, wie ich anfangs befürchtet hatte. Wenn man unbedingt die HTC Sense-Oberfläche nutzen möchte sollte man allerdings die Finger davon lassen, denn CyanogenMod bringt ADW Launcher als Oberfläche mit. Auch die aus Sense gewohnten Widgets wird man hier logischerweise nicht finden.

    Wie gesagt: CyanogenMod läuft wirklich gut auf dem Wildfire, sogar wesentlich schneller als Android 2.1 oder 2.2. Das ist schon alleine deshalb erstaunlich, weil mit dem ADW Launcher standardmäßig recht viele Animationen aktiviert sind – in der von HTC gelieferten Version sind Animationen größtenteils deaktiviert. Zudem kommt CyanogenMod mit relativ wenigen Standard-Programmen daher, von denen sich viele auch deinstallieren lassen. Einen Überblick über die Programme gibt es hier.

    Beim Nachinstallieren von Software kann man hier und da allerdings auf das eine oder andere Problemchen stoßen. Zum Beispiel motzt Google Mail – aus welchem Grund auch immer – dass es sich hierzulande nicht installieren lassen will. Über Twitter bekam ich dann allerdings den Tipp, dass man dem Market einen anderen Standort/Netzbetreiber vorspielen kann. Dadurch funktioniert das Installieren von Google Mail problemlos.

    Ein weiterer Stolperstein ist die App2SD-Funktion. In den Einstellungen zu CyanogenMod kann man ein standardmäßiges Installieren von App auf die Speicherkarte einstellen. Dies hatte bei mir zur Folge, dass Apps wie Twitter und Facebook sich ihre Zugangsdaten nicht merken konnten. Widgets funktionierten damit auch nicht. CyanogenMod scheint da nicht zu prüfen, ob die App läuft oder nicht, er schiebt – wenn man es ihm sagt – einfach alles auf die Karte. Mit den Apps/Widgets auf dem internen Speicher hatte ich diese Probleme dann nicht mehr.

    Möchte man wie ich SlideIT als Tastatur verwenden sollte man darauf achten, dass Talkback beim Einrichten des Google-Kontos bei der Nachfrage zu installierender Programme (Maps, Streetview, …) nicht mitinstalliert wird. Meine Programme haben sich nicht gemerkt, dass SlideIT verwendet werden soll und auch in den Einstellungen zur Sprache und Tastatur wude die Auswahl von SlideIT immer wieder aufgehoben. Nachdem ich Talkback runter geworfen und SlideIT (+ Sprachpakete) nochmal neu installiert hatte klappte alles wunderbar.

    Für Freunde der fliegenden Vögel: In der CyanogenMod habe ich es erstmals geschafft auch Angry Birds zum laufen zu bringen, auch wenn das Wildfire sonst recht Schwach auf der Brust ist. In den von HTC gelieferten Versionen funktionierte das gar nicht.

    Zum Schluss möchte hier noch kurz anmerken, dass ich mit der CyanogenMod einen besseren Empfang im Netz von blau.de (E-Plus) feststellen konnte als mit den Versionen 2.1 und 2.2 von Android, die von HTC geliefert wurden.

    Falls jemand da draussen genau so vergesslich wie ich sein sollte, dann ist es allenfalls hilfreich, nachzulesen, wie ein verstaubter, vergessener Ubuntu-Server mit der Version Jaunty Jackalope (9.04) wieder zum Leben erweckt werden kann. Jaunty ist ja keine LTS-Version und hat bereits im Oktober 2010 das Ende des Lebens (EOL) erreicht. Ich wollte direkt auf die aktuelle LTS-Version (Lucid Lynx 10.04) wechseln. Offiziell geht das allerdings nicht, aber man kriegt es hin.

    Auf dem Server läuft PHP, Apache, Postfix und MySQL. Da es sich nicht um eine produktive Maschine handelt, wagte ich einen Upgrade, statt die Maschine neu zu machen. In der Konsole befahl ich zunächst, die sources.list anzupassen, ein Update, Upgrade und Dist-Upgrade zu fahren:

    sudo sed 's/jaunty/lucid/g' /etc/apt/sources.list -i && sudo apt-get update && sudo apt-get dist-upgrade -y

    Das hat soweit geklappt. Man muss bei den Fragen nach dem Handhaben der Konfigurationsdateien der verschiedenen Diensten wie Apache, MySQl und PHP befehlen, dass die aktuelle Version beibehalten wird. Allerdings wurden die MySQL-Pakete zurückbehalten. So habe ich von Hand noch einmal

    sudo apt-get dist-upgrade

    befohlen. Die Pakete für den MySQL-Server und dem Client wurden dann installiert. Danach startet der MySQL-Server aber nicht mehr richtig. Also stoppte ich zur Sicherheit den Dienst:

    sudo /etc/init.d/mysql stop

    und erzeugte eine Sicherung aller Datenbanken als Dateien:

    sudo cp -Rp /var/lib/mysql/ [pfad zur Sicherung]

    Danach deinstallierte ich den MySQL-Server vollständig:

    sudo apt-get remove --purge mysql-client-5.1

    und installierte ihn hernach neu:

    sudo apt-get install mysql-server

    Und siehe da: Das Zeug läuft wieder. Woran es genau gelegen hat, weiss ich nicht. Aber so funktionierte es wieder und das zählt ja schliesslich. Ich brauchte nicht einmal die zuvor erstellte Sicherung.

    PDF-Datei dieses Artikels erzeugen

    Ähnliche Artikel

    Dirk hat nach den Webseiten der Programme in dieser wunderschön präsentierten, aber eben linklosen Sammlung gefragt. Hier sind sie:

    dstat & sar
    Systemmonitore
    htop & iotop
    Prozess- und IO-Monitore
    slurm
    Netzwerkmonitor (Hauptseite tot)
    ttyrec & ipbt
    Terminalrekorder
    vim & emacs
    Editoren
    rsync
    Schneller Dateitransfer
    screen & dtach & tmux & byobu
    Multiple Terminals in einem.
    mtr
    Netzwerkdiagnose
    MultiTail
    Dateimonitor
    socat & netpipes
    Datentransfer durch Sockets und Streams
    tpp
    Präsentationen
    iftop & iptraf
    Trafficmonitore
    xargs & parallel
    Man übergibt eine Liste von Eingaben und die beiden verarbeiten sie in Befehle.
    siege & tsung
    Server-Stresstests
    duplicity & rsyncrypto
    Backupprogramme
    ledger
    Buchhaltung
    nethack & slash'em
    Computerspiele, Rogue-like
    taskwarrior
    Todo-Liste
    lftp
    ftp/http-Client
    curl
    curl wird oft alternativ zu wget verwendet, Dateitransfer über verschieden Protokolle, hilfreich auch als Modul in PHP.
    ack
    Die URL sagt alles, "better than grep".
    rtorrent & aria2
    Torrent-Programme
    calcurse & remind + wyrd
    Kalender
    TTYtter & earthquake
    Twitterclients
    newsbeuter & rsstail
    RSS-Reader
    vifm & ranger
    Dateimanager
    PowerTOP
    Dem Namen nach ein Energiemonitor. Genauer: Beobachtet, welche Prozesse das System aus dem idle-Zustand reißen, wodurch der Energieverbrauch erhöht wird. Teil eines größeren Intel-Projekts.
    cowsay
    Muuuh

    Defaultmäßig wird unter Debian Squeeze Nmap in der Version 5.00-3 über die Paketverwaltung installiert. Wenn man die aktuelleste Nmap Version installieren möchte muss man selbst Hand anlegen und das Paket kompilieren.

    Weitere Nmap HowTo’s findet ihr hier: www.root-on-fire.com/nmap/

    Vorkehrungen
    Um Nmap kompilieren und installieren zu können wird bei einem frisch installierten Debian Squeeze noch ein C Compilier z.B. g++ benötigt, optional auch noch bzip2 wenn man das Standard Bzip2 Paket nimmt.

    Installation
    Download und Validierung des heruntergeladenen Paketes habe ich in einem früheren Blogpost bereits ausgiebig beschrieben: Nmap 5.00 Installation

    root@r-o-f:~# bzip2 -cd nmap-5.51.tar.bz2 | tar xvf -
    root@r-o-f:~# cd nmap-5.51
    r-o-f:~/nmap-5.51# ./configure
    root@r-o-f:~/nmap-5.00# make
    root@r-o-f:~/nmap-5.00# make install
    

    Nach erfolgreiche Installation kann man anschließend mit nmap –version die Version überprüfen.

    root@r-o-f:~# nmap --version
    
    Nmap version 5.51 ( http://nmap.org )
    

    Nmap Installation

    configure: WARNING: Failed to find openssl/ssl.h so OpenSSL will not be used.
    Wenn beim Kompilieren die Fehlermeldung kommt, dann fehlen die OpenSSL Header, entweder man kompiliert Nmap ohne SSL-Unterstützung oder man installiert das erforderliche Paket nach:

    root@r-o-f:~# aptitude install libssl-dev
    

    Fehlermeldung: Failed to find openssl/ssl.h so OpenSSL will not be used

    checking openssl/ssl.h usability... no
    checking openssl/ssl.h presence... no
    checking for openssl/ssl.h... no
    configure: WARNING: Failed to find openssl/ssl.h so OpenSSL will not be used.
            If it is installed you can try the --with-openssl=DIR argument
    

    Wenn Debian mittels Unetbootin über einen USB-Stick auf dem Zielsystem installiert wird, bekommt anschließend Probleme wenn man einen USB-Stick oder eine USB-Festplatte anschließt.

    Beim Automount bekommt man die Meldung:

    Einhängen von USB nicht möglich

    Error mounting: mount exited with exit code 1: helper failed with:
    mount: wrong fs type, bad option, bad superblock on /dev/sdg1,
    missing codepage or helper program, or other error
    In some cases useful info is found in syslog – try
    dmesg | tail or so

    Dies passiert, da während der Installation die USB-Ports in der /etc/fstab als CD-Laufwerk eingetragen werden. Man kann sich ganz einfach behelfen, indem man wie hier in meinem Fall vor die Zeile mit /dev/sdg1 eine # setzt. Das sieht dann in der fstab so aus:

    #/dev/sdg1 /media/cdrom0 udf,iso9660 user,noauto 0 0
    /dev/scd0 /media/cdrom1 udf,iso9660 user,noauto 0 0

    /dev/scd0 ist mein „echtes“ CD-Laufwerk

    Anschließend werden USB-Laufwerke wieder gemountet. :)


    In RadioTux Episode 131 fand ich den Hinweis auf die Cool, but obscure unix tools von Kristóf Kovács und da sind wirklich einige Schätze dazwischen. Es handelt sich dort ausschliesslich um Kommandozeilenprgramme. Schön ist, dass die meisten direkt über die Paketverwaltung installiert werden können. Leider sind keine Links gesetzt.

    Wenn sich jemand bewogen fühlt, alle Websiten herauszusuchen, würde ich von hier darauf verlinken:
    Malte hat es getan.