Skip to content

Linux Schlafstörungen

Mein PC zu Hause hat einen (von mir) kontrollierten Schlaf. Drücke ich den Ein/Aus Knopf oder bin eine Stunde nicht am Rechner geht er in den Schlaf, sprich Standby-Modus/Ruhezustand oder auch ACPI-Zustand S3.
Will ich etwas von ihm wecke ich ihn über den Knopf wieder auf oder schicke über die Fritzbox oder meinem Raspberry Pi den magischen Befehl zum aufwachen übers Netzwerk.

Ist praktisch, funktioniert gut. Oder besser gesagt: funktionierte.

Denn vor gefühlt einer Ewigkeit hörte der Rechner nicht mehr auf die Aufwachkomandos aus dem Netzwerk. Das benötige ich zum Glück nicht mehr so häufig, seit ich den Raspberry Pi habe, aber es ärgerte mich schon aus Prinzip. Aber dann doch nicht genug, um da längere Zeit in die Fehlersuche zu investieren.
Nach irgendeinem Update vor ein oder anderthalb Wochen wollte der Rechner allerdings auch nicht mehr in den Ruhezustand gehen. Zwar ging er in den Ruhezustand, wachte aber sofort wieder auf. Das nervte mich schon sehr viel mehr. Denn ich habe mich daran gewöhnt, den Rechner schnell schlafen zu legen und später dann einfach an gleicher Stelle weiter zu arbeiten.

Nach einiger Suche mit journalctl -f beim Versuch denn Standbymodus zu aktivieren und Kontrolle, was /proc/acpi/wakeup als zum Aufwachen erlaubte Geräte ausgibt kam ich darauf, den NetworkManager zu kontrollieren. Sah eigentlich gut aus, “Vorgabe” klingt nach Standardwerten und die funktionierten jahrelang.
Aber etwas probiert und siehe da: Vorgabe ist falsch. Explizit das Aufwachen auf nur die Magic Packets konfigurieren bewirkt das gewünschte Verhalten:NetworkManager LAN Verbindung

Offenbar hatte vor ewigen Zeiten ein Update dafür gesorgt, daß die Einstellung Vorgabe nicht mehr auf die Magic Packets des WOL Standards reagiert. Dafür mag es Gründe geben, ich würde es eigentlich für mich aber nicht abschalten.
Ein weiteres Update vor ein bis zwei Wochen muss das Verhalten dann noch einmal verändert haben, so daß jetzt aber standardmässig auf andere Signale reagiert wird, die ich hier im Netzwerk rumfliegen habe. Die Fritzbox ist ein UPnP AV-Server, der Raspberry Pi serviert bei NFS und CIFS und was der Blu-Ray Player und das FireTV so im Netzwerk bekannt geben habe ich jetzt nicht nachgesehen. Irgendetwas wurde aber von der Einstellung “Vorgabe” erfasst und hat den Rechner sofort wieder aufgeweckt.

Also habe ich nun zu Hause das getan, was ich bei meinem vorigen Arbeitgeber immer gepredigt habe: das gewünschte Verhalten explizit konfigurieren! Industrieanlagen sind meist auch wichtiger als mein informationstechnisches Wohlbefinden zu Hause, aber es gilt genauso. Also den NetworkManager explizit so konfiguriert, daß er bzw. die Netzwerkkarte nur auf die Magic Packets reagieren soll und schon läuft alles wie es immer war und soll. Er geht wieder brav schlafen und wacht auf Kommando wieder auf. So soll es sein!

Merke: egal ob Industrieanlage oder Daddelkiste: Wenn Du etwas bestimmtes willst, dann stell es auch explizit ein und verlass dich nicht auf die Standardwerte. Denn die können sich ändern. Lesson learned.

Interessanterweise zeigte mein zur Kontrolle herangezogenes Windows (8 · 8.1 · 10) immer bei beiden Problemen das gleiche Verhalten wie mein Linux. Es scheint die Einstellung der Netzwerkkarte also von Haus aus gar nicht anzufassen. Grundsätzlich finde ich das gut, aber ich muss bei Gelegenheit trotzdem mal nachsehen, ob und wo man das tun könnte wenn man es wollte. Denn bei Problemen ist es immer gut ein zweites System zur Kontrolle zu haben und es ist doppelt gut, wenn es ein ganz anderes System ist. Also bei [Hardware]Problemen mit Windows ein Linux zur Kontrolle nehmen und umgekehrt.

  • Twitter
  • Facebook
  • Bookmark using any bookmark manager!

