Solus OS Budgie 4.3 – Ein schnelles schickes Linux für den Umsteiger?

Gestern morgen habe ich noch kurz einen Blick auf die Linux Distribution Solus OS geworfen. Ich habe lediglich die Live Version getestet und nichts installiert. Solus ist eine eigenständige Distribution, d.h. sie basiert nicht auf Ubuntu oder Arch, wie die meisten ihrer Kolleginnen. Solus hat sogar einen eigenen Desktop mit dem Namen Budgie entwickelt, der mittlerweile von vielen anderen Distributionen genutzt wird.

Das Live Image der Budgie Version ist 1.9GB groß und startet ohne Probleme vom USB Stick. Ich war überrascht, wie schnell sich der Desktop vor mir auftat. Alles fühlt sich richtig snappy an. Ich konnte nirgends irgendwelche Lags feststellen, selbst bei der Live Version. Solus gibt es natürlich noch mit anderen Desktopumgebungen, wie bspw. Gnome oder KDE. Die Images dazu findet man ebenfalls auf der Downloadseite.

Das System kommt mit ausreichend Software für den Einstieg. Alles, was man für den Alltag braucht ist da: Firefox, Thunderbird, Text-Editor, Libre Office, Rhythmbox, Gimp, etc… Für die Installation weiterer Software gibt es das obligatorische Software Center.

Da Solus komplett unabhängig entwickelt wurde, kann man nicht erwarten, dass die Repositories für weitere Software auch nur annähernd so reich gefüllt sind, wie die von größeren Distributionen. D.h., wenn man speziellere Software sucht, wird man diese wohl per Hand installieren müssen. Selbstverständlich kann man seine Software auch im Terminal installieren: sudo eopkg install <packagename>

Das Aussehen und Verhalten der „Taskleiste“ am unteren Bildschirmrand erinnert ein wenig an Windows und wird Umsteigern erfreuen. Links finden wir das Menü, welches sehr aufgeräumt ist.

… und auf der rechten Seite befinden sich die üblichen System-Icons: Netzwerk, Lautstärke, Bluetooth, Uhrzeit, Batterie, Herunterfahren etc. und Raven, eine Infoleiste in der man am rechten Bildschirmrand den Kalender, Notifications und anderes Zeugs angezeigt bekommt.

In den Systemeinstellungen kann man schnell und einfach diverse Dinge einstellen. Es gibt eine gute Auswahl an Desktop Wallpapers, man kann die Taskleiste platzieren und das Aussehen ändern, man kann sogar weitere Taskleisten anlegen und verschiedene Applets darauf platzieren.

Alles in allem ein rundes, nettes Betriebssystem, dass ich im Grunde jedem ans Herz legen kann. Mich wundert es immer wieder, dass sich so viele Nutzer, die wirklich nur im Netz surfen, ihre Emails abrufen und mal einen Film schauen, sich immer noch mit Windows rumschlagen. Mittlerweile gibt es so viele gute Linux Desktop Distributionen, die man problemlos sofort benutzen kann.

Das Einzige, was mich etwas an Solus gestört hat, ist das Standard-Theme des Desktops. Das OS startet zunächst im Dark-Modus, der mir persönlich etwas zu dark ist. Im Terminal hatte ich Probleme etwas zu erkennen (Die Schrift war auch viel zu klein, ebenso im Text-Editor).

In den Einstellungen kann man das Theme auf light umstellen, was in der Live-Version aber nicht funktionierte. Wie gesagt, ich habe nichts installiert, daher will ich das nicht verurteilen. Andere Themes konnte man in den Einstellungen nicht so ohne Weiteres installieren, möglicherweise geht das aber an anderer Stelle.

Wen das nicht stört, oder wer keine Probleme damit hat zu recherchieren, wie man das Aussehen des Desktops anpassen kann, dem kann ich Solus nur ans Herz legen.

Archcraft OS – ein wunderschönes, minimalistisches Arch Linux für jedermann…

Vor kurzem hat meine Tochter ein neues Notebook für die Schule bekommen und daher ist ihr betagtes Lenovo Ideapad von 2016 jetzt irgendwie überflüssig geworden. Es besitzt einen Intel Celeron Prozessor mit 1,8GHz und war anfangs mit 2GB RAM ausgestattet, den ich kurz nach dem Kauf auf 4GB aufgerüstet habe (wobei ich beinahe alles kaputt gebrochen habe). Der Bildschirm ist 14“ groß und das Teil ist ein übel verarbeitetes Plastiknotebook.

