Last active
July 18, 2024 19:08
-
-
Save randomchars42/a13db217a49f1af25b6aac4df66f058e to your computer and use it in GitHub Desktop.
Dateimanager und SoftwareUpdater für BookII von Tessloff unter (Ubuntu) Linux mit WINE
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
path_working_dir="$HOME" | |
prefix="bookii" | |
# in diesem Verzeicnis soll die neue Bottle (=Prefix) entstehen | |
path_bottles="$path_working_dir/Bottles" | |
# in diesen Verzeichnissen liegen die benötigten Dateien | |
# - winetricks.sh (wird heruntergelade | |
# - BOOKiiSoftwareInstaller.exe (https://www.bookii.de/site/uploads/2019/03/BOOKiiSoftwareInstaller.zip) | |
# - BOOKii.exe (auf dem Stift oder [hier](blog.pixelwoelkchen.de/assets/Bookii.zip)) | |
path_lib="$path_working_dir/bookii" | |
path_bookii_installer="$path_lib/BOOKiiSoftwareInstaller.exe" | |
path_bookii_manager="$path_lib/Bookii.exe" | |
path_winetricks="$path_lib/winetricks.sh" | |
# setzt das WINEPREFIX (= Bottle) für die Dauer des Skripts | |
export WINEPREFIX="$path_bottles/$prefix" | |
# vermeidet Probleme mit dotnet, Dank an @der-martin85 | |
export WINEARCH=win32 | |
# neues Prefix erstellen und .NET installieren | |
function install_dependencies { | |
# wenn noch kein Prefix vorhanden ist | |
if [[ ! -e "$path_wine/$prefix" ]] | |
then | |
# wird es erstellt und die Konfiguration aufgerufen | |
# hier wird windows 8.1 eingestellt, Dank an @der-martin85 | |
winecfg -v win81 | |
# "Neustart" des Systems | |
wine wineboot | |
# .NET 4.6 mit Winetricks installieren | |
# ! akzeptiert automatisch die EULA ! | |
"$path_winetricks" -q dotnet46 | |
fi | |
} | |
# Winetricks bereitstellen | |
function install_winetricks { | |
if [[ ! -e "$path_winetricks" ]] | |
then | |
path="$(dirname $path_winetricks)" | |
echo "$path" | |
# erstelle das Verzeichnis falls nötig | |
[[ ! -e "$path" ]] && mkdir -p "$path" | |
# Winetricks herunterladen | |
wget -r -c -N https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks -O "$path_winetricks" | |
chmod +x "$path_winetricks" | |
fi | |
} | |
# startet den Updater | |
function update_bookii { | |
# checke ob das Verzeichnis existiert | |
path="$(dirname $path_bookii_installer)" | |
[[ ! -e "$path" ]] && mkdir -p "$path" | |
# lade die Datei herunter | |
[[ ! -e "$path_bookii_installer" ]] && | |
wget https://www.bookii.de/site/uploads/2019/03/BOOKiiSoftwareInstaller.zip -O "$path_bookii_installer.zip" && | |
unzip "$path_bookii_installer.zip" -d "$path" && | |
rm "$path_bookii_installer.zip" | |
wine "$path_bookii_installer" | |
} | |
# startet den Dateimanager | |
function run_bookii { | |
# checke ob das Verzeichnis existiert | |
path="$(dirname $path_bookii_manager)" | |
[[ ! -e "$path" ]] && mkdir -p "$path" | |
# lade die Datei herunter | |
[[ ! -e "$path_bookii_manager" ]] && | |
wget -r -c -N http://blog.pixelwoelkchen.de/assets/Bookii.zip -O "$path_bookii_manager.zip" && | |
unzip "$path_bookii_manager.zip" -d "$path" && | |
rm "$path_bookii_manager.zip" | |
wine "$path_bookii_manager" | |
} | |
# der erste Parameter, der diesem Skript übergeben wird bestimmt, was ausgeführt wird | |
action="$1" | |
[[ -z "$action" ]] && echo "Was soll gemacht werden (start|update|install)" && exit 1 | |
case "$action" in | |
start) | |
run_bookii | |
;; | |
update) | |
update_bookii | |
;; | |
tricks) | |
install_winetricks | |
"$path_winetricks" | |
;; | |
install) | |
install_winetricks | |
install_dependencies | |
;; | |
esac |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Jetzt hab ichs. Ich hab das virtuelle CD ROM Laufwerk doch noch gefunden und mounten können. Mit der Bookii.exe von dem Gerät funktioniert es jetzt.
Vielen Dank dir nochmal!
P.S.: Für alle die an das gleiche Problem stoßen, ich hab eine Zusätzliche Funktion in das Script eingearbeitet:
Dafür muss der path_mount natürlich gesetzt sein. Ich habe am Anfang
path_mount="$path_bottles/BOOKII_APP"
gesetzt.Außerdem noch folgendes in die case Anweisung am Ende eingefügt:
copy) copy_bookii ;;
Dann ist die Herangehensweise quasi erst
bookii.sh install
bookii.sh copy
und dann mit bookii.sh start
Man muss einmal das Passwort eingeben, damit das CD-ROM Laufwerk gemountet werden kann. Natürlich muss der Stift auch angeschlossen sein, wenn bookii.sh copy aufgerufen wird.