Obwohl Werkzeuge für das Projektmanagement (PM) eher im beruflichen Umfeld anzutreffen sind, gibt es private Anwendungsfälle dafür. Wer zum Beispiel einen Umbau oder eine grosse Reise plant, ist froh, wenn die nötigen Aktivitäten entsprechend ihrer Abhängigkeit und Dauer übersichtlich dargestellt werden können. Auch die eingesetzten Ressourcen und ihre Verfügbarkeit können in die Planung aufgenommen werden. Dem Profi kommen noch Dinge wie der "kritische Pfad", Vorwärts- oder Rückwärtsplanung usw. in den Sinn. Den Meisten fällt jedoch das Gantt-Diagramm ein, wie es im Titelbild zu sehen ist.
Das Wiki von Ubuntuusers.de gibt eine gute Übersicht über PM-Anwendungen für GNU/Linux. Leider findet man auf Flathub.org keine einzige dieser PM-Anwendungen. Auch im Snap-Store findet man lediglich ProjectLibre. Wer ein Debian-basiertes System fährt, sollte mit der Installation keine Probleme haben, da es für fast alle Programme deb-Pakete gibt. Bei Arch-basierten Distros wird es schwieriger. Zwar findet man im AUR einige der PM-Anwendungen, deren Installation jedoch problembehaftet ist.
Da GanttProject eine der beliebtesten Anwendung ist und ausserdem in aktueller Version vorliegt, zeige ich in diesem Artikel, wie die Installation mit Hürden unter Manjaro/GNOME aussieht.
Zunächst einmal startet man die Software-Verwaltung Pamac im GUI-Modus und stellt sicher, dass auch Pakete aus dem AUR zur Verfügung stehen. Falls nicht, kann das unter Einstellungen/Drittanbieter eingeschaltet werden. Nun sucht man nach dem Paket GanttProject. Statt nun auf den Download-Pfeil zu klicken, öffnet man die Detailinformationen:
Hier gibt es die Möglichkeit, die Build-Dateien anzupassen, was für eine erfolgreiche Installation notwendig ist. Nähere Information dazu finden sich im AUR-Wiki. Unter den Build-Dateien findet man PKGBUILD und ganttproject.desktop; beide Dateien müssen angepasst werden. Entweder trägt man von Hand die Änderungen aus dem AUR-Wiki ein, oder man kopiert diese beiden Textblöcke:
Angepasste PKGBUILD
# Maintainer: SanskritFritz (gmail)
# Maintainer: Grigoris Pavlakis (aur.archlinux.org/account/lightspot21)
# Contributor: zertyz <zertyz@gmail.com>
# Contributor: craeckie (aur.archlinux.org/account/craeckie)
# Contributor: Oliver Kahrmann <oliver.kahrmann@gmail.com>
# Original Author: David Fuhr <david.fuhr@web.de>
pkgname=ganttproject
_version=3.2
_build=3240
pkgver=$_version.$_build
pkgrel=1
pkgdesc="A project scheduling application featuring gantt chart, resource management, calendaring."
arch=('i686' 'x86_64')
url="https://www.ganttproject.biz/"
license=("GPL")
depends=('jre17-openjdk' 'java17-openjfx' 'hicolor-icon-theme')
makedepends=('unzip')
source=("https://dl.ganttproject.biz/$pkgname-$pkgver/$pkgname-$pkgver.zip"
"ganttproject.desktop")
prepare() {
# add JavaFX path to startup script
sed -i '/^BOOT_CLASS/ aJFX_ARGS="--module-path /usr/lib/jvm/java-17-openjdk/lib/javafx.base.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.controls.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.graphics.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx-swt.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.fxml.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.media.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.swing.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.web.jar --add-modules javafx.base,javafx.controls,javafx.graphics,javafx.swt,javafx.fxml,javafx.media,javafx.swing,javafx.web"' $srcdir/ganttproject-$pkgver/ganttproject
sed -i '/^"$JAVA_COMMAND"/ s/$DEBUG_ARGS/$DEBUG_ARGS $JFX_ARGS/' $srcdir/ganttproject-$pkgver/ganttproject
}
package() {
mkdir -p "$pkgdir/opt/"
cp --recursive "$srcdir/ganttproject-$pkgver" "$pkgdir/opt/$pkgname"
chmod 755 "$pkgdir/opt/$pkgname/ganttproject"
install -D -m0644 "$srcdir/ganttproject.desktop" "$pkgdir/usr/share/applications/ganttproject.desktop"
install -D -m0644 "$srcdir/ganttproject-$pkgver/plugins/base/ganttproject/resources/icons/ganttproject.png" "$pkgdir/usr/share/icons/hicolor/64x64/apps/ganttproject.png"
mkdir -p "$pkgdir/usr/bin"
ln -s "/opt/$pkgname/ganttproject" "$pkgdir/usr/bin/ganttproject"
}
sha256sums=('38dbddaf4c55ff7731e3a061dde9a8b38236789409ee3b5ab8228d96688748bd'
'5772f09f449c2e46bb130e861f3492b55e29b388391917af5dbccb813bd91e8d')
Angepasste ganttproject.desktop
[Desktop Entry]
Name=Ganttproject
Comment=GanttProject is a project scheduling application featuring gantt chart, resource management, calendaring
Icon=ganttproject
Exec=/opt/ganttproject/ganttproject -j /usr/lib/jvm/java-17-openjdk %F
Terminal=false
Type=Application
Categories=Application;Office;
StartupNotify=true
Nachdem die beiden Dateien angepasst wurden, klickt man auf die Schaltflächen Build und Übernehmen, um die Installation durchzuführen.
GanttProject erwartet die Java-Umgebung java-17-openjdk. Daher gilt es nun festzustellen, welche Java-Versionen vorhanden sind und das geht so:
sudo archlinux-java status
Available Java environments:
java-11-openjdk
java-17-openjdk
java-18-openjdk (default)
Falls Java 17 bei euch fehlt, muss dieses installiert werden, mit: pamac install jdk17-openjdk. Danach sollte man erneut prüfen, ob java-17-openjdk jetzt vorhanden ist. Im nächsten Schritt wird java-17-openjdk als default Umgebung eingestellt. Das geht so:
sudo archlinux-java set java-17-openjdk
sudo archlinux-java status
Available Java environments:
java-11-openjdk
java-17-openjdk (default)
java-18-openjdk
Jetzt kann GanttProject gestartet werden und sollte hoffentlich funktionieren. Es empfiehlt sich, die Anwendung erst einmal im Terminal zu starten, damit man evtl. Fehlermeldungen sehen kann.
Ach so, wenn ihr jetzt noch wissen möchtet, wie man mit GanttProject arbeitet, dann empfehle ich das Einführungsvideo von Martin Egli (Achtung: Schweizerdeutsch, aber gut verständlich).