Linux Kurs - Programme

Super! Du hast es geschafft auf deinem Linux-Computer eine grafische Oberfläche zu installieren. In der Zwischenzeit hattest Du sicherlich bereits die Möglichkeit das ein oder andere enthaltene Programm auszuprobieren. Slackware bringt bereits hunderte von Applikationen mit. Dennoch kann es sein, dass Du ein Programm vermisst. In diesem Kursteil lernst Du, wie Du zusätzliche Anwendungen installieren kannst.

Paketverwaltung

Die meisten Linux-Distributionen bringen eine eigene Paketverwaltung mit. Bei Paketen handelt es sich um für eine einfache Installation vorbereitete Programme. Diese Pakete können Abhängigkeiten untereinander aufweisen. Paket X benötigt zum Beispiel Paket Y damit es lauffähig ist.

Viele Linux Distributionen lösen diese Paketabhängigkeiten über den Paketmanager automatisch auf. Diese Vorgehensweise bietet dem Anwender einiges an Komfort, da so die Softwareinstallation deutlich vereinfacht wird. Dennoch bringt sie auch Nachteile mit sich. So sind solche automatischen Systeme oftmals nicht sehr flexibel. Benötigst Du zum Beispiel nicht genau die Version eines Programms, die in den Paketquellen enthalten ist, kann die Installation schwierig werden.

Ein aktueller Ansatz dieses Problem zu lösen, sind so genannte Applikations-Container. Dabei handelt es sich um gebündelte Applikationen, die alle zum Betrieb benötigten Abhängigkeiten wie Bibliotheken (Libraries) bereits enthalten. Prominente Beispiele dieser Technologie heissen: Snap, FlatPak oder AppImage. Ein Vorteil dieser Lösungen ist, dass auch mehrere Versionen des gleichen Programms nebeneinander installiert werden können. Leider widersprechen die Ansätze einigen wichtigen Grundsätzen von Linux. Da jeder Applikations-Container seine eigenen Libraries mitbringt, können diese parallel in mehrfacher Ausführung auf dem System vorhanden sein. Dadurch wird einerseits zusätzlicher Speicherplatz benötigt, andererseits müssen all diese Duplikate aktuell gehalten werden, um die Sicherheit des Systems zu garantieren.

Ein anderer Aspekt ist, dass diese Container oftmals nicht über die Distribution aktualisiert werden. Das heisst, die Sicherheit der Applikation wird ausschliesslich durch den Entwickler des Containers und die Aktualisierungsmechanismen der Containerverwaltung gewährleistet.

Die Distribution Slackware verwendet viele dieser Mechanismen standardmässig nicht. Abhängigkeiten werden nicht automatisch aufgelöst. Das heisst Du musst selber sicherstellen, dass alle benötigten Abhängigkeiten ebenfalls installiert sind. Die Pakete bestehen im Wesentlichen aus .tar.xz (txz) Archiven und BASH Scripten, welche während der Installation entpackt und ausgeführt werden. tar ist ein gängiges Archivformat, ähnlich wie zip auf anderen Plattformen. xz ist ein effektives Datenkompressionsformat, das genutzt wird, um die Grösse der Pakete zu reduzieren. Einige Pakete liegen auch im .tar.gz (tgz) oder ähnlichen Formaten vor.

Hinweis: nicht bei jedem tar-Archiv das Du im Internet findest handelt es sich um ein Slackware-Paket. Vertrauenswürdige Pakete findest Du im offiziellen Repository der Distribution.

Folgende offizielle Tools können verwendet werden um solche Pakete unter Slackware zu verwalten:

upgradepkg wird häufig in Verbindung mit dem Parameter --install-new verwendet, da es beide Fälle abdeckt: die Installation eines neuen Paketes sowie die Aktualisierung eines bereits vorhandenen Paketes.

Es gibt noch weitere Tools wie explodepkg zum einfachen Entpacken eines Paketes, makepkg zur Erstellung von Paketen oder pkgtool. Letzteres bietet ein TUI-Frontend (Terminal User Interface) für die Paketverwaltung. Es kann allerdings nur mit lokalen Paketquellen arbeiten.

Für die allgemeine Installation von Paketen von einem Mirror empfiehlt sich die Nutzung des Programms slackpkg, welches Du bereits kennenlernen durftest.

Durch die Wahl der Installationsmethode full bei der Einrichtung deines Linux-Systems sind bereits viele Programme installiert worden. Da wir die Desktopumgebung KDE bei der Auswahl der Paketgruppen abgewählt haben, wurden allerdings keine KDE-Programme mit installiert.

Am Beispiel einer KDE-Anwendung schauen wir uns die Installation von Zusatzpaketen mit Hilfe vom slackpkg genauer an. Im Folgenden stellen wir dir ausserdem weitere Möglichkeiten zur Installation von Zusatzsoftware vor.

slackpkg

Grundlegend hast du das Konsolenprogramm slackpkg bereits kennengelernt. Du hast dein System aktualisiert, Pakete gesucht, Paket installiert und entfernt. Nehmen wir an, Du möchtest ein weiteres Paket installieren, zum Beispiel den KDE-Texteditor namens kate. Öffne dazu ein Terminalfenster und erlange mit su - Root-Rechte. Mit Hilfe der Suchfunktion von slackpkg kannst Du herausfinden, ob es ein Paket mit dem Namen kate gibt:

Es wurde ein Paket mit dem Namen kate gefunden, welches aktuell nicht installiert ist. Dies erkennst Du an dem [uninstalled] Vermerk vor dem Paketnamen.

Die Installation des Paketes erfolgt wie gewohnt mit dem install Parameter:

slackpkg install kate

Öffne bitte ein zweites Terminalfenster oder ein neues Terminal-Tab (Ctrl+Shift+T) und versuche aus der Kommandozeile als normaler Benutzer das neu installierte Programm zu starten:

kate

Die Applikation kann nicht gestartet werden, da eine weitere Abhängigkeit nicht gefunden wird. In diesem Fall benötigt kate das Library libkactivities.

Wechsle zurück in das Root-Terminal und nutze die bereits bekannte file-search Option um herauszufinden, welches Paket die benötigte Library bereitstellt:

slackpkg file-search libkactivities.so.6