Nichtsdestotrotz funktioniert es noch und auch der Akku hält noch locker 4 Stunden. Ab Werk war Windows 8.1 installiert und das will ja nun wirklich keiner benutzen. Vor ein paar Tagen habe ich zufällig von einem Arch Linux mit vorinstalliertem Openbox Window Manager gelesen, dass perfekt zu diesem Laptop passen würde. Da keine Desktop Umgebung wie Gnome oder KDE installiert ist, soll Archcraft OS recht gnädig mit der Hardware umgehen.

Zuvor hatte ich Manjaro Linux mit Gnome auf dem Notebook angetestet, aber damit war die alte Mühle etwas überfordert. Daher habe ich mir die 1,7GB große ISO von Archcraft heruntergeladen und das Ideapad damit gebootet. Ich benutze übrigens Etcher zum Erstellen eines bootfähigen USB-Sticks.

Alles funktionierte auf Anhieb (WiFi, Audio) und daher habe ich das Betriebssystem sofort installiert. Seit einigen Wochen besitzt Archcraft OS den typischen Manjaro Installer Calamares, der die Installation zum Kinderspiel macht. Nach einigen Minuten kann ich den Rechner neu starten und nach relativ kurzer Bootzeit (wenn man bedenkt, dass die Hardware nicht die Schnellste ist) erstrahlt Archcraft in voller Pracht:

Willkommen…

Gleich nach dem ersten Start habe ich im Terminal das Programm htop ausgeführt, um zu schauen welche Resourcen verbraucht werden. Auf der Website wird angegeben, dass das OS nur 200MB im RAM belegen soll. Das kann ich so nicht ganz bestätigen, aber es verbraucht wesentlich weniger, als bspw. ein Gnome Desktop

Ein Blick auf neofetch verrät einige Details zur Installation:

ArchCraft verfügt über einige vorgegebene Themes, die allesamt wirklich nett aussehen. Die Auswahl der Wallpapers ist recht schön und es ist ja auch ein Leichtes einen eigenen Hintergrund einzusetzen. Ich mag die Leiste des Openbox Fenstermanagers und besonders die eingesetzte Schriftart. Somit sieht der Desktop schön, aber auch etwas geeky aus.

Wer noch nie Openbox benutzt hat, wird sich hier trotzdem recht schnell zurechtfinden. Mit der Super-Taste (Win) oder dem Launcher Icon oben links in der Leiste ruft man den Launcher auf, wo alle installierten Apps aufgeführt sind (sortiert nach Häufigkeit der Benutzung). Der Launcher dient gleichzeitig als App-Suche, was den Start von bestimmten Programmen wirklich beschleunigt.

Wer es lieber etwas aufgeräumter mag, der klickt einfach mit der rechten Maustaste auf den Desktop und kommt somit in das typische Openbox Menü, wo alle Apps und Einstellungen schön sortiert aufgelistet sind.

Als Dateimanager ist Thunar installiert, oder man nutzt den Terminal-Dateimanager Ranger, der schnelles Navigieren im Dateisystem ermöglicht.

Was soll ich sonst noch schreiben? Ich empfehle nach der Installation des Systems sofort Pamac (grafischer Paketverwaltung) zu installieren und dort dann das User Repository AUR zu aktivieren. Somit bleibt kaum noch ein Wunsch offen bei der Installation weiterer Apps.

Ich hatte bisher keine Probleme mit der Installation irgendeiner Software und die Hardware wurde auch auf Anhieb erkannt. Nur beim Starten der Live-Edition auf dem Macbook wurde der WiFi Adapter nicht auf Anhieb installiert. Hierbei handelt es sich nun mal um einen proprietären Treiber und da kann es schon mal Probleme geben…

Ansonsten gehört ArchCraft jetzt schon zu einer meiner Liebling-Distributionen.

Die Eingabeaufforderung oder warum es viel hipper ist, Befehle einzutippen statt anzuklicken …

Heutzutage gibt es eine Vielzahl an Interfaces zur Eingabe von Computerbefehlen: Abgefahrene grafische Schnittstellen, Spracherkennung, mit Sicherheit auch VR-Krams … All das macht die Bedienung eines Computers für den Großteil der Nutzer wesentlich einfacher. Aber diese Schnittstellen sind beschränkt … man kann keinen Button anklicken, der nicht da ist. Will heißen: Wenn man alle Werkzeuge des Rechners komplett nutzen will, muss man sich auf die Textebene begeben – in die Eingabeaufforderung.

Nahezu alle Betriebssysteme verfügen über eine Art Eingabeaufforderung (Shell), manche sogar über mehrere. Wenn sich die Feinheiten dieser Shells auch unterscheiden können, ist die Kernaufgabe bei allen gleich: Sie erlauben es einem, Programme zu starten, Eingaben zu machen und ihre Ausgaben zu analysieren.

In diesem Tutorial beschränke ich mich auf die bekannteste und am meisten genutzte Shell, die Boune Again SHell, oder Bash. Um Befehle in eine Shell einzugeben, benötigt man zunächst ein Terminal. Jedes Betriebssystem verfügt über solch ein Terminal oder bietet die Möglichkeit eines zu installieren.

Unter Windows ist die Power Shell seit 2006 die Kommandozeile und Scripting-Sprache der Wahl. Die Befehle sind ähnlich, aber es gibt natürlich schon einige Unterschiede. Ich nutze derzeit hauptsächlich ein Windows System, habe mich aber schon vor langem an die Bash gewöhnt. Diese kann man unter Windows auch nutzen und es gibt auch verschiedene Terminals, die man zu diesem Zweck unter Windows installieren kann – bei mir hier kommt Terminus zum Einsatz.

Wenn man das Terminal öffnet, sieht man folgende Eingabeaufforderung:

tardis:~$

Dies ist die Eingabeaufforderung der Shell. Sie sagt, dass man sich auf dem Rechner tardis befindet und dort im Home-Verzeichnis (~) des aktuellen Users. Das $ sagt aus, dass man nicht der root User ist (dazu später mehr). Unter Umständen kann die Eingabeaufforderung auch etwas anders aussehen, je nachdem wie der Rechner heißt und in welchen Verzeichnis man sich gerade befindet…

Hier könnte man nun seine Kommandos eingeben, welche von der Shell dann interpretiert werden. Der einfachste Befehl wäre das Ausführen eines Programms.

tardis:~$ date
Thu May 20 18:11:34 CEST 2021
tardis:~$

Hier habe ich nun das Programm date ausgeführt, welches (wenig überraschend) das aktuelle Datum ausgibt. Die Shell fragt uns dann gleich nach einem neuen Kommando. Man kann auch Befehle mit Parametern ausführen:

tardis:~$ echo hello
hello
tardis:~$

Hier habe ich das Programm echo mit dem Parameter hello ausgeführt. Das echo Programm gibt seine Parameter einfach auf dem Bildschirm aus. Die Shell untersucht den Befehl anhand der Leerzeichen in der Eingabe. Das erste Wort wurde als Befehl erkannt und die nachfolgenden Worte dementsprechend als Parameter. Falls man einen Parameter eingeben möchte, der eventuell selbst Leerzeichen enthält (einen Satz beispielsweise), dann muss man einfache ' oder zweifache " Anführungszeichen nutzen. ('dies ist ein Satz').

tardis:~$ echo 'dies ist ein Satz'
dies ist ein Satz
tardis:~$

Aber wie findet die Shell denn das date oder echo Programm? Die Shell ist eine Programmierumgebung, genauso wie Python oder Ruby. Somit verfügt sie über Variablen, Schleifen, Bedingungen und Funktionen. Wenn man einen Befehl ausführt, ist das in Wahrheit ein Stück Programmcode, welchen die Shell interpretiert. Falls man ihr sagt, dass sie ein Programm ausführen soll, dass keinem ihrer Programmier-Schlüsselwörter entspricht, dann sucht sie in der Umgebungsvariable $PATH danach. In dieser Variable sind bestimmte Verzeichnisse auf der Festplatte gespeichert, in der die Shell nach den Befehlen nachsehen soll:

tardis:~$ echo $PATH
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin
tardis:~$ which echo
/bin/echo
tardis:~$ /bin/echo $PATH
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin

Wenn ich das echo Programm ausführen will, sieht die Shell den Befehl echo in meiner Eingabe, sucht dann in der Liste von Verzeichnissen in $PATH nach einem Befehl mit diesem Namen. Falls die Shell fündig wird, wird der Befehl ausgeführt. Mit dem Befehl which kann man sich anzeigen lassen, welches Programm bei welchem Befehl aufgerufen wird. Man kann die Suche in $PATH auch komplett umgehen, wenn man direkt selbst den Pfad zu einem Programm mit angibt.

In der Shall navigieren

Ein Pfad in der Shell ist eine Liste von Verzeichnissen, die mit einem / voneinander getrennt werden. (zumindest unter Linux und MacOS, unter der windowseigenen Shell sieht der Separator so aus \). Wir beschäftigen uns hier aber nur mit dem Linux-Standard. Das Hauptverzeichnis (root) ist der schlichte Pfad /. Ein Pfad, der mit / beginnt ist ein absoluter Pfad, ausgehend vom Root-Verzeichnis.

Jeder andere Pfad ist relativ. Relative Pfade gehen immer vom aktuellen Verzeichnis aus, welches wir mit dem Befehl pwd ausgeben können und mit dem cd Befehl ändern. In einem Pfad bezieht sich ein . auf das aktuelle Verzeichnis und ein .. auf das Verzeichnis eine Ebene höher.

tardis:~$ pwd
/home/tardis
tardis:~$ cd /home
tardis:/home$ pwd
/home
tardis:/home$ cd ..
tardis:/$ pwd
/
tardis:/$ cd ./home
tardis:/home$ pwd
/home
tardis:/home$ cd tardis
tardis:~$ pwd
/home/tardis
tardis:~$ ../../bin/echo hello
hello

Man beachte, dass uns die Eingabeaufforderung immer anzeigt, in welchen Verzeichnis wir uns gerade befinden (wenn man unter Windows ein Terminal wie Terminus und ein Windows-Subsystem für Linux nutzt, dann sehen die Pfade etwas anders aus).

Normalerweise wird ein Programm im aktuellen Verzeichnis ausgeführt, es sei denn wir geben etwas anderes an. D.h. eigentlich schaut das Programm immer im aktuellen Verzeichnis nach irgendwelchen Dateien oder legt welche dort an, wenn es dazu aufgefordert wird.

Um anzuzeigen, was sich alles im aktuellen Verzeichnis befindet, geben wir ls ein:

tardis:~$ ls
cpp/ shellScripting/
tardis:~$ cd /
tardis:/$ ls
bin/  boot/  dev/  etc/  home/  init*  lib/  lib64/  media/  mnt/  opt/  proc/  root/  run/  sbin/  snap/  srv/  sys/  tmp/  usr/  var/
tardis:/$ 

Wenn dem ls Befehl kein Verzeichnis als Parameter übergeben wird, wird das aktuelle Verzeichnis angezeigt. Den meisten Befehlen kann man noch zusätzliche Optionen oder Flags mitgeben, denen in vielen Fällen einfach ein - vorangestellt wird.

Normalerweise wird beim Ausführen eines Programms mit dem Flag -h oder --help die Hilfe dazu angezeigt.

tardis:~$ ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Mandatory arguments to long options are mandatory for short options too.
  -a, --all                  do not ignore entries starting with .
  -A, --almost-all           do not list implied . and ..
      --author               with -l, print the author of each file
  -b, --escape               print C-style escapes for nongraphic characters
      --block-size=SIZE      scale sizes by SIZE before printing them; e.g.,
                               '--block-size=M' prints sizes in units of
                               1,048,576 bytes; see SIZE format below
  -B, --ignore-backups       do not list implied entries ending with ~
  -c                         with -lt: sort by, and show, ctime (time of last
                               modification of file status information);
                               with -l: show ctime and sort by name;
                               otherwise: sort by ctime, newest first
...

Diese Hilfe zeigt auch die verschiedenen Flags und Optionen und was diese bewirken. Der ls Befehl hat beispielsweise das -l Flag, dass eine lange Darstellung des Verzeichnisses bewirkt. D.h. es werden viel mehr Informationen zu den einzelnen Dateien und Unterordner angezeigt.

tardis:~$ ls -l
drwxrwxrwx 1 bwiech bwiech 4096 May 20 18:39 cpp/
drwxrwxrwx 1 bwiech bwiech 4096 May  8 10:00 shellScripting/

Im nächsten Teil geht es dann zunächst nochmal um weitere Befehle zu Verzeichnissen und Dateien …

Höre gerade 🎵Desert Something von Aloa Input

Wie Linux meinem MacBook das leben rettete…

Acht Jahre ist der Apple Rechner nun alt. Jedes Teil ist noch original und wenn man mal von der Laufzeit des Akkus absieht, läuft alles noch optimal. Das Betriebssystem war schon etwas älter … es müsste die Version 10.12 (Sierra) gewesen sein. Ein Update wäre eigentlich überfällig, aber ich hatte Angst, dass ein neues Betriebssystem die Hardware zu sehr ausbremst. Wie gesagt, es ist ein MacBook Pro von Ende 2012!

Allerdings konnte ich einige Apps nicht mehr installieren, weil mein OS mittlerweile schlichtweg zu alt war. Irgendwann habe ich dann nachgegeben und ein Update auf die aktuellste Version gemacht. Der Auslöser war die neueste Version von Logic Pro, die ich für meinen Tropone Blog unbedingt testen wollte.

Das war ein Fehler. Der Rechner wurde dermaßen langsam, dass er nahezu unbrauchbar war. Tja, ich hatte es geahnt. Ich habe danach einiges gelesen, wie man eine ältere Version des Systems wieder herstellen könne, aber das war recht kompliziert und dann hätte ich ja wieder das Problem mit aktueller Software gehabt. Apple hatte sein Ziel erreicht: Ich brauchte aktuellere Hardware.

Wie Linux meinem MacBook das leben rettete… weiterlesen