DXS meets Direct Rendering

Nach langer, langer Zeit hab ich mir mal wieder unsere Xorg-Konfigurationsskript angesehen und beschlossen es etwas umzuschreiben. Anlass dazu war die Lieferung meines neuen Arbeitsplatzdesktops, eine Precision T3400 der Firma Dell, und die darin verbaute nVidia Quadro irgendwas…. Also der perfekte Grund, Niels lang gehegtem Wunsch nach DirectRendering endlich mal nachzukommen und die Startskripte dahin anzupassen, dass die closed-source Treiber von Nvidia und ATI eingebunden werden.

Funktioniert hat das ganze eigentlich schon am vergangenen Freitag bis mir ein Tipfehler unterlaufen ist; schon blöd wenn man als Output ${0} statt ${1} benutzt… Gestern also ein wenig rumgeskriptet, hier und da die ganze etwas weiter Modularisiert zwecks Lesbarkeit. Nebenbei einen lustigen Fehler mit "echo -ne" unter Ubuntu ausgehebelt, 2 Mal Kernel kompiliert und diverse Male den NVidiainstaller durchlaufen lassen. Endergebnis: ein aufgeräumtes DxsXorgSetup, eine neue Configdatei für eben selbige und 2 neue Treiber-Pakete; Dxs-nvidia-kernel.tar-bz2 und Dxs-fglrx-kernel.tar.bz2. Diese enthalten die bereits kompilierten Treiber und werden beim booten einfach entpackt und fertig ist die Kiste. Zumindest beim Nvidiatreiber könnte man auch zur Laufzeit mit "NVidia-bla.run -n -s" den Treiber beim booten übersetzen, allerdings dürfte das den Bootvorgang doch erheblich ausbremsen und so oft updaten wir Kernel, Treiber oder X nun auch nicht, als das man da nicht kurz einfach das Teil lokal baut und verpackt auf dem Bootserver kopiert. Und nur für den Fall das doch, steht auf meiner ToDo noch ein Skript das genau diesen Vorgang automatisieren soll. Und nur als kleine Randnotiz, WoW läuft auf der Precision unter dem DXS System flüssig ":-)"

So nochmal kurzer Nachtrag nachdem mir Niels auch Rechte zum Veröffentlichen gegeben hat, mußte ich noch 2 Tippfehler aus dem Skript korrigieren. Merke "if ! [ -s ${DATEI} ]; then lese aus $DATEI" ist irgendwie dumm, den Fehler gab's aber schon länger und awk macht einen Unterschied zwischen $NF und $Nf, wer hätte es gedacht

WLAN von Ralink

Linux und WLAN, das ist ein ewiges Thema… Die Hersteller dürfen ihre Blobs immer noch nicht offen legen, da hat sich nichts geändert. Stichwort: Länder und militärisch genutzte Frequenzbereiche. Aber auch schon beim Treiber hat man es schwer. Der Atheros Chip im Macbook ist zur Zeit ein Alptraum.

Nun hatte ich das Kabellegen satt und bestellte mir bei meiner letzten Buchbestellung noch eine Hama Wireless LAN PCI-Karte bei Amazon. Bei dem CHIP handelt es sich um einen RT61 von Ralink. Der Treiber ist im Debian Kernel enthalten und die Firmware bekommt man über aptitude. Da kann ich nicht klagen.

 

Spass mit Debian Testing :-)

Vorweg: Jaja, man lässt kein (Halbwegs-)Produktiv-System unter Debian Testing laufen. Ich weiß. Eigentlich.

Wenn man seine eigenen Warnungen aber gewissenhaft ignoniert, sollte man für die Zukunft wissen, dass libapache2-reload-perl zwar nicht in testing existiert, aber SID wie immer die Lösung für fast alles ist. :-) 

Kann ja keiner ahnen, dass, wenn die Debian-Typen ein Major-Update von Perl fahren, OHNE alle Module und CPAN-Module zu updaten. Naja, vielleicht erwarte ich zuviel von den Leuten. Aber ich hab' mit dem Update bis nach der Arbeitszeit gewartet. Und trotzdem hat's der Heiko gemerkt.

GnuPG, mutt und der gpg-agent

Du hast GnuPG auf Version 2 aktualisiert und siehst jetzt folgendes beim Signieren von Mails:
can't connect to `$HOME/.gnupg/S.gpg-agent': No such file or directory

Du erweiterst die pgp Befehle in Deiner .muttrc mit –no-use-agent und siehst:
gpg: WARNING: "–no-use-agent" is an obsolete option – it has no effect

Du schaust in die man-page und suchst nach –no-use-agent. Du findest:
This is dummy option. gpg2 always requires the agent.

Ok! Ok! Ich versuchs…

  1. Man muss sicherstellen, dass der gpg-agent läuft. Dafür bietet sich die .xsession an. Fluxbox User können die Datei $HOME/.fluxbox/startup erweitern. Ich habe meine .bash_profile modifiziert, damit es auch auf Systemen ohne X klappt. Jetzt funktioniert das Signieren wieder…
    1. .bash_profile:
      which gpg-agent >/dev/null
      if [ "x$?" = "x0" ]; then
          GPG_AGENT_FILE="$HOME/.gpg-agent-info"

          source $GPG_AGENT_FILE > /dev/null
          GPG_AGENT_SOCK=$(echo $GPG_AGENT_INFO | sed -e "s/:.*//")
         
          if [ ! -S $GPG_AGENT_SOCK ]; then
              gpg-agent –daemon –write-env-file $GPG_AGENT_FILE 1>/dev/null
              source $GPG_AGENT_FILE
          fi
         
          export GPG_AGENT_INFO
      fi

  2. Nun fragt mutt jedes Mal nach der Passphrase, wenn es neu gestartet wird. Ich dachte, der Agent ist dazu da, damit das nicht passiert:
    1. pinentry installieren.
    2. set pgp_use_gpg_agent = yes in die .muttrc schreiben.
    3. Alle –passphrase-fd 0 aus der .muttrc entfernen.
  3. Jetzt möchte man vermutlich noch pinentry-program /usr/bin/pinentry-curses in seine $HOME/.gnupg/gpg-agent.conf reinschreiben, damit keine GTK/QT Anwendung das mutt Look&Feel zerstört. ";-)"

Goodbye Firefox?

Ich hab' seit dem Wochenende mal wieder Ubuntu auf meinem Laptop (wenn wir Ubuntu für das DXS-System nutzen, kann es ja nicht schaden, dass auch mal wieder einem Dauertest zu unterziehen ":-)" ) und da wird per default der Firefox 3b5 installiert. Das stört mich ja soweit nicht, schließlich hatte ich den unter Archlinux auch eine Zeitlang im Einsatz….bis ich die ganzen X-Freezes zum Feuervogel zurück verfolgen konnte ":-)"

Unter Ubuntu scheint das Ding gepacht zu sein, jedenfalls läuft es stabil – aber verbraucht immens viel Speicher und CPU-Last. Beim einfachen Surfen.

Das Ende vom Lied: Mein neuer Standard-Browser ist jetzt Opera 9.5beta ":-)" Der braucht wesentlich weniger CPU-Power und der Speicherverbrauch ist geradezu lachhaft. Leider muss ich jetzt wieder einen externen Feed-Reader nutzen, aber es gibt schlimmeres.

DVB-T mit archlinux und dem Tubestick

Ich habe mich schon länger mit dem Gedanken getragen, mir mal einen DVB-T-Stick zuzulegen (wg der Arbeit, versteht sich), bin aber nie dazu gekommen.

Gestern hat mit dann mein Bruder netterweise seinen leihweise überlassen. ":-)" “Leider” ist er ein Apple-Nutzer, was zur Folge hat, dass der Stick ein TubeStick ist. Dafür gibt es auf der Homepage Treiber sowohl für Mac (logisch) als auch für Windows XP/Vista, aber keinen für Linux.

Auch Archlinux bietet für das Gerät keine Treiber an, weder in den offiziellen Repositories noch im AUR (da können die Nutzer IHRE Pakete reinsetzen; das sind bei Archlinux nur Anweisungen, wie der Quellcode kompiliert werden soll, also meist die configure-Optionen, etc.).

Zwar findet Google schnell ein, zwei Treffer, doch diese Anleitungen sind für Kernel 2.6.18-Fedora gewesen und nicht 2.6.24 bzw. seit heute ja 2.6.25. Nach einer Stunde Internet-Suche fand ich dann aber diese Seite.

Der zweite dort erwähnte Treiber ist aktuell und kompiliert auf meinem System sauber durch (die anderen nicht, auch nicht mit meinen laienhaften Anpassungen am Code) und produziert dann mehrere Kernel-Module (u.a. die komplette v4l- und dvb-Treiber-Reihe ":-)").

Ein beherztes make install bindet die Treiber ein, ein Neustart macht die Karte bzw. den Stick verfügbar.

Leider ist der Blaue Turm recht gut gegen Strahlen aller Art geschützt – gut bei Angriffen von außerirdischen Invasoren, schlecht für den DVB-T-Empfang.

Egal, zu Hause lief der Suchlauf problemlos durch (Kaffeine, MythTV) und produziert jetzt wunderschöne TV-Bilder. Also hab’ ich das Ding jetzt wieder mit zur Arbeit genommen und gucke da mal, wann ich dort Bilder bekomme (vielleicht sollte ich mich mal ins Freie begeben…obwohl, in die SUB oder das OEC sollte ja reichen, da stehen auch Rechner von uns). Und wenn’s auf dem Arbeits-Laptop läuft, muss ich’s nur noch auf Ubuntu bzw. Debian portieren ":-)"

Schließlich mach ich das Ganze ja nicht zum Vergnügen, sowas soll ja auch demnächst auf unserem DXS-System funktionieren. Also, zumindest prinzipiell. Um die rechtlichen Aspekte wie GEZ und sowas kann sich dann ja Chef kümmern. ":-)"

 

gcc Optimierung == FUBAR

Ich könnte jetzt darüber schreiben, wie man mit direkten MSDE SQL Befehlen die Zugangsberechtigung für den Business Contact Manager nach einer Domänen Migration wieder gerade biegt. Oder wie man die NTUSERS.DAT in regedit lädt. Oder wie man mit den Kommandozeilen Tools eseutil und isinteg eine Exchange Datenbank repariert. ABER es ist Wochenende. 

Auf der Suche nach einem Bug in einem meiner Projekte, bin ich nun tatsächlich auch mal auf ein gcc Phänomen gestossen. Nachdem ich keine Fehler in der Logik erkennen konnte, habe ich mit dem gcc experimentiert:

  • -O2: Eine Funktion liefert Unsinn zurück. Das wird abgefangen, wodurch eine verkettete Liste aber nur mit 1/s durchlaufen wird.
  • -O3: Alles funktioniert, wie ich mir das vorgestellt habe.
  • -O1: Alles funktioniert, aber die Ergebnisstrings bleiben leer.
  • -Os: Segmentation fault…

Faszinierend.

 

Syslog-Skripte überarbeitet

Ich bin endlich mal dazu gekommen, meine Syslog-Skripte zu überarbeiten bzw. bin ich schon Ende letzten Jahres dazu gekommen.

Aber da waren noch Fehler drin. Und nachdem ich mir das Ding heute auf Papier ausgedruckt habe, wurde das Problem auch offensichtlich: Der Variablen-Name war falsch ":-)"

Tja, da war ich damals wohl nicht in Hochform. ";-)"

[Update]
So, jetzt funktionieren auch wieder die alten Funktionen mit GD::Graph und SVG::TT::Graph. Und ich habe den aktuellen Quellcode auf gruppenkasper gestellt ":-)" Einfach hier entlang.

Nutzer-Hilfe v2

Heute war ein guter Tag für uns Admins: Thomas zieht in sein eigenes Büro :-) UND wir haben jetzt eine weitere Software, die die Bewegungs-Gründe auf fast Null reduzieren.

Die Lösung heißt iTALC. Das ganze ist, wie die Webseite sagt:

iTALC ist ein praktisches und leistungsfähiges didaktisches Werkzeug für Lehrer, mit dessen Hilfe man andere Computer im Netzwerk auf verschiedene Art und Weise beobachten und fernsteuern kann. iTALC läuft derzeit unter Linux und Windows 2000/XP/Vista

Und diese Beschreibung stimmt sogar:-) Auf unseren Linux-Clients werden wir das jetzt folgendermaßen lösen:

Wir definieren pro Standort einen “Klassenraum”. Beim Booten starten die Rechner die Client-Software (also können in der Übersicht auf dem Master-Rechner sehen, ob alle Clients auch schön booten). Sobald sich ein Nutzer einloggt, wird die Client-Software auf seinem Terminal abgeschaltet – wir wollen unsere Nutzer schließlich nicht überwachen!

Im Startmenü findet sich unterhalb der Menü-Gruppe “Hilfe” der Punkt “Hilfe anfordern” (oder wie auch immer ich das Ding nennen werde), worauf wiederum der Client startet (die Kommunikation zwischen Beratung und Nutzer kann dann über Jabber oder irgendwann auch mal VoIP realisiert werden) und der Support erstens sieht, was der Nutzer auch sieht und zweitens auch eingreifen kann, um eventuelle Probleme des Nutzer-Accounts zu lösen(lock-files o.ä.).

Ingesamt eine sehr schöne Software. :-)

Neues Blog :-)

So, jetzt habe ich es getan. Ich bin weg von WordPress und benutze
jetzt Serendipity. Ich hab' zuviele Horror-Stories im Internet über die
Sicherheits-Lücken von WordPress gelesen. Features vor Sicherheit und
solche bösen Dinge.

Egal, jetzt läuft alles unter dem neuen System und das Theme werde ich langsam, aber sicher an das alte Layout anpassen.

[Update 1]
So, jetzt habe ich fast fertig und ein cooles Plugin habe ich auch noch gefunden: Community Rating. Damit kann man schön Bewertungen für Filme und Serien vergeben und gleichzeitig auf IMDB linken. Jetzt kann ich für jeden neuen Film einfach nur eine Bewertung vergeben, ohne gleich einen kurzen Roman zu schreiben (falls ich dazu halt gerade keine Lust habe ":-)" ). Und besser als Hey und Ney ist es ja vielleicht auch…

[Update 2]
Die Permalinks funktionieren auch wieder relativ einwandfrei. Dank ein bisschen Hilfe von google ":-)"