Du siehst, dass die Bibliothek libkactivities.so.6 vom Paket kactivities bereitgestellt wird. Installieren kannst Du die Abhängigkeit mit folgendem Befehl:

slackpkg install kactivities

Wechsle in das Terminalfenster des Benutzers und versuche den Editor durch die Eingabe von kate erneut zu starten.

Wenn alles funktioniert hat, begrüsst dich kate mit folgender Ansicht:

In diesem Beispiel war das Auflösen der Abhängigkeiten sehr einfach, es gibt durchaus komplexere Fälle die einiges an Arbeit benötigen. Ein hilfreiches Programm um Bibliotheksabhängigkeiten herauszufinden ist ldd.

Du kannst ldd mit dem Pfad zu dem Programm aufrufen, für das die Abhängigkeiten dargestellt werden sollen.

Wo ein Programm im Dateisystem abgelegt ist, findest Du mit dem Befehl which heraus:

which kate

Das Programm kate befindet sich im Pfad /usr/bin/

Um zu sehen wie ldd fehlende Abhängigkeiten darstellt, kannst Du vorab das Paket kactivities im Root-Terminal wieder de-installieren:

slackpkg remove kactivities

Führe nun ldd aus um die Abhängigkeiten darzustellen. Als Parameter kannst Du den vollständigen Programmpfad angeben:

ldd /usr/bin/kate

Es wird eine lange Liste von Bibliotheken ausgegeben. Du musst möglicherweise nach oben scrollen, oder ldd mit | more aufrufen:

ldd /usr/bin/kate | more

Du siehst, dass bei libkactivities.so.6 not found ausgegeben wird:

Noch übersichtlicher wird die Ausgabe wenn du sie mit dem grep Befehl einschränkst:

ldd /usr/bin/kate | grep 'not found'

Da du bereits weisst, dass kate nur die libkactivities Bibliothek fehlte und diese im Paket kactivities enthalten ist, kannst Du es wieder mit slackpkg installieren:

slackpkg install kactivities

Wenn Du nun erneut ldd mit dem grep ausführst, sollte keine fehlende Abhängigkeit mehr ausgegeben werden:

ldd /usr/bin/kate | grep 'not found'

Prüfe im Benutzer-Terminal ob kate sich wieder starten lässt.

SlackBuilds

Slackware enthält bereits eine Vielzahl von Freien Applikationen. Es kann jedoch vorkommen, dass ein Programm nicht Bestandteil der Distribution ist. Viele weitere Programme lassen sich anhand von sogenannten SlackBuilds compilieren und paketieren. Man spricht von compilieren, wenn ein Programm aus dem menschenlesbaren Quelltext in ein vom Computer interpretierbares Binärformat übersetzt wird.