Google Chrome - Gedanken vorab (aktualisiert)

Nun ist er da bzw. steht vor der Tür: Googles Browser “Chrome”. Gestern gelangte ein Comic in dem der Browser vorgestellt wird früher als geplant an die Öffentlichkeit.

Eine ziemlich coole Form der Produkteinführung.
Ein Browser von Google ist eine spannende Sache und der Comic klingt auch wirklich gut. Wobei klar ist sein sollte, dass wie bei jeder Produktvorstellung die Vorteile gezeigt werden, nicht die Nachteile. Daher hier meine Gedanken dazu:

Der Browser scheint erstmal eine Art Container zu starten in dem dann einzelne Instanzen des eigentlichen Browsers gestartet werden. Jedes Fenster und Tab bekommt seinen eigenen Browser, daher kann auch jedes Tab einzeln “abgeschossen” werden und blockiert ggf. nur sich selbst und nicht den Rest. Eine gute Sache, das ist bei bisherigen Browser in der Tat ein Problem. Aber: Das Problem der Blockade liegt am schlechten Threading. Chrome begegnet dem nicht durch ‘besser machen’ sondern durch ‘anders machen’: Chrome forkt, d.h. für jedes Tab wird ein kompletter Browser gestartet. Das hat wie im Comic dargelegt den Vorteil, dass ein geschlossenes Tab auch wirklich seinen Speicher komplett freigibt, der Speicher mit der Zeit also nicht fragmentiert. Es hat aber auch den Nachteil, dass man für jedes Tab einen kompletten Browser im Speicher hat. Inkl. Renderengine und allem Drum und Dran. Man braucht daher erstmal mehr Speicher als wenn man Renderengine & Co nur einmal im Speicher hat die einfach alle Seiten darstellt. Ein konsequenteres Threading hätte dafür gereicht. In der Unix-Welt waren früher Threads unüblich, es wurde immeer gefokrt. Das hat sich in den letzten Jahren geändert, Threads haben Vorteile. Gerade Serveranwendungen wie Apache nutzen eine Mischform, jeder Prozess startet z.B. 20 Threads und erst dann wird geforkt, also ein neuer Prozess gestartet.
Dass Chrome nun nur forkt kommt mir vor wie ein Rückschritt in eine Welt ohne Threads.

Was mir in diesem Zusammenhang übel aufstösst ist, dass die einzelnen Prozesse des Browsers in einem internen Taskmanager zusammengefasst werden. Denn es sind de Fakto eigentsändige Prozesse, diese sollten auch über die Mittel des Betriebssystem zugänglich sein. Sicher hat Oliver Gassner Recht wenn er schreibt dass es bisher ja auch keine Möglichkeit gab einzelne Tabs so zu kontrollieren. Wohl aber einzelne Fenster und ob der Taskmanager von Chrome mindestens so solide ist wie der des Betriebssystems muss sich erst zeigen. Hier wurde eine Möglichkeit verschenkt zugunsten eines Betriebsystem im Betriebsystem-Modell.

Dazu passt auch, dass Gears in den Browser integriert wird. Bisher eigenständig und nur mässig erfolgreich kommt es nun im Browser der sich anschickt ein Betriebssystem-Aufsatz zu werden. Mit Gears sollen komplexe Web-Anwendungen die sich wie Desktop-Anwendungen benehmen möglich werden. Es ist vor allem als Bereicherung für Webentwickler gedacht. Was ich von diesen Ambitionen halte hatte ich bereits geschrieben.

