Installation unter Linux

Für andere Linux-Varianten als Ubuntu bzw. Debian ist die Installation von Jabotics mit ein wenig mehr Aufwand verbunden. Auf Ubuntu-Systemen kann die folgende Anleitung zur manuellen Installation der Einzelkomponenten von Jabotics verwendet werden. Die Installationsschritte müssen i.a. mit Administratorrechten durchgeführt werden, d.h. man wechselt im Terminal am besten auf den Benutzer root. Die Anleitung konzentriert sich auf die eigentliche Jabotics-Installation. Für die Installationen von BlueJ und den leJOS-Bibliotheken wird zusätzlich auf die Dokumentationen auf den zugehörigen Websites verwiesen.

  1. Installation eines Java-Development-Kits: Die gewählte Java-Version sollte zum aktuellen Entwicklungsstand von BlueJ passen (z.B. OpenJDK in der Version 8 plus OpenJFX für BlueJ 4.1).

  2. Installation von BlueJ: Von der BlueJ-Homepage lädt man das passende Installationspaket zum Betriebssystem herunter und führt die Installation nach Anleitung durch. BlueJ sollte sich jetzt starten lassen. Wurde bei der Installation der Ordner /usr/share/bluej erzeugt und befindet sich darin die Datei bluej.defs, so sind in Jabotics diesbezüglich keine Anpassungen erforderlich (andernfalls siehe die Seite zur BlueJ-Konfiguration).

  3. leJOS-Installation: Die Installation der leJOS-Bibliotheken ist nur erforderlich, wenn man tatsächlich mit Lego-Robotern arbeiten möchte. Für das Starten der Robotersimulation ist sie nicht notwendig. Man muss auch nicht zwingend beide leJOS-Bibliotheken (NXT und EV3) gemeinsam installieren. Die Installationspakete und Hinweise zur Installation findet man über die leJOS-Homepage. Zur Installation gehören in der Regel folgende Schritte:

    • Wenn die NXT-Bibliothek installiert werden soll, sind bestimmte Abhängigkeiten zu erfüllen. Für ein Ubuntu-System müssen z.B. die Pakete libusb-dev und libbluetooth-dev installiert sein. Auf 64-Bit-Systemen wird zusätzlich ein Kompatibilitätspaket wie lib32z1 benötigt. Die NXT-Installation beinhaltet einen Übersetzungsschritt, für den ant installiert sein muss. Die Installationen erfolgen mit dem Paketmanager des jeweiligen Linux-Systems (vgl. z.B. die Installationsanleitung für Ubuntu).

    • Herunterladen der aktuellen Installationspakete (hier z.B. die Dateien leJOS_NXJ_0.9.1beta-3.tar.gz und leJOS_EV3_0.9.1-beta.tar.gz in das Downloads-Verzeichnis des aktuellen Benutzers).

    • Entpacken der Installationspakete möglichst im Ordner /opt:
      cd /opt
      tar -xzf ~/Downloads/leJOS_NXJ_0.9.1beta-3.tar.gz
      tar -xzf ~/Downloads/leJOS_EV3_0.9.1beta.tar.gz
      Bauen der NXT-Binaries:
      cd /opt/leJOS_NXJ_0.9.1beta-3/build
      ant
      Es sollte die Meldung „BUILD SUCCESSFUL“ erscheinen.

    • Das automatische Einbinden der Lego-NXT-Roboter über USB-Kabel erfordert die Bereitstellung einer rules-Datei. Dieser Schritt wird im Zusammenhang mit der Installation der Jabotics-Dateien nachgeholt.

    • Damit die leJOS-Bibliotheken ohne weiteres Zutun von der Jabotics-Erweiterung gefunden werden (vgl. Seite zur BlueJ-Konfiguration), empfiehlt sich das Anlegen symbolischer Links auf die Installationsverzeichnisse:
      cd /opt
      ln -s leJOS_NXJ_0.9.1beta-3 leJOS_NXJ
      ln -s leJOS_EV3_0.9.1beta leJOS_EV3
      Alternativ können die Installationsverzeichnisse durch Entfernen der Versionsinformationen auch entsprechend umbenannt werden:
      cd /opt
      mv leJOS_NXJ_0.9.1beta-3 leJOS_NXJ
      mv leJOS_EV3_0.9.1beta leJOS_EV3

  4. Jabotics-Installation: Man lädt von der Download-Seite das aktuelle tar-Archiv für Linux herunter (z.B. die Datei jabotics-linux-1.1.1.tar.gz). Das Archiv wird möglichst im Ordner /usr/share entpackt:
    cd /usr/share
    tar -xzf ~/Downloads/jabotics-linux-1.1.1.tar.gz
    Jetzt kann die NXT-Installation vervollständigt werden:
    cp /usr/share/jabotics/lib/71-lego.rules /etc/udev/rules.d/
    Es müssen darüber hinaus einige Dateien kopiert bzw. symbolische Links erzeugt werden. Die Verwendung symbolischer Links erlaubt das einfache Aktualisieren der Jabotics-Version durch Austausch des Jabotics-Verzeichnisses. Die folgenden Befehle gehen davon aus, dass sich die Datei bluej.defs und die referenzierten Unterverzeichnisse im BlueJ-Installationsverzeichnis /usr/share/bluej befinden:
    cp /usr/share/jabotics/templates/en/* /usr/share/bluej/english/templates/newclass/
    cp /usr/share/jabotics/templates/de/* /usr/share/bluej/german/templates/newclass/
    ln -s /usr/share/jabotics/lib/jabotics-tools.jar /usr/share/bluej/extensions/jabotics-tools.jar
    ln -s /usr/share/jabotics/lib/jabotics-sim.jar /usr/share/bluej/userlib/jabotics-sim.jar
    Zusätzlich bei installierten NXT- bzw. EV3-Bibliotheken:
    mkdir /opt/leJOS_NXJ/lib/userlib
    ln -s /usr/share/jabotics/lib/jabotics-nxt.jar /opt/leJOS_NXJ/lib/userlib/jabotics-nxt.jar
    mkdir /opt/leJOS_EV3/lib/userlib
    ln -s /usr/share/jabotics/lib/jabotics-ev3.jar /opt/leJOS_EV3/lib/userlib/jabotics-ev3.jar
    ln -s /usr/share/jabotics/lib/manifest-ev3 /opt/leJOS_EV3/lib/userlib/manifest-ev3

  5. Konfiguration von BlueJ: Falls bei der Installation nicht in allen Fällen die Standardpfade verwendet wurden, müssen bestimmte Umgebungsvariablen vor dem Start von BlueJ gesetzt werden, damit die Jabotics-Erweiterung ohne Einschränkungen funktioniert. Wie man diese Einstellungen überprüft, wird auf der Seite zur BlueJ-Konfiguration erläutert. Eine bei der Erstinstallation von Jabotics notwendige Konfigurationsänderung betrifft das Hilfemenü in BlueJ: Damit die Jabotics-Schnittstellendokumentationen im Menü angezeigt werden, muss die Konfigurationsdatei bluej.defs (hier im Ordner /usr/share/bluej) entsprechend ergänzt werden. Im einfachsten Fall ersetzt man dazu diese Datei durch die mit Jabotics ausgelieferte Beispielkonfiguration. Man wechselt im Terminal in das BlueJ-Installationsverzeichnis, benennt die ursprüngliche Konfigurationsdatei um, um sie notfalls wieder herstellen zu können, und kopiert dann die Jabotics-Datei an deren Stelle:
    cd /usr/share/bluej
    mv bluej.defs bluej.defs.original
    cp /usr/share/jabotics/lib/bluej.defs.de bluej.defs

Werden vor dem Start von BlueJ evtl. noch fehlende Umgebungsvariablen gesetzt, sollte Jabotics einsatzbereit sein. Auf der Seite zur BlueJ-Konfiguration wird beschrieben, wie man die Installation bei Auftreten von Fehlern überprüfen kann.