Bei den erwähnten SlackBuilds handelt es sich sozusagen um Rezepte zur Erstellung von Slackware-Paketen. Eine grosse Sammlung dieser SlackBuilds findest Du auf der Webseite SlackBuilds.org (https://slackbuilds.org).

Die Suche auf der Webseite ermöglicht es dir das passende Paketrezept zu finden. Neben dem Suchfeld findest Du eine Drop-Down-Liste mit Slackware-Versionen. Standardmässig wird nach SlackBuilds für die aktuelle stabile Version von Slackware gesucht.

Gebe als Beispiel in das Suchfeld den Namen des erweiterten grafischen Texteditors gedit ein. Dieser fügt sich etwas besser in die Xfce Desktopumgebung ein als kate und bietet einen ähnlichen Funktionsumfang.

Nachdem Du die Suche ausgelöst hast, wird eine Liste von Treffern angezeigt. Klicke auf den Namen des Programms gedit.

Wichtig ist der Punkt This requires. In diesem Beispiel benötigt die Applikation gedit pygtksourceview. Klicke auf den Namen pygtksourceview und Du siehst dessen Paketdetails:

Auch pygtksourceview hat eine Abhängigkeit und zwar zu gtksourceview.

Klicke auf den Namen und Du siehst die Details von gtksourceview:

Dieses Paket hat keine weiteren Abhängigkeiten.

Resultierend daraus müssen die Pakete in folgender Reihenfolge erstellt werden:

gtksourceview -> pygtksourceview -> gedit

Du könntest jetzt für jedes dieser Programme das SlackBuild und die Quellen (Sources) herunterladen, das SlackBuild Archiv entpacken, das Quellarchiv in den neu entstandenen Ordner kopieren und mit Root-Rechten das enthaltene SlackBuild Script ausführen. Die resultierende Pakete könntest Du dann mit upgradepkg --install-new installieren.

sbopkg

Viel einfacher geht die Installation jedoch mit dem Tool sbopkg. Es ist nicht Teil der offiziellen Slackware Distribution. Du kannst es auf der Homepage des Projektes herunterladen: https://sbopkg.org

Klicke auf den Reiter Downloads und lade das Slackware Paket herunter. Du kannst es im Download-Ordner deines Benutzers abspeichern:

Öffne ein Xfce-Terminalfenster und erlange mit Hilfe von su - Root-Rechte. Mit dem Befehl installpkg unter Angabe des Pfades unter dem Du das Paket gespeichert hast, kannst Du es installieren. In diesem Beispiel wäre es:

Das * bedeutet, dass an dieser Stelle ein beliebig langer Zeichen- und Zahlenwert stehen kann.

Du kannst natürlich auch die genaue Version des Paketes angeben, in diesem Beispiel sbopkg-0.38.1-noarch-1_wsr.tgz.

Nach der Installation des Paketes, kannst Du sbopkg durch Eingabe des Befehls sbopkg das erste Mal starten. Das Programm fragt einmalig nach einer Bestätigung zur Erstellung der benötigten Verzeichnisse. Bestätige dies durch die Eingabe von C gefolgt von Enter.

Bei sbopkg handelt es sich um eine CLI (Command Line Interface) Anwendung mit optionaler TUI (Terminal User Interface). Letztere funktioniert sehr ähnlich wie Teile der Slackware-Installationsroutine die Du bereits kennst, in den allermeisten Fällen solltest Du allerdings mit dem CLI weiterkommen.

sbopkg TUI

Öffnest Du das Programm sbopkg ohne die Angabe von Parametern, begrüsst dich das Terminal User Interface.

sbopkg

Hinweis: sbopkg lässt sich nur mit Root-Rechten nutzen. Im Folgenden gehen wir davon aus, dass Du die angegebenen Kommandos in einem Root-Terminal ausführst.

Du kannst mit den Pfeiltasten sowie mit Tab die Elemente auswählen. Enter bestätigt jeweils die Auswahl. Für fast jeden Menüpunkt ist ausserdem ein Tastenkürzel hinterlegt (Kurzwahl-Buchstaben). Der entsprechende Buchstabe wird in roter Farbe dargestellt.

Zunächst muss sbopkg die verfügbaren Paketrezepte beziehen. Dazu wähle bitte den Punkt Sync.

Die Synchronisation startet automatisch. Warte bis diese abgeschlossen ist. Dies wird durch die Ausgabe von SYNC COMPLETE signalisiert.

Daraufhin kannst du mit VERLASSEN zurück in das Hauptmenü kehren.

Über die Suche kannst Du einzelne Pakete anhand deren Namen suchen:

Suche nach gtksourceview (dem ersten Paket welches wir erstellen möchten):

Es werden mehrere mögliche Treffer gefunden:

Wir benötigen das erste Paket. Wähle den Punkt Add to Queue. Damit fügst Du das Paket der Queue (Warteschlange) hinzu. Mit ihr kannst Du später alle drei benötigten Pakete direkt hintereinander erstellen.

Das Hinzufügen zur Queue bestätigt das Programm mit folgender Ausgabe:

Daraufhin kommst Du zurück zur Übersicht der Suchergebnisse. Wähle hier B für Back:

Du gelangst zurück zur Suche. Suche nun nach dem Paket pygtksourceview:

Füge es ebenfalls zur Queue hinzu:

Gehe analog dazu für das Paket gedit vor.

Nachdem Du gedit ebenfalls zur Queue hinzugefügt hast, wähle mit M den Punkt Main Menu:

Wähle Q im Hauptmenü und es öffnet sich die Queueverwaltung.

Über den Punkt Process kannst Du die von dir erstellte Queue anschauen und abarbeiten lassen:

Wenn Du alles richtig gemacht hast, sollten jetzt die drei Pakete in der Queueliste in der richtigen Reihenfolge aufgeführt werden. Die Liste wird von oben nach unten abgearbeitet. Wenn die Reihenfolge korrekt ist, wähle den Punkt OK. Andernfalls kannst Du über Back zurück in das Queue Menü gelangen und dort den Punkt Sort wählen um sie um zu sortieren.

Wir gehen davon aus, dass alles geklappt hat. Du kannst mit OK fortfahren.

Da wir die Pakete nicht nur erstellen möchten, sondern auch direkt installieren, wähle den Punkt Install:

Es wird noch ein Pre-Check Log ausgegeben. Mit Start beginnt die Paketerstellung. Diese kann einige Zeit dauern.

Für jedes zu verarbeitende Paket werden die Quelltextarchive heruntergeladen, entpackt, in Maschinencode übersetzt, das Paket erstellt und installiert. Da die Abhängigkeiten aufeinander aufbauen ist dieses Vorgehen wichtig. Es bedeutet, dass gtksourceview bereits auf dem System installiert sein muss, bevor pygtksourceview compiliert werden kann. pygtksourceview muss installiert sein, bevor gedit compiliert werden kann.

Sobald die Queue erfolgreich abgearbeitet worden ist, wird dies durch eine Ausgabe von Queue process complete signalisiert. Auch Fehler würden hier ausgegeben, wenn zum Beispiel ein Quellcodearchive nicht heruntergeladen werden konnte, oder ein Build fehlschlug weil benötigte Abhängigkeiten nicht vorhanden waren:

Abschliessend wirst Du gefragt, ob die Queue gelöscht oder aufbewahrt werden soll. Wenn die Installation erfolgreich war, kannst Du diese löschen. Sollte es nicht geklappt haben, weil Du zum Beispiel vergessen hast eine Abhängigkeit hinzuzufügen, könntest Du hier Keep wählen und wie zuvor beschrieben weitere Pakete zur Queue hinzufügen, diese umsortieren und den Build-Prozess erneut starten.

Es wird eine kurze Bestätigung ausgegeben, dass die Queue geleert worden ist und du gelangst zurück ins Queue Menü.

Wähle dort Back um wieder in das Hauptmenü zu gelangen.

Verlasse sbopkg durch Auswahl von E für Exit:

Du findest dein erstes selbstcompiliertes und paketiertes Programm mit dem Namen gedit im Anwendungsmenü unter der Kategorie Zubehör:

sbopkg CLI

Der gesamte Vorgang der Paketerstellung war zwar bereits durch die TUI relativ komfortabel, es geht allerdings noch einfacher. slackpkg bringt ein kleines Hilfsprogramm mit dem Namen sqg mit. Es bietet die Möglichkeit automatisch Queues für Pakete von SlackBuilds.org zu erstellen. Dazu empfiehlt es sich zunächst für alle verfügbaren SlackBuilds Queuefiles erstellen zu lassen. Dies geschieht als Root mit folgendem Befehl:

sqg -a

Der Vorgang kann bis zu 1.5 Stunden dauern, da alle verfügbaren SlackBuilds analysiert werden.

Nachdem dies abgeschlossen ist, können wir zum Beispiel die Installation des Programms Filezilla starten. Dabei handelt es sich um ein FTP-Dateiübertragungsprogramm.

Da wir für alle Programme Queuefiles erstellt haben, sollte bereits ein entsprechendes Queuefile unter /var/lib/sbopkg/queues/ mit dem Namen filezilla.sqf erstellt worden sein. Du kannst es dir mit dem cat Befehl anzeigen lassen:

cat /var/lib/sbopkg/queues/filezilla.sqf

Die Verarbeitung des Queuefiles kannst Du mit der Hilfe des folgenden Befehls starten:

sbopkg -k -i filezilla

Die Option -k legt fest, dass Pakete in der Queueliste die bereits erstellt worden sind, nicht erneut erstellt werden.

sbopkg erkennt, dass es ein Queuefile sowie ein gleichnamiges Paket gibt. Wir möchten das Queuefile verwenden. Wähle daher Q und drücke Enter:

Auch in der CLI Version wird das PRE-CHECK LOG ausgegeben. Du kannst die Installation durch Eingabe von P gefolgt von Enter starten.

Nach erfolgreicher Installation findest Du den FTP-Client filezilla im Anwendungsmenü unterhalb der Kategorie Internet.

Parameter

Anhand eines weiteren Beispiels schauen wir uns eine mächtige Option an die viele SlackBuils bieten: die Parametrisierung. Wenn ein SlackBuild Parameter unterstützt, wird die üblicherweise in der Beschreibung auf SlackBuilds.org angegeben. Hinweis: Parameter werden nur bei einzelnen Paketen unterstützt und nicht bei Queues.

Suche auf SlackBuilds.org nach dem Paket transmission, einem Programm zur Übertragung von Torrent Dateien:

Da Xfce auf GTK basiert, macht es wenig Sinn auch die Qt Variante zu compilieren. Dies lässt sich über den Parameter QT=no steuern.

Um den Build mit dem Parameter zu starten, kannst Du sbopkg wie folgt aufrufen:

sbopkg -i transmission:QT="no"

Das Programm fragt dich vor dem Build ob Du die Command line options verwenden möchtest. Bestätige dies mit C:

In diesem Falle wird nur die GTK Version des Programmes erstellt. Die TUI von sbopkg bietet über den Punkt Options ebenfalls die Möglichkeit Build-Parameter anzugeben.

gedit

Bevor es weitergeht, schauen wir uns noch einmal das zuvor installierte Programm gedit genauer an.

Rechtschreibprüfung

Möchtest Du die deutsche Rechtschreibprüfung verwenden, kannst Du mit Root-Rechten das Zusatzpaket aspell-de aus den offiziellen Slackware Paketquellen installieren:

slackpkg install aspell-de

Hilfefunktion

Um die integrierte Hilfe nutzen zu können, benötigst Du den GNOME-Betrachter für Hilfsdateien namens yelp. Die Installation erfolgt durch die Eingabe des folgenden sbopkg Kommandos als Benutzer Root:

sbopkg -k -i yelp

Wähle bei der Frage ob das Queuefile oder das Package verwendet werden soll Q, um alle Abhängigkeiten mit zu erstellen und zu installieren:

Markdown

Falls Du Texte in Markdown schreiben möchtest, ist die gedit Erweiterung von Jean-Philippe Fleury emfehlenswert. Bei Markdown handelt es sich um eine einfache Auszeichnungssprache, deren Syntax es dir erlaubt, schnell und unkompliziert Texte zu verfassen. Diese lassen sich dann mit wenig Aufwand in underschiedlichste Formate wie PDF, HTML, LibreOffice oder Ähnliches umwandeln.

Du findest das gedit-Plugin auf der GitHub Seite des Autors:

https://github.com/jpfleury/gedit-markdown/tree/v1

Es ermöglicht die Syntaxhervorhebung von Markdown, zur einfacheren Bearbeitung.

Zur Installation kannst Du auf der GitHub Seite Clone or download klicken und dann Download ZIP wählen. Standardmässig speichert Firefox alle heruntergeladenen Dateien im Downloads Ordner deines Benutzers.

Um das .zip-Archiv zu entpacken, bietet sich die Installation eines grafischen Archivierungsprogramms an. Eine beliebte Anwendung dieser Art heisst file-roller. Damit Du Archive direkt über den Rechtsklick-Dialog im Dateimanager Thunar entpacken kannst, empfiehlt sich ausserdem die Installation des Paketes thunar-archive-plugin. Für das Paket file-roller gibt es kein Queuefile, da es keine fest definierten Abhängigkeiten hat. thunar-archive-plugin liesse sich mittels Queuefile installieren, bei der Frage ob das (Q)ueuefile oder das (P)ackage verwendet werden soll, wähle P für Package, da andernfalls ein weiteres grafisches Archivierungsprogramm mit dem Namen xarchiver als Abhängigkeit installieren würde. Führe als Root folgendes sbopkg Kommando aus, um die Installation zu starten:

sbopkg -i file-roller -i thunar-archive-plugin

Öffne im Thunar den Downloads Ordner und klicke mit der rechten Maustaste auf das heruntergeladene Archiv und wähle den Punkt Hier entpacken:

Klicke auf den neu entstandenen Ordner und wähle mit der rechten Maustaste den Punkt Terminal hier öffnen.

Es öffnet sich ein neues Benutzer-Terminalfenster. Die Installation des Plugins wird im Benutzerkontext ausgeführt, nicht als Root.

Starte das Installationsscript durch Eingabe von:

./gedit-markdown.sh install

Der ./ vor dem Scriptnamen gibt an, dass sich das Script im aktuellen Ordner befindet und ausgeführt werden soll. Dies funktioniert nur, wenn die executable Rechte auf der Datei vergeben worden sind (was bei der heruntergeladenen Datei bereits der Fall ist). Andernfalls könntest Du das Script wie gelernt mit chmod +x ./Scriptname ausführbar machen.

Die Installationsroutine ist nur in französischer Sprache verfügbar. Bei der Frage ob Markdown Standard oder Markdown Extra verwendet werden soll, wähle 1 für Markdown Standard. Bei der zweiten Frage, bei der es um die Darstellung der Vorschau geht, kannst Du den Standardwert 2 übernehmen.

Wenn Du das nächste Mal eine Markdown Datei (Endung .md) in gedit bearbeitest, wird die Syntax entsprechend hervorgehoben.

Empfohlene Pakete

Im Folgenden werden einige Applikationen vorgestellt, die sich für einen Xfce-Desktop gut eignen:

Im Laufe der Zeit wirst Du noch viele weitere Anwendungen entdecken.

Je nach Programm kann die Erstellung der gewünschten Pakete sehr lange Zeit in Anspruch nehmen. Hier einige Empfehlungen die sich unbedingt lohnen. Je nach Rechnertyp kann die Erstellung solcher Pakete mehr als einen Tag dauern. Du kannst den Buildprozess zum Beispiel morgens starten bevor Du aus dem Haus gehst und dich möglicherweise Abends, wenn Du zurück kommst über das fertige Programm freuen:

sbopkg Interaktion

Es kann vorkommen, dass einige Pakete zur Erstellung aus den SlackBuilds eine manuelle Interaktion erfordern. Ein Beispiel wäre das von vlc benötigte Paket avahi. Wenn Du die vlc Queue mit sbopkg -k -i vlc abarbeiten lässt, wird der Paketerstellungsprozess bei der erstmaligen Verarbeitung von avahi angehalten, da ein benötigtes Benutzerkonto und eine Gruppe noch nicht existiert:

In solch einem Fall kannst Du einfach ein zweites Terminalfenster (oder Tab) öffnen und dort die angegeben Kommandos ausführen:

Daraufhin wechselst Du zurück in das Fenster in dem die sbopkg Queueverarbeitung angehalten wurde und gibst R für (R)etry the build ein.

Hinweis: avahi wird im Detail im Kursteil Erweiterte Konfiguration behandelt. Daher empfiehlt es sich die Installation von vlc erst nach Abschluss des nächsten Kursteils durchzuführen.

Updates

Wie auch die offiziellen Slackware Pakete erhalten SlackBuilds ebenfalls Updates. Oftmals handelt es sich dabei um neue Versionen eines Programms oder einer Library. Es gibt aber auch relevante Sicherheitsupdates. Mit Hilfe des -c Parameters kannst Du prüfen ob es Aktualisierungen für Pakete anstehen:

sbopkg -c

Es werden nach einiger Zeit alle Pakete (keine Queues) ausgegeben für die es Updates gibt. Gäbe es zum Beispiel für den Mediaplayer vlc eine Aktualisierung, könntest Du diese mit sbopkg -i vlc und der Auswahl von Package statt Queue installieren:

Diese Funktionalität lässt sich auch bequem über die sbopkg TUI Oberfläche durch Auswahl des Punktes Updates anwählen.

Hinweis: Viele aktuelle Applikationen wie VLC basieren auf dem Framework Qt. Für dieses stehen immer wieder neue Versionen an, wobei es sich in den allermeisten Fällen um Feature-Releases handelt. Die Erstellung des Qt Paketes dauert sehr lange. Daher ist für die Aktualisierung von Qt entsprechend Zeit einzuplanen.

sbopkg GUI

Nebst dem CLI und TUI Frontend gibt es auch eine GUI-Applikation für sbopkg. Diese wird von Gernot Walzl entwickelt. Du findest sie auf der Homepage des Autors: http://gernot-walzl.at

Nachdem Du in der Seitennavigationsleiste sbopkg gui gewählt hast, findest Du ganz unten auf der Seite den Download zum Paket. Wähle die jeweils aktuellste Version. Erkennbar ist diese am Datum. Nachdem Du sie heruntergeladen hast, kannst Du das Paket wie gewohnt mit upgradepkg --install-new /Pfad/zum/Paket.tgz installieren.

Du findest das Programm im Anwendungsmenü unterhalb der Kategorie System:

Es bietet sich an unter den Settings das zu verwendende Terminal von xterm auf xfce4-terminal umzustellen:

Die Bedienung gestaltet sich sehr einfach. Es gibt eine Suchfunktion über die Du Pakete finden kannst. Im linken Bereich werden die Kategorien angezeigt, rechts die dazugehörigen Pakete.

Gebe zum Beispiel im Suchfeld den Namen des Spiels supertux ein. Im rechten Bereich werden die Treffer angezeigt. Wähle supertux aus. Im unteren Teil des rechten Bereichs siehst Du die Beschreibung des SlackBuilds. Es werden auch die benötigten Abhängigkeiten ausgegeben. Wähle den Punkt Install um das Spiel zu installieren:

Hinweis: Es können nicht mehrere Instanzen von sbopkg parallel laufen. Stelle daher sicher, dass keine weitere Installation läuft (z.B. mit der sbopkg CLI) bevor Du auf Install klickst.

3rd Party Repositories

Neben dem offiziellen Slackware Repository gibt es auch einige Paketquellen von Drittanbietern die bereits vorcompilierte Slackware-Pakete enthalten, wie zum Beispiel die Repositories des Slackware-Entwicklers Alien BOB: http://www.slackware.com/~alien/slackbuilds/

Dort findest Du auch bereits erstellte Pakete für vlc oder Libre Office. Pro Paket gibt es einen Unterordner pkg64 für die 64bit Version und darin wiederum Ordner für die verschiedenen Slackware Versionen. Du benötigst zur Installation jeweils nur die .txz Dateien die Du nach dem herunterladen mit Root-Rechten über das Kommando upgradepkg --install-new /Pfad/zum/Paket.txz installieren kannst (wobei Du natürlich /Pfad/zum/Paket.txz durch den tatsächlichen Downloadort ersetzen musst).

Für LibreOffice aus dem alien-Repository kannst Du neben dem Hauptpaket auch das entsprechende Wörterbuch und das gewünschte Sprachpaket installieren (für Deutsch wäre dies: libreoffice-dict-de-... und libreoffice-l10n-de...)

Grundsätzlich ist es auch möglich die alien-Repositories über die slackpkg-Erweiterung Namens slackpkg+ einzubinden: http://slakfinder.org/slackpkg+.html

Drittanbieter Applikationen

Einige Softwarehersteller bieten Ihre Applikationen wahlweise als deb-, rpm-Paket oder als Archiv mit eigener Installationsroutine an. deb-Pakete kommen bei vielen Debian basierten Distributionen zum Einsatz, rpm wurde ursprünglich von Red Hat entwickelt. Distributionen wie openSUSE nutzen ebenfalls dieses Format. Einige SlackBuilds konvertieren lediglich solche vorcompilierten deb- oder rpm-Pakete in das Slackware Format.

Google Chrome

Ein prominentes Beispiel ist das SlackBuild Script für den Google Chrome-Browser aus dem extra/ Repository der Slackware Distribution:

https://mirrors.slackware.com/slackware/slackware64-14.2/extra/google-chrome/

In solchen Fällen lies dir bitte unbedingt das README durch. Dort wird in der Regel die genaue Vorgehensweise beschrieben. Beachte bitte, dass diese Pakete nicht über die Update-Mechanismen von slackpkg oder sbopkg aktualisiert wird. Um bei obigen Beispiel zu bleiben: sollte ein möglicherweise sicherheitsrelevantes Update des Chrome-Browsers veröffentlicht werden, musst Du das Paket aus dem SlackBuild manuell aktualisieren.

VirtualBox

Bei VirtualBox handelt es sich um eine Virtualisierungssoftware die es dir ermöglicht ein weiteres Betriebssystem in einer virtuellen Maschine (VM) auf deinem Computer zu installieren. Dies ist zum Beispiel dann sinnvoll, wenn Du auf einige Windows-Applikationen nicht verzichten kannst. Sofern Du in Besitz eines gültigen Lizenzschlüssels bist, kannst Du Windows in einer VM installieren und dort die benötigten Programme nutzen.

Für VirtualBox gibt es zwar ein SlackBuild auf SlackBuilds.org, dies ist allerdings nicht für seine Stabilität bekannt. Daher empfiehlt sich in diesem Fall die Installation mit Hilfe des Installationscripts des Herstellers. Du kannst die jeweils aktuelle Version auf folgender Webseite herunterladen:

https://www.virtualbox.org/wiki/Linux_Downloads

Wähle den Punkt All Distributions und es startet der Download.

Öffne Thunar und wechsle in dein Downloadverzeichnis. Klicke mit der rechten Maustaste in einen freien Bereich und wähle Terminal hier öffnen. Um das Installationsscript starten zu können, musst Du es zunächst mit chmod ausführbar machen:

chmod +x VirtualBox-*.run

Daraufhin kannst Du es mit Root-Rechten starten:

Wobei du auch den tatsächlichen Dateinamen ohne Wildcards angeben kannst. Nutze hierfür die Tab-Autocompletion, wie du es gelernt hast. Den Pfad zu deinem Downloads-Ordner musst du entsprechend anpassen.

Du findest das Programm nach der Installation im Anwendungsmenü unter der Kategorie System.

Hinweis: VirtualBox bringt kein eigenes Update-Tool zur Aktualisierung des Programms mit, es gibt aber standardmässig eine Benachrichtigung aus, wenn eine neue Version verfügbar ist. Auch hier müsstest Du auf der Downloadseite die neue Version herunterladen und wie oben beschrieben vorgehen. Deine bisherigen Einstellungen und VMs bleiben bei einer Aktualisierung bestehen.

Typora

Bei Typora handelt es sich um einen semi-proprietären Markdown Editor. Er bietet sich aufgrund seiner mächtigen Exportfähigkeiten als Ergänzung zu gedit zum Bearbeiten von Markdown-Dateien an. Die Entwickler bieten ein vorcompiliertes Binary Paket an, welches Du unter folgender URL herunterladen kannst:

https://typora.io/linux/Typora-linux-x64.tar.gz

Speichere das Paket im Download-Ordner ab und entpacke es im Thunar mit einem Rechtsklick auf das Archiv und der Wahl der Option Hier entpacken.

Starte als normaler Benutzer ein Xfce-Terminal und erstelle in deinem Homeverzeichnis einen neuen Ordner, beispielsweise mit dem Namen bin

mkdir ~/bin

Verschiebe den entpackten Ordner in das bin Verzeichnis:

mv ~/Downloads/Typora-linux-x64 ~/bin/

.desktop-File

Um Typora über das Anwendungsmenü starten zu können, musst Du ein sogenanntes .desktop-File erstellen. Dabei handelt es sich um eine Beschreibungsdatei die unter anderem das auszuführende Kommando, den Namen des Programms, das Anwendungssymbol, die Kategorien in denen das Programm angezeigt werden soll und die unterstützen Dateitypen enthält. Systemweite Anwendungsdateien findest Du unter dem Pfad /usr/share/applications/. Für benutzerdefinierte Dateien kannst Du den Speicherort ~/.local/share/applications/ nutzen. Falls das Verzeichnis noch nicht existiert, kannst Du es mit folgendem Befehl anlegen:

mkdir -p ~/.local/share/applications

Der Parameter -p sorgt dafür, dass alle Unterverzeichnisse im anzulegenden Pfad ebenfalls erstellt werden. Sollte das Verzeichnis bereits existieren, führt das Kommando mkdir keine Änderungen durch.

Du kannst ein entsprechendes .desktop-File für typora erstellen:

vi ~/.local/share/applications/Typora.desktop

Als Inhalt kannst du folgendes angeben:

Es folgt eine kurze Erklärung der wichtigsten Parameter:

Programmsymbol

Das Programmarchiv enthält bereits eine Symboldatei (Icon), die noch an die richtige Stelle kopieren. Benutzerspezifische Icons können im Ordner ~/.icons abgespeichert werden. Systemweite Symboldateien findest Du unter dem Pfad /usr/share/icons sowie /usr/share/pixmaps.

Erstelle mit deinem normalen Benutzerkonto den Ordner ~/.icons, falls dieser noch nicht vorhanden ist, und kopiere das enthaltene Symbol dort hinein. Als Dateinamen solltest Du den verwenden, der im .desktop-File angegeben worden ist, in diesem Falle Typora.png:

Dateizuordnung

Letztendlich werden die MimeTypes aller .desktop-Files in einer Datei namens mimeinfo.cache abgespeichert. Wie auch bei dem .desktop-File gibt es eine benutzerspezifische mimeinfo-cache-Datei im Pfad ~/.local/share/applications/ sowie eine Systemweite Datei unter /usr/share/applications. Da wir die Änderungen im Benutzerkontext durchgeführt haben, müssen wir auch diese mimeinfo.cache Datei aktualisieren. Dazu kannst Du folgenden Befehl ausführen:

update-desktop-database ~/.local/share/applications/

Schaue dir den Inhalt der Datei mit dem cat Befehl an:

cat ~/.local/share/applications/mimeinfo.cache

Du siehst, dass eine neue Dateizuordnung für den Typ text/markdown erstellt worden ist.

Nach erfolgreicher Einrichtung findest Du im Anwendungsmenü in der Kategorie Büro einen neuen Eintrag für das Programm Typora mit einem entsprechenden Anwendungssymbol.

Dateizuordnungen korrigieren

Es kann immer wieder vorkommen, dass ein Dateityp nicht mit der Anwendung geöffnet wird, die Du dafür gerne verwenden würdest. Gehen wir einmal von folgendem Fall aus: Du lädst mit dem Browser Firefox eine Datei herunter und klickst im Download-Manager auf das Ordnersymbol Ziel-Ordner öffnen. Doch statt dem Dateimanager Thunar öffnet sich der Audioplayer Audacious.

Um den Typ einer Datei (den MIME-Type) zu ermitteln, kannst du den Befehl xdg-mime nutzen. Da wir herausfinden möchten, wie der MIME-Type zum Öffnen eines Ordners lautet, kannst Du als filetype dein Homeverzeichnis ~ angeben.

xdg-mime query filetype ~

Hinweis: Um den Dateityp für eine reguläre Datei anzeigen zu lassen, kannst Du den Pfad zur Datei als Parameter hinter filetype angeben.

Das Ergebnis ist inode/directory. Nun möchten wir herausfinden welches Standardprogramm für diesen MIME-Type hinterlegt ist.

xdg-mime query default inode/directory

In unserem Beispiel gehen wir davon aus, dass audacious.desktop hinterlegt ist.

Um zu erreichen, dass Thunar als Standardanwendung für diesen MIME-Type verwendet werden soll, kannst Du folgenden Befehl eingeben:

xdg-mime default Thunar-folder-handler.desktop inode/directory

Alle Systemprogramme die als MIME-Type inode/directory unterstützen, kannst Du mit folgendem Befehl ermitteln:

grep inode/directory /usr/share/applications/*

Für Thunar wird die Thunar-folder-handler .desktop-Datei verwendet. Prüfe ob die Änderungen erfolgreich appliziert worden sind:

xdg-mime query default inode/directory

Nun sollte bei einem Klick auf das Ordner-Symbol im Downloadmanager vom Firefox Browser wie gewünscht der Dateimanager Thunar geöffnet werden.

AppImage

Bei AppImage handelt es sich um ein Applikations-Container-Format. Es bündelt alle zum Start der jeweiligen Applikation benötigten Dateien. Wir schauen uns als Beispielapplikation das Grafikprogramm Gimp an. Slackware enthält zwar bereits GIMP, möglicherweise möchtest Du aber eine neuere Version des Programmes nutzen.

Das GIMP AppImage findest Du über den AppImageHub:

https://appimage.github.io/GIMP/

Wenn Du auf Download klickst wirst Du auf die GitHub-Seite des Entwicklers weitergeleitet. Klicke dort auf den Punkt Assets und es wird dir eine lange Liste mit verfügbaren Versionen ausgegeben:

Es empfiehlt sich eine Release-Version zu wählen, da es sich dabei um eine offiziell veröffentlichte Version handelt. Die Versionen welche die Bezeichnung withlugins enthalten, liefern einige erweiterte Plugins für Gimp mit. Suche dir eine entsprechende Version heraus und lade diese herunter. Ein möglicher Versionsname kann wie folgt aufgebaut sein: GIMP_AppImage-release-X.XX.XX-withplugins-x86_64.AppImage, wobei Du das X.XX.XX durch die jeweils höchste Versionsnummer ersetzen solltest. Klicke auf die Datei und speichere sie in deinem Download Ordner ab.

Öffne ein Xfce-Terminal und verschiebe das AppImage mit Hilfe des mv Befehls in den ~/bin Ordner und markiere es als ausführbar:

Du kannst die Applikation nun im Thunar starten indem Du in den Ordner bin wechselst und die AppImage-Datei anklickst. Beim ersten Start wirst Du gefragt, ob sich die Applikation in das System integrieren soll. Beantworte dies mit Yes und es wird ein entsprechender Eintrag im Anwendungsmenü erstellt:

Da Slackware bereits eine Version von GIMP mitliefert, findest Du nach der Installation des AppImages zwei gleichnamige Einträge im Startmenü:

Als Du die Frage nach der Desktopintegration mit Yes beantwortet hast, hat das AppImage ein .desktop-File angelegt. Dieses können wir bearbeiten und den Namen der im Anwendungsmenü angezeigt wird, eindeutiger gestalten.

Ergänze dazu die Zeile die mit Name[de]= beginnt um (AppImage). Name[de]= kennzeichnet die deutschsprachige Übersetzung des Anwendungsnamens:

vi .local/share/applications/appimagekit-gimp.desktop

Schaue im Anwendungsmenü nach, ob der Name korrekt geändert worden ist.

Damit hast Du die Paketverwaltung kennengelernt und unterschiedliche Paketformate installieren können. Auf SlackBuilds.org und im AppImageHub findest Du viele weitere Programme. Im folgenden Teil geht es um die erweiterte Konfiguration deines Systems.

Multilib (Optional)

Bei deiner Linux-Installation handelt es sich um ein reines 64bit-Setup. Das heisst alle Anwendungen wurden auf diesen Prozessortyp hin compiliert. Einige Programme wie Wine oder Steam benötigen jedoch 32bit Libraries. Bei Wine handelt es sich um eine Anwendung mit der es möglich ist, einige Windows-Anwendungen unter Linux zu betreiben. Steam ist eine kommerzielle Spieleplattform. Du solltest Multilib wirklich nur installieren, wenn es unbedingt notwendig ist.

Der Slackware-Entwickler alienBOB stellt sogenannte Multilib-Pakete zur Verfügung um diese Lücke zu füllen. Ein einfacher Weg zur Installation ist das rsync-Script von Dave Woodfall. Du kannst es mit Root-Rechten mit Hilfe des wget Befehls herunterladen und mit chmod als ausführbar markieren:

Mit dem -O Parameter von wget kannst Du den Zielspeicherort angeben. Andernfalls würde die Datei in dem Ordner abgespeichert, in dem Du dich gerade befindest.

Das Script kann nur mir Root-Rechten ausgeführt werden. Es synchronisiert mit Hilfe des rsync Befehls alle Pakete aus dem Multilib-Repository lokal auf deine Festplatte in den Pfad /root/multilib und installiert diese daraufhin mit Hilfe von upgradepkg.

Da wir auch slackpkg verwenden und dieses bei einem Upgrade einige der Multilib-Pakete wieder ersetzen würde, musst Du mit Root-Rechten folgende Einträge am Ende der Konfigurationsdatei /etc/slackpkg/blacklist einfügen:

# This will blacklist compat32 and alienBOB's packages
[0-9]+alien
[0-9]+compat32

Du kannst ebenfalls die Pakete von SlackBuilds.org als Ausnahme für slackpkg definieren, indem Du die Raute vor der Zeile [0-9]+_SBo entfernst.

Speichere die Änderungen ab und verlasse den Editor.

Du kannst die Synchronisation und Installation durch einen Aufruf des Scriptes mit Root-Rechten auslösen:

Reminder: Falls Du bereits ein Root-Terminal geöffnet hast, musst Du nicht erneut su - eingeben.

su -
/usr/local/bin/alien-multilib-rsync.sh

Dieses Script solltest Du ebenfalls regelmässig ausführen, zum Beispiel jeweils nachdem Du dein System mit Hilfe von slackpkg update && slackpkg upgrade-all aktualisiert hast.

Damit hast Du die nötigen Vorbereitungen zur Nutzung von Multilib-Anwendungen getroffen.

Wine

Um Windows Anwendungen unter Linux zu betreiben, hast Du entweder die Möglichkeit Windows in einer virtuellen Maschine zu betreiben, oder Du kannst Wine verwenden.

Einige Anwendungen werden von Wine gut unterstützt. In der Online-Applikationsdatenbank des Wine-Projektes findest Du eine Übersicht:

https://appdb.winehq.org/

Es empfiehlt sich das Rating und die Details der jeweiligen Programmversion anzuschauen. Bei Programmen die nicht zumindest ein Gold oder Platinum Rating erhalten haben, lohnt sich in den allermeisten Fällen nichtmals ein Versuch.

Wine ist als SlackBuild verfügbar. Die Installation erfolgt mit Hilfe von sbopkg:

su -
sbopkg -k -i wine

Um Wine als Standardanwendung für .exe-Dateien zu definieren, kannst Du mit deinem regulären Benutzerkonto in im Xfce-Terminal den folgendenxdg-mime Befehl ausführen:

xdg-mime default wine.desktop application/x-ms-dos-executable

Notepad++

Als Beispielanwendung werden wir den unter Windows beliebten Texteditor Notepad++ installieren. Die von WineHQ mit Platinum bewertete Programmversion ist v4.

https://appdb.winehq.org/objectManager.php?sClass=application&iId=2983

Lade die entsprechende Installationsdatei von der Webseite des Projektes herunter, in diesem Beispiel v4.0:

https://notepad-plus-plus.org/download/v4.0.html

Öffne den Downloads-Ordner mit Thunar und klicke die .exe-Datei an.

Beim ersten Start einer Windows-Applikation wird die Basiskonfiguration von Wine erstellt. Diese befindet sich unterhalb des Pfades ~/.wine.

Daraufhin startet das Installationsprogramm von Notepad++.

Wähle im letzten Schritt den Punkt Create Shortcut on Desktop um ein Anwendungssymbol auf dem Schreibtisch zu erstellen.

Andernfalls kannst Du das Programm durch Eingabe des folgendem Befehls im Xfce-Terminal starten:

wine "C:\Program Files\Notepad++\notepad++.exe"

Wine liefert ein grafisches Hilfsprogramm mit dem Namen winecfg mit. Du kannst es beispielsweise aus dem Xfce-Terminal oder mit Hilfe des Programmstarters, den Du über Alt+F2 erreichen kannst, aufrufen. Gebe dort winecfg gefolgt von Enter ein. Für unser Beispielprogramm Notepad++ sind dort keine Einstellungen vorzunehmen.

Es empfiehlt sich die Windows-Standardschriften innerhalb von Wine zu installieren. Eine einfache Möglichkeit bietet das Programm winetricks. Dabei handelt es sich um eine Sammlung von Hilfsprogrammen zur Installation von Anwendungen und Windows-Bibliotheken sowie zur Korrektur von Fehlern in Wine.

Die Anwendung ist als SlackBuild verfügbar. Die Installation erfolgt als Root mit Hilfe des sbopkg Befehls:

su -
sbopkg -k -i winetricks

Nach der erfolgreichen Installation von winetricks, kannst Du mit deinem regulären Benutzerkonto in einem Terminal folgenden Befehl ausführen um die Windows-Standardschriftarten zu installieren:

winetricks corefonts

Beim nächsten Programmstart von Notepad++ sollten die Schriften korrekt angezeigt werden.

Die Installation der Schriftwarten wird im Pfad ~/.wine durchgeführt und hat keinen weiteren Einfluss auf dein Linux-System.

Hinweis: Mit Hilfe des Befehls winetricks list-download kannst Du dir alle verfügbaren winetricks-Downloads anzeigen lassen.

Beachte bitte, dass eine unter Linux mit Wine gestartete Windows-Applikation in den seltensten Fällen genauso gut funktioniert wie unter Windows selbst. Wenn ein Programm auf WineHQ ein Platinum Rating erhalten hat, bedeutet das nur, dass die Person aus der Community die es getestet hat, das Programm für gut befunden hat.

Im beseten Falle suchst Du dir eine unter Linux verfügbare Alternative. Für Notepad++ wäre beispielsweise das Linux-Equivalent Notepadqq. Für letzeres ist ein entsprechendes SlackBuild verfügbar:

Damit sind wir am Ende des Kursteiles angekommen. Du hast verschiedene Paketformate kennengelernt und kannst Zusatzprogramme installieren. Anhand von SlackBuilds ist es dir gelungen aus Quelltexten installierbare Pakete zu erzeugen. Sicher wirst Du noch viele weitere spannende Programme entdecken, lieben lernen oder wieder verwerfen. Wir wünschen dir viel Spass beim nächsten Kursteil, bei dem es um die erweiterte Systemkonfiguration geht.

Programme < PDF >
https://faircomputer.ch/linuxkurs/Konfiguration.pdf

Programme < HTML >
https://faircomputer.ch/linuxkurs/Konfiguration.html


© Faircomputer - Dokumentenversion 2.8