Intel Studybook - onboard Tastatur bei Login sichtbar machen
Hat man Lubuntu erfolgreich auf seinem Studybook installiert stellt sich ein Problem: Wie bekommt man die Onscreentastatur auf den Loginscreen?
Voraussetzungen:
- man selbst ist sudo/root user
- vim und onboard sind installiert (Alternative zu vim ist z.B. nano)
- man ist mit dem Internet verbunden
Tipp: openssh-server installieren und sich per SSH auf dem Tablet einloggen, das erleichtert das Arbeiten
Möglichkeit 1: lightdm-gtk-greeter
Der lightdm-gtk-greeter ist der Standardgreeter (Loginscreen) beim installierten Lubuntu. Dieser bietet die Möglichkeit eine Einstellung vorzunehmen, welche bewirkt, dass eine beliebige Oncreentastatur im Barrierefreiheitsmenü des Loginscreens aufgerufen werden kann.
sudo vim /etc/lightdm/lightdm-gtk-greeter.conf
Dort findet man den auskommentierten Eintrag 'keyboard' und ändert ihn wie folgt:
keyboard=onboard
Startet man das Tablet jetzt neu, wird einem oben rechts in der Ecke das Barrierefreiheitssymbol angezeigt, dort kann man die Tastatur auswählen oder per [F3] ;) . Das Problem bei dieser Möglichkeit ist, dass das Icon sehr schwer zu erreichen ist und auch nicht ohne Weiteres vergrößert werden kann, da die greeter.ui (Styledefinition) fest einkompiliert ist, ebenso ist das Tastaturlayout querty.
Möglichkeit 2: lxdm
LXDM ist unter Lubuntu nicht vollständig installiert, daher muss man es nachinstallieren:
sudo apt-get install lxdm lxde
Währen der Installation wird man gefragt, welcher Distplaymanager standardmäßig verwendet werden soll, da wählt man lxdm ([Pfeiltaste nach unten], [Tab], [Enter]).
Um anschließend Fehlermeldungen beim Login zu vermeiden sollte man lightdm entfernen:
sudo apt-get purge lightdm*
Dabei werden allerdings auch einige Lubuntu Icons und Themes entfernt, sollte man jedoch weiterhin das Lubuntu Theme haben wollen installiert man einfach wieder folgende Pakete:
sudo apt-get install lubuntu-icon-theme ttf-ubuntu-font-family
Dann muss noch eine Datei aus dem HOME-Verzeichnis aller Nutzer entfernt werden:
rm /home/username/.dmrc
Konfiguriert werden muss der lxdm nicht großartig, die einzige Empfehlung ist, die Userliste am Anfang auszublenden, um nicht user wie syslog, ntp usw. vorgeschlagen zu bekommen:
sudo vim /etc/lxdm/lxdm.conf
Zu modifizierender Teil(e):
[base] session=/usr/bin/startlxde ... [userlist] disable=1
Die eigentliche "Magie" passiert in anderen Dateien.
Wichtig
Alle Befehle in der folgenden Datei werden als root ausgeführt, was Sicherheitsrisiken mit sich bringt, daher wird ein Serviceuser angelegt:
sudo adduser --shell /bin/sh --disabled-login --home /var/lib/onboard-login onboard-login
Die erste Datei ist die "LoginReady", diese wird getriggert, wenn der Loginscreen fertig geladen wurde und bereit für den Login ist. In dieser Datei definieren wir das Keyboard Layout (de) und dass onboard via Serviceuser gestartet wird:
sudo vim /etc/lxdm/LoginReady
Inhalt der Datei:
setxkbmap -model pc105 -layout de -variant basic export LANG="de_DE.UTF-8" export LC_ALL="de_DE.UTF-8" sudo -u onboard-login /usr/bin/onboard -x0 -y60 -s 1024x300
-x = Abstand in px von links-y = Abstand in px von oben-s = Größe in px LängexBreite
Um nach dem Hochfahren als auch nach dem Logout die Tastatur zu sehen, löschen wir die PostLogout Datei:
sudo rm /etc/lxdm/PostLogout
und setzten einen Symlink von der LoginReady auf die PostLogout:
sudo ln -s /etc/lxdm/LoginReady /etc/lxdm/PostLogout
Nach dem Login muss die geöffnete onboard-Tastatur noch beendet werden, da sie sonst den Login überlebt und weiter als Serviceuser läuft.
sudo vim /etc/lxdm/PostLogin sudo -u onboard-login /usr/bin/killall -9 onboard
Damit dieses Kommando ohne Passwort und mit entsprechenden Rechten ausgeführt werden kann muss für jeden angelegten (nicht-systemuser) Nutzer eine Zeile in folgender Datei eingefügt werden:
sudo vim /etc/sudoers.d/onloard_login
Der Name der Datei ist im Grunde egal, die sollte nur weder einen Punkt (.), Leerzeichen noch ein Minus (-) im Namen haben. Die entprechende Zeile pro Nutzer sieht dann so aus:
Username ALL=(ServiceUser) NOPASSWD: /usr/bin/killall -9 onboard
was dann praktisch so z.B. aussehen könnte:
seaking91 ALL=(onboard-login) NOPASSWD: /usr/bin/killall -9 onboard
Danach setzt man die entsprechenden Rechte, damit alles fehlerfrei läuft:
sudo chmod 0440 /etc/sudoers.d/onloard_login
Jetzt kann alles mit einem Reboot getestet werden.
Danach sollte es so aussehen:
Nach dem Login wird man mit dem Standard-LXDE-Theme begrüßt, um dieses wieder zu Lubuntu zu ändern geht man wie folgt vor: Menübutton |rarr| Einstellungen |rarr| Erscheinungsbild anpassen dort wählt man dann im Tab 'Fenster' Lubuntu-Default aus und klickt auf Anwenden, danach im Tab 'Symbolthema' auf Lubuntu. Für das Panel geht man wie folgt vor: Rechtsklick auf eine freie Stelle des Panels und dort Panel-Einstellungen auswählen, in dem sich geöffneten Fenster im Tab 'Erscheinungsbild' wählt man als Hintergrund 'Kein (Systemthema verwenden aus)' und bei Schrift 'Benutzerdefinierte Farbe', klickt auf das Farbsymbol dahinter und wählt schwarz (#000000) aus. Zu guter Letzt das Bild für den Menübutton: Rechtsklick auf den Menübutton und ganz oben Menüeinstellungen auswählen, es öffnet sich ein einfaches Fenster mit einer Pfadangabe, in diesen fügt man /usr/share/lubuntu/images/lubuntu-logo.png ein und fertig.
Bemerkung
Der Autostart-Pfad hat sich jetzt zu /home/username/.config/lxsession/LXDE/autostart geändert.
Mit dieser Lösung ist man meines Erachtens einen wichtigen Schritt weiter gekommen, hin auf dem Weg zum 'perfekten Frickeltablet'. Der Vorteil, die Tastatur unkompliziert auf dem Loginscreen zu erreichen, erhöht ebenfalls die Sicherheit, da Autologin nun nicht mehr die einzig komfortable Lösung ist.
Kommentare
Comments powered by Disqus