Inhaltsverzeichnis

Tipp10 am Linuxclient einrichten

Das Problem

Wenn man als Linuxadmin das 10-Fingersystem-Lernprogramm „Tipp10“ installiert, dann mosert das Programm bei jedem Start als anderer User, dass die Datenbank nicht zugreifbar ist. Als Folge kann man auch den Lernstand nicht abspeichern.
Das liegt daran, dass in der Konfigurationsdatei die Pfade absolut eingetragen sind und die Nutzer (zum Glück) keinen Zugriff auf fremde Homeverzeichnisse haben.

Außerdem benötigt man 32bit-Libraries: vgl. https://wiki.ubuntuusers.de/Schreibtrainer/

sudo apt install  libxcursor1:i386  libsm6:i386  libxrandr2:i386  libxi6:i386   libxinerama1:i386  libfreetype6:i386  libfontconfig1:i386  libglib2.0-0:i386  libstdc++6:i386 

Die Lösung

Man lässt den Client beim Login des Users „einfach“ eine gültige Konfigurationsdatei erzeugen und an die richtige Stelle legen.
Dazu kopiert man den folgenden Code in eine Datei (ich nenne sie „patch_tipp10.sh“) Man kann natürlich - wenn man kann - die Konfiguration auch anpassen, falls sie nicht den Bedürfnissen entspricht. Alles, was zwischen «EOF und EOF steht, wird in die Datei geschrieben. $HOME wird dabei durch den Pfad zum Homeverzeichnis ersetzt.

Wenn man den Pfad zur Datenbankdatei so lässt, wie er hier steht, dann kann man auf einem Dualboot-System das Windows-Tipp10 verwenden und die Lernstände sind in beiden Systemen gleich.

#!/bin/bash
# Dieses Skript erzeugt eine Tipp10-Konfiguration für den angemeldeten Nutzer.
cat > $HOME/.config/Tom\ Thielicke\ IT\ Solutions/TIPP10.conf  <<EOF
[%General]
check_illustration=false
check_lesson_publish=true
check_limit_lesson=true
check_native_style=false
check_new_version=false
check_toggle_intelligence=true
language_gui=de
language_layout=de_qwertz_win
language_lesson=de_de_qwertz
last_version_check=@Variant(\0\0\0\xe\0%y\x9e)

[database]
pathpro=$HOME/Home_auf_Server/tipp10v2.db

[duration]
radio_lesson=false
radio_time=true
radio_token=false
spin_time=5
spin_token=500

[error]
check_beep=false
check_correct=false
check_stop=true

[lesson]
combo_theme=
list_open=19
list_own=1
list_training=1
tab_current=0

[mainwindow]
pos=@Point(103 123)
size=@Size(700 520)

[support]
check_border=true
check_helpers=true
check_path=true
check_selection=true
check_selection_start=true
check_status=true
EOF

Diese Datei patch_tipp10.sh wird nun auf den Client an eine geeignete Stelle kopiert. Ich nehme hier /usr/bin/
Das Skript benötigt noch execute-Rechte für alle Benutzer:
Dazu tippt man auf dem Client:

sudo chmod 755 /usr/bin/patch_tipp10.sh

Damit dieses Skript bei jedem Einloggen ausgeführt wird, bearbeitet man noch die Datei /usr/share/linuxmuster-client/profile und fügt folgende Zeilen am Ende ein:

if test -f /usr/bin/patch_tipp10.sh; then
	 /usr/bin/patch_tipp10.sh
fi  

Bei neueren Linuxmuster-clients kann man das linuxmuster-client-extra-Paket verwenden:

 linuxmuster-client-extras-setup --type login --on /usr/bin/patch_tipp10.sh --order 095 

Ab jetzt sollte jeder Benutzer beim Öffnen von Tipp10 keine Fehlermeldung mehr erhalten und der Lernstand sollte gespeichert werden. Möglicherweise kommt beim allerersten Start bei jedem Nutzer eine Meldung, dass die Datenbank angelegt wird…. weiß ich nicht.