Archiv der Kategorie: Informatik

Neo

Da mir immer mal die Sehnen der linken Hand vom vielen PC-Tippen Beschwerden machen habe ich mich ein bisschen mit ergonomischen Tastaturen und dem Tastaturlayout NEO befasst.

Nun versuche ich, unter Ubuntu 12.04 eine TypeMatrix-Tastatur mit dem Neo2-Layout zu „verheiraten“, das mit Ubuntu mitgeliefert wird und leicht zu aktivieren ist. Nur leider funktioniert doch einiges nicht so wie es soll, z.B. tut die angebliche MOD4-Taste nicht das was sie soll.

Daher habe ich mich in den FAQs und Anleitungen des Neo-Wiki umgeschaut und herausgefunden, dass man die Tastaturbelegung von XKB (xkbmap) ersetzen kann und sollte, wenn sie fehlerhaft ist, so wie bei mir. Wie das geht ist prinzipiell gut beschrieben, aber um ganz sicher zu gehen habe ich erstmal geschaut, ob denn meine Version der xkbmap überhaupt abweicht.

Mein Vorgehen:

  • Herunterladen der korrekten Dateien, wie beschrieben:
    wget http://neo-layout.org/xkb.tgz
  • Entpacken in einem separaten Verzeichnis (z.B. im eigenen Home, einfach ein neues Verzeichnis anlegen und dort entpacken)
    cd
    mkdir neo
    mv xkb.tgz neo/
    cd neo
    tar xfz xkb.tgz
    cd xkb
    find . -type f
    ./symbols/shift
    ./symbols/de
    ./symbols/level3
    ./symbols/level5
    ./types/level5
    ./compat/caps
    ./compat/misc
    ./compat/level5
    ./rules/base.xml
    ./rules/evdev.xml
    ./rules/evdev
    ./rules/base
  • Dann habe ich mir angeschaut, wie die Dateien heißen müssen, die darin enthalten sind, und habe z.B. die Datei level5 gefunden.
  • Mit locate habe ich gesucht, ob und wo auf meinem Rechner diese Datei liegt, um überhaupt herauszufinden, wo die Dateien für xkb liegen (das kann man auch anders machen, aber das hier ist eine Möglichkeit):
    locate level5
    /usr/share/X11/xkb/compat/level5
    /usr/share/X11/xkb/symbols/level5
    /usr/share/X11/xkb/types/level5
  • Aha!! „Wurzelverzeichnis“ für die xkbmap ist /usr/share/X11/xkb.
    Ein…
    cd /usr/share/X11/xkb
    …und:
    find . -type f
    …zeigt mir, dass es noch viel mehr Dateien gibt, die xkb dort liegen hat.
  • Nun kann ich also die Dateien vergleichen, und herausfinden, ob die denn überhaupt abweichen!
    cd -
    for f in $files
    do
    usrf=`echo $f | sed 's/\./\/usr\/share\/X11\/xkb/'`;
    diff $usrf $f
    done | more

    Das Ergebnis sieht ungefähr so aus:
    253c253
    < key.type[Group1] = "EIGHT_LEVEL"; --- > key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
    281c281
    < key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; --- > key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
    296c296
    < key.type[Group1] = "EIGHT_LEVEL"; --- > key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
    301c301
    < key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; --- > key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
    322c322
    < key { [ z, Z, grave, Greek_zeta, Undo, Undo,
    U2124, NoSymbol ] };
    ---
    > key { [ z, Z, grave, Greek_zeta, Undo, Redo,
    U2124, NoSymbol ] };
    326c326
    < key.type[Group1] = "EIGHT_LEVEL"; --- > key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
    329c329
    < key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; --- > key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
    331c331
    < key.type[Group1] = "EIGHT_LEVEL"; --- > key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";

    usw. Damit habe ich also sicher feststellen können, dass meine Dateien nicht aktuell sind!
  • Nun kann ich voller Vertrauen ;-) der Anleitung weiter folgen bzw. einen Zwischenschritt einfügen, nämlich die alten xkbmap-Dateien sichern (Schritt 1 der Anleitung im Wiki sichert mehr Dateien als in meiner heruntergeladenen Version xkb.tgz enthalten sind – wir nehmen’s hier also wieder mal ganz genau!).

    Dateien umbenennen und sichern:
    for f in $files
    do
    usrf=`echo $f | sed 's/\./\/usr\/share\/X11\/xkb/'`
    sudo cp $usrf ${usrf}.orig
    done
    tar cvfz xkb-orig.tgz /usr/share/X11/xkb/*/*.orig

  • Jetzt können wir die heruntergeladenen Dateien drüber kopieren:
    for f in `find . -type f`; do newf=`echo $f | sed 's/\./\/usr\/share\/X11\/xkb/'`; sudo cp $f $newf; done
  • Nun prüfen wir nochmal das Ergebnis – gibt’s noch Differenzen?
    for f in $files
    do
    usrf=`echo $f | sed 's/\./\/usr\/share\/X11\/xkb/'`;
    diff $usrf $f
    done | more

    Es sollte nun nichts mehr ausgegeben werden – und damit sind wir fertig.

Nach einem Neustart des Rechners funktioniert nun auch neo2 korrekt und die MOD4-Taste tut was sie soll!

Stackoverflow

Seit längerem stoße ich bei Internetsuchen bezüglich Programmier-Problemen regelmäßig auf die Seite Stackoverflow.com. Dabei fällt mir immer wieder auf, wie qualitativ hochwertig und fundiert die Fragen und die Antworten sind, so dass ein wirklich großer Mehrwert entsteht, wenn man Stackoverflow konsultiert. Nachdem ich nun schon so lange davon profitiere, habe ich mich entschlossen, mich dort zu registrieren. Und als ich eine Antwort bewerten will und staune, weil ich das gar nicht darf, als neu registriertes Mitglied, verstehe ich, warum die Antworten qualitativ so hochwertig sind: Wegen eines ausgefeilten Ranking-Systems, das offensichtlich zu der beschriebenen Qualität führt.

Meinungen habe ich im Netz nicht viele dazu gefunden, lediglich Heise hat in 2008 zur Neu-Einführung der Seite einen kurzen Kommentar geschrieben, ein „Update“ finde ich erst wieder für 2011, bezüglich des überarbeiteten Stellenausschreibungsportals von Stackoverflow.

Neuer Personalausweis (2)

Wie bereits zuvor notiert kommt der neue Personalausweis bald zu uns.

Scheinbar hat es Vorab-Testversionen der Basislesegeräte gegeben, die von der ARD (in der Sendung Plusminus) in Zusammenarbeit mit dem CCC (Chaos Computer Club e.V.) getestet und als Sicherheitsrisiko eingestuft wurden.

Ganz ausführlich hier nochmal verlinkt eine etwas ältere Diskussion (vom Juni 2010) der technischen Eigenschaften des neuen Perso.

Die tatsächliche Sicherheit scheint also nur durch entsprechend teurere Lesegeräte mit höherer Sicherheitsstufe gegeben zu sein. Das Problem dabei scheint die Übertragung der Tastatureingaben zu sein, die bei Lesegeräten ohne Bildschirm und Tastatur über eine separate Tastatur eingegeben werden müssen. Wird die PIN, die zum Auslesen der Daten benötigt wird, über eine separate Tastatur eingegeben, so müssen die eingetippten Daten folglich erst zum Lesegerät transportiert werden. Wird dieser Weg nicht ausreichend geschützt so kann die PIN „abgefangen“ und damit jeder Schutz im Handumdrehen aufgehoben werden.

Wünschenswert wäre IMO eine Anleitung, wie man wirklich sicher mit dem neuen Personalausweis umgeht – oder ob das gänzlich unmöglich oder „nur“ mit einem bezifferbaren Risiko verbunden ist – denn es soll ja nun bald losgehen.