Ob die Abschottung der Prozesse (Plugins!) wirklich so gut funktioniert wie im Comic behauptet wird muss sich zeigen. Dass die Plugins problematisch sind und angepasst werden (sollten) zeigt, dass Google auch nur mit Wasser kocht und der Browser genug Absturzpotenzial hat. Nachtrag: Mittlerweile, nach etwa 12 Stunden, ist bekannt dass Chrome anfällig für die ‘Carpet Bomb’ anfällig ist, ein Fehler der bei Safari mittlerweile gefixt wurde. Und auch die Robustheit ist nicht annähernd so gut wie angepriesen. Mit einem einfachen fehlerhaften Link (<a href=”=“EVIL:%”>Link</a>stürzt nicht nur das Tab schon beim Mouseover ab, der ganze Browser stürzt ab. Das ist nicht gerade das was versprochen wurde. Da es schon beim Mousover passiert gibt es hier keinen POC, aber hier.
Ob Googles Javascript Engine V8 wirklich der grosse (kompatible!) Wurf wird muss sich zeigen, sympatisch ist mir schon mal dass sie ein Dänemark entwickelt wurde smile

Der Browser basiert auf der Renderengine WebKit, Apples Variante von KHTML die auch in Safari zum Einsatz kommt. So gesehen ist es “nur” eine sehr aufwändige Oberfläche die sich anschickt das Betriebssystem zu übernehmen. Ob die ganzen Vorteile wirklich voll durchschlagen und alles so toll wird wie im Comic dargestellt wird sollen wir schon heute ausprobieren können. Der Browser wird sich nicht so negativ wie ich es hier dargestellt habe, aber sicher auch nicht so wie-von-einem-anderen-Planeten toll wie man nach dem Comic denken könnte.
Und vielleicht surfe ich schon bald hauptsächlich mit Chrome… cool


Dieses Blog in Chrome
Chrome Start
Nachtrag: Der Browser ist für Windows nun unter www.google.com/chrome/ verfügbar

  • Twitter
  • Facebook
  • Bookmark using any bookmark manager!

Google braust mit Hintergedanken

Nun ist es wohl offiziell, das Google Watch Blog berichtet: Google entwickelt Browser. Vermutet wurde es schon lange.
Interessant finde ich folgendes Zitat:

Google verginge zu viel Zeit bis viele Nutzer neue Standards nutzen können.
Klingt gut und Google hat sicher auch genug Macht um da ein wenig Schwung reinzubringen. Aber kaum mehr Schwung als Opera und Firefox brachten. Denn es gibt da noch diese Kleinigkeit die man “Realität” nennt.
Um Standards nutzen zu können sind drei Dinge notwendig:
  1. ein Browser der sie interpretiert
  2. Nutzer die ihn auch installieren und verwenden
  3. Angebote die die Standards nutzen
Und diese drei Faktoren hängen voneinander ab. Ohne Browser keine Nutzer und keine Angebote. Ohne Angebote keine Nutzer und ohne Nutzer keine Angebote.
Es ist also nicht ganz so einfach. Zumindest den Browser kann Google aber direkt beeinflussen, von daher ist die Entscheidung nachvollziehbar. Dazu kommt aber, dass ein weiterer Browser eine denkbar schlechte Idee ist. Er hat keine Nutzerbasis und keine Entwicklerbasis, weder was Erweiterungen am Browser selbst angeht noch was spezifische Seitenfeatures angeht.
Da der Browser angeblich auf Firefox basiert wäre es eigentlich sinnvoller diesen zu unterstützen und angefangen mit Add-Ons, später direkten Patches dessen Funktionen zu erweitern. Aber damit würde Google nichts gewinnen, sie würden nur das erreichen bzw. was fördern was oben steht: neue Standards verbeiten.
Doch darum geht es Google ja eigentlich nicht. Google will Kontrolle und Macht. Und das geht besser, wenn man den Browser komplett unter Kontrolle hat. Denn Google ist keineswegs kostenlos. Keiner der Dienste. Wir bezahlen mit unseren Daten und je mehr Dienste wir nutzen, desto mehr und besser werden diese Daten. Das ist für sich bzw. für eine Einzelperson an sich vertretbar. Man muss es aber wissen. Man muss sich dessen Bewusst sein.
Ein anderer Aspekt ist die Verbreitung neuer Standards selbst. Ein schönes Ziel. Doch die Welt wird nicht geschlossen auf Googles Browser umsteigen. Sie wird weiterhin auch den Internet-Explorer, Firefox, Opera und Safari benutzen. Neue Standards zu benutzen heisst deswegen einen Schritt 10-15 Jahre in die Vergangenheit zu machen in die Zeit des Browserkriegs. Die neuen Standards bedeuten dann zwangsläufig eine ‘optimierung’ auf den Google Browser. Das kann niemand wollen.
Sicher werden die anderen Browser hinzulernen. Doch gerade diese Lerngeschwindigkeit ist Google ja angeblich zu langsam, sie werden einen schnelleren Umstieg auf die eneuen Techniken fördern. Spätestens wenn sie ‘moderne’ Seiten im Pagerank bevorzugen werden viele ihre Seiten auf Googles Browser optimieren. Auf Kosten der anderen Browser, auf Kosten der Wahlfreiheit.
Nächster Punkt sind die Nutzer selbst: Die Nutzer müssen umsteigen und letztlich auch oft genug aktualisieren um auf aktuellem Stand zu bleiben. Spätestens daran wird es in der Realität scheitern.

Fazit: Neue Standards zu fördern ist ein hohes Ziel das leider durch die Trägheit der Nutzer sehr hoch liegt. Das weiss auch Google, das eigentliche Ziel sind nicht die neuen Standards, sie sind nur Mittel zum Zweck. Und der lautet: Her mit den Daten der Nutzer!

  • Twitter
  • Facebook
  • Bookmark using any bookmark manager!

Wenn eine Alternative keine Alternative ist

Ich habe u.a. eine SIM von Easymobile. Die nutze ich kaum und daher bekomme ich regelmässig E-Mails von denen, dass sie mir ‘nen Euro vom Guthaben abziehen weil ich zu wenig vertelefoniere.
Bzw. sie versuchen mir das mitzuteilen.
In meinem Mailprogramm sehe ich nämlich nur folgendes:

This mail is in HTML. Your mail program does not support HTML, or you just need to activate it.

Hm, das ist ja so gar nicht richtig. Evolution unterstützt HTML. Ich will es nur normalerweise nicht sehen weil eine Schriftart die beim Absender ganz toll aussieht beim Empfänger ganz anders wirkt, Schrift nicht vorhanden Bildschirmauflösung anders und so weiter. Also zeigt Evolution bevorzugt die Text-Version an anstatt der Webseite. Gibt es keine Textversion sehe ich aber die HTML-Version.
Und hier baut Easymobile Mist. Denn damit ein Mailclient überhaupt weiss, welcher Teil was ist und ob es überhaupt eine alternative Textversion gibt, gibt es die Möglichkeit mittels des MIME-Standards die Teile der Mail entsprechend zu kennzeichnen. Easymobile tut dies auch, im Header der Mail findet sich die entsprechende Deklaration:
Content-Type: multipart/alternative; boundary=”——=_Part_257_12171472.1160193917713”

Was sich die Mailverbrecher bei Easymobile nur nicht durchgelesen haben ist der entsprechende RFC2046. Dort heisst es nämlich:

5.1.4. Alternative Subtype

The “multipart/alternative” type is syntactically identical to “multipart/mixed”, but the semantics are different. In particular, each of the body parts is an “alternative” version of the same information.
Und noch mal ganz deutlich: “alternative” version of the same information. Die Behauptung, dass mein Mailprogramm kein HTML darstellen könne ist nicht die selbe Information wie eine lange Belehrung, dass ich zu wenig Umsatz mache und mir daher 1€ vom Guthaben abgezogen wird.

Liebe Leute bei Easymobile: Wenn ihr keine alternative Version mitliefert, dann deklariert euer Armutszeugnis nicht als solches. Sendet es als multipart-mixed wie es z.B. Der Spiegel mit seinem Newsletter macht und so völlig korrekt das erreicht was ihr auch wolltet aber nicht konntet. Beschäftigt euch mit der Technik die ihr verwendet oder stellt jemanden ein der Lesen kann.

  • Twitter
  • Facebook
  • Bookmark using any bookmark manager!