Fortgeschrittenes

Aus Ethersex_Wiki
Version vom 19. Oktober 2010, 21:01 Uhr von Burned (Diskussion | Beiträge) (Laufzeit verbessern)
Wechseln zu: Navigation, Suche

Was hier vermittelt wird

  • Verfuegbare Repositorys
  • Erweitern der Funktionen ohne das Grunbetriebssystem anzufassen mit Easy Debian
  • Einen "Eigenen" Systemuser erstellen
  • Eine angenehmes Fullscreen faehiges Terminal mit allen optionalen Komfortfunktionen
  • Eine Moeglichkeit zu jeder Zeit die Volle Tastatur ueber Software zu benutzen
  • Allen Traffic ueber OpenVPN tunneln (achtung benoetigt eigenen Server!)
  • Internet Uber USB Tethern OHNE extra einwaehlen(+Warum)
  • Eine Robuste IRC Messaging Loesung
  • Entwickeln von Qt Applikationen mit dem N900
  • Laufzeit verbessern

Repositorys

Neben den standardrepositorys gibt es noch die verschiedenen Extra und SDK Repositorys[1] Weitere Informationen gibt es hier[2][3]

Easy Debian

Easy Debian bietet einen Komfortablen Wrapper rund um ein Chroot auf ein Debian Betriebssystem, Die installation und die Wahl des Images werde ich hier nicht beleuchten, dafuer aber die Vorteile die dieses System mit sich bringt. Wir muessen das Host betriebssystem nur minimal anpassen um den vollen Funktionsumfang des Debians nutzen zu koennen und haben dadurch nicht die Gefahr z.B. die Telefonfunktion zu beeintraechtigen.

Die integration in Maemo wird durch 2 Modi Erreicht,

  • Es wird im Debian Chroot ein Xepyr gestartet in welchem man dann eine komplett eigene Desktopumgebung haben kann
  • Die Programme werden als normale Apps gestartet

Die Scripts fuer diese Funktionen sind:

  • debbie - Ein programm im chroot ausfuehren
  • debbie-sue - Eine Shell im chroot starten
  • debwm - Startet debian-lxde also ein Xephyr mit LXDE oberflaeche
  • debian-lxde - wie debwm, akzeptiert jedoch als ersten parameter einen anderen Windowmanager
  • debsu - wie debbie-sue nur als Root Shell

Fuer weitere Informationen ist die Maemo Wikie gut geeignet[4]

Eigenen Systemuser

Ich (Paul) fuer meinen Teil hab gerne eine gemuetlich eingerichtete Shell mit ZSH, Screen und ein paar tools wie Irssi und Ncmpcpp, und beim verwenden von ssh gebe ich nicht gerne einen anderen username an. Wie ich im Tipps fuer den Start artikel schon gesagt habe ist das umbenennen des "user" users keine gute idee, Also gehe ich jetzt einen anderen Ansatz.

Als erstes habe ich einen Systemuser "wook" angelegt und diesen der gruppe "users" zugewiesen, dann noch als root mit visudo einen eintrag hinzugefuegt: "wook ALL = NOPASSWD: /sbin/debian" sowie diesem mit "passwd wook" ein Kennwort zugewiesen, die meisten Easy Debian befehle bauen auf /sbin/debian auf. Als naechstes mit debsu auf dem Chroot eingeloggt, und einen User "wook" erstellt ( bei debbie-sue wird zum oeffnen der shell $USER verwendet ). Zuguter letzt habe ich als Root unter Maemo mit "chsh -s /usr/bin/debbie-sue wook" die Shell so verbogen das ich direkt ins Chroot komme.

Jetzt kann ich mich (wenn openssh installiert ist) direkt als wook anmelden und lande im chroot, um mit debbie-sue oder debbie default den neuen Account zu nutzen braucht allerdings noch ein wenig Arbeit, In der Konfigurationsdatei ~/.chroot gibt es eine Variable DEBUSER die aber auskommentiert ist, diese muss wieder Aktiviert werden und auf den gewuenschten account gesetzt werden. Ausserdem wurde in /usr/bin/debbie und /usr/bin/debbie-sue ( welche ich hauptsaechlich benoetige ) die zeile "[ "x$DEBUSER" != x ] || DEBUSER=user" auskommentiert und darunter DEBUSER auf $USER gesetzt, das muss man umkehren um die variable aus der .chroot datei gueltig zu machen.

Terminal

Wie viele von euch sicher schon bemerkt haben sind Bordmittel zum verwenden einer Shell in Maemo eher suboptimal, das liegt zum einen an der Terminalapplikation bei der Unten dauerhaft eine leiste ist die man nicht wegbekommt, und der Fehlenden Tasten.

Da wir nun Easy Debian gut integriert haben koennen wir mit "debbie xterm" ein normales Xterm starten, aber naturlich auch jedes andere Terminal, und das auch den eigenen vorstellungen Anpassen. Einen starter kann man erstellen in dem man unter /usr/share/applications/hildon eine .desktop Datei nach dem vorhandenen schema anlegt, oder unter /home/user/.local/share/applications/hildon , gut beschrieben Hier[5]

Tastatur

ACHTUNG LOESUNG NOCH NICHT NACHMACHEN, HAT FEHLER

Die ziele die ich fuer die Tastatur habe ist zu jederzeit jede Taste einer vollen Tastatur druecken zu koennen. Um das zu erreichen werde ich einen gemischten Ansatz gehen, beim Easy Debian Paket ist schon ein Programm "Set Deb Hw Keys" dabei, welches im endeffekt im Chroot ein xbindkeys startet welches mit der ~/.xbinkeysrc konfiguriert wird. Ich muss noch dazu sagen das ich ein Amerikanisches Tastaturlayout habe!

Als erstes habe ich mir xkbd mit den fuer mich passenden Einstellungen gebastelt, fuer mich ist das "xvkbd -geometry 600x240+100+215 -no-repeat -modal" und dann ein Script geschrieben welches die Tastatur Toggelt (Wenn auch evtl. unschoen ^^)

KEYBOARDCMD="xvkbd -geometry 600x240+100+215 -no-repeat -modal"

if ps ax | grep -v grep |grep "$KEYBOARDCMD"
then
        killall xvkbd
else
        $KEYBOARDCMD &
fi

Das dann in ein Script in /usr/bin und dann eine verknuepfung in xbindkeys gemacht. Um die verschiedenen Keycodes rauszubekommen mit xbindkeys geht ihr am besten in ein Xepyr und fuert dort "xbindkeys -s -mk -n" aus, dann werden alle gedreuckten Tasten mitgesnifft. Bei mir sieht der Block um die Tastatur auf Fn+Enter zu binden so aus

  "n900kbd"
    m:0x80 + c:36
    Mod5 + KP_Enter

Damit ist der erste Schritt getan immer auf wirklich alle Tasten zugreiffen zu koennen, wenn auch ausbaufaehig

OpenVPN Tunneling

In Arbeit

USB Network Tethering

In Arbeit

IRC Client

In Arbeit

Qt Applikationen entwickeln

In Arbeit

Laufzeit verbessern

  • Eine einfache Methode die Laufzeit zu verlängern ist, die Helligkeit des Bildschirms runterzuschrauben und den Bildschirm z.b. nach 10 Sekunden ausschalten lassen anstatt nach 2 Minuten
  • Um unnötigen Stromverbrauch vorzubeugen, den das WLAN verbrauchen kann, auch wenn es deaktiviert ist kann man den wifi-switcher verwenden. Er entläd/läd das Kernelmodul für das WLAN.
  • autodisconnect überprüft regelmäßig ob WLAN/Bluetooth/3G wirklich in Benutzung sind und falls nicht, werden sie ausgeschaltet
  • mit dem 3g2g-mode-selection-applet kann man das N900 dauerhaft auf 2G schalten, so versucht es erst gar nicht ständig eine 3G Verbindung aufzubauen
  • Standardmäßig vibriert das N900 bei jeder Mail oder Chatnachricht zusätzlich zur Benachrichtigung über den Bildschirm und die LED. Dies kann man über die /etc/mce/mce.ini ausschalten (Vorsicht! nur editieren wenn man eine Ahnung hat was man da tut)

Radiosender beim Laden verwenden und Frequenzbereich erweitern