Schlagwort-Archive: Linux

Linux Desktop in der Evaluierung

Als ich vor knapp neun Jahren von Mac auf Windows wechselte, fragten mich viele: Warum eigentlich nicht Linux. Als Open Sourceler wäre ich doch prädestiniert für so einen Schritt. Doch für mich war die Zeit dafür einfach noch nicht gekommen. Warum die Zeiten jetzt meiner Meinung nach besser sind, werde ich in einem anderen Blog erwähnen. Doch heute wage ich die Evaluation und habe Ubuntu Desktop paralell zu Windows im Dual Boot installiert.

Ich muss dazu sagen, dass wir bei Vefko bewusst die Infrastruktur so gehalten haben, damit Betriebssysteme neben MacOS und Windows in Frage kommen. Wir haben LibreOffice statt Office 365, Matrix statt Microsoft Teams und Nextcloud statt dem OneDrive. Diese Strategie erleichtert den Move natürlich erheblich.

Bild vom Ubuntu Desktop mit violettem Hintergrundbild, worauf schemenhaft eine Qualle abgebildet ist.Am rechten Bildschirmrand ist ein horizontales Dock mit den Programmen zu sehen

Ich muss dazu auch sagen, dass mein Laptop Ubuntu zertifiziert ist. Es sollte also keine grösseren Schwierigkeiten machen, das System zu installieren. Die Installation ist eigentlich relativ problemlos. Man braucht nur die Partition von Windows zu verkleinern. Wenn man dann Ubuntu von einem USB Stick startet, bietet Ubuntu automatisch an, der leere Teil der SSD für eine neue Patition zu nutzen.

In den 6 Tagen in denen ich das System nutze, sind mir bis jetzt nur kleinere Problemchen aufgefallen. Und alle haben irgendwie mit dem speziellen Setup zu tun. Mein 14″ Notebook hat ne hohe Auflösung. Beim Arbeiten auf dem Notebook Bildschirm, wird daher gezoomt. So dass die Auflösung rund 150dpi entspricht. Bei meinem externen Bildschirm am Arbeitsplatz ist das aber nicht der Fall. Element (App für den Matrix Chat) nutzt manchmal nach dem abdocken die Zoom einstellungen nicht mehr. Es betrifft aber nur Element.

Sound scheint mit Docking machmal auch nicht ganz so einfach zu sein. Beim Andocken wechselt das System automatisch auf den Audio Ausgang der Docking Station. Es erkennt nicht, das an der Docking Station keine Lautsprecher hängen.

Aber es gibt auch Vorteile. Einer der grössten ist natürlich die Packetverwaltung. Das man alle Programme auf ein mal updaten kann, spart einfach eine Menge Zeit. Der Drucker im Geschäft funktionierte auch direkt „out of the box“ wo auf Windows extra Treiber installieren muss. Und dann wäre da noch die Performance. Auch wenn Windows 11 nicht das lahmste Windows ist. Gegenüber Linux ist es eben doch eine Schnecke. Der Lüfter dreht bei vergleichbaren Arbeiten viel weniger hoch. Das macht sich vor allem auch bei Batteriebetrieb bemerkbar.

Bis jetzt sieht es gut aus, und es ist gut möglich, dass ich hauptsüchlich auf Ubuntu wechsle. Was die Anderen von Vefko machen, ist ihnen überlassen. Jedoch wird auch bei mir weiterhin ein Windows paralell installiert sein. Denn es gibt immer Kundenaufträge, für die man ein Windows braucht.

Sich mit der Kommandozeile anfreunden

Als Programmieranfänger stösst man in Tutorials oft auf die Aufforderung die Command Line zu öffnen und Befehl xy einzugeben. Als ich noch in den Anfängen steckte, öffnete ich dann jeweils die Kommando Zeile und dachte mir… „Nein, das sieht zu gefährlich aus.“ Tatsächlich ist das schwarze Fenster (ok, auf dem Mac ist es weiss) nicht gerade vertrauenserweckend. Grundsätzlich muss man erst mal wissen, dass Windows und die Unixoiden Welt (also Linux, Mac OS, Free BSD usw.) zwei vollkommen verschiedene Systeme haben.

Auch die Gerüchte, dass man mit der Kommandozeile mit einem Befehl den gesamten Computer zerstören kann, stimmen. Wenn man das unabsichtlich tun will, braucht es allerdings schon eine gehörige Portion Pech. Vor allem aber Befehle die man als Root (tiefste Admin Rechte) ausführt, sollte man zwei mal ansehen bevor man sie ausführt. Denn anders als in vielen Grafischen Oberflächen bekommt man auf der Kommandozeile keine Warnung, wenn man zum Beispiel wichtige Systemdaten löschen will. Vor allem auf Linux gibt es sehr selten Rückfragen wie: „Wollen Sie wirklich…“ Deswegen ist eine gewisse Vorsicht angebracht, aber man muss nicht gleich eine Command Line Phobie entwickeln.

Nun habt ihr also dieses schwarze, unsympathische Fenster vor euch und da kommt natürlich die Frage auf, für was soll ich das brauchen? Weshalb tun sich das Programmierer an, auf einem so schwer verständlichen System zu arbeiten? Sind die tatsächlich in den 80ern stehen geblieben? Kein normaler Anwender würde heute auf eine Graphische Oberfläche verzichten. Wollen die Linux Programmierer damit zeigen, dass sie den anderen technisch überlegen sind?

Nein, der Grund liegt wohl an einem ganz anderen Ort. Sowohl beim programmieren als auch bei Server warten gibt es immer wieder Aufgaben die man ständig wiederholen muss. Diese möchte man natürlich automatisieren. Dies macht man dann mit kleinen Scripts. Ein Script für die Kommandozeile ist viel einfacher zu schreiben als ein kleines Progrämmchen für eine Graphische Oberfläche. Weil man genau für so automatisierte Aufgaben die Kommando Zeile sowieso braucht, wird sie auch sonst oft mal verwendet.

Kommandozeile ist nicht Liebe auf den ersten Blick, denn man muss sie erst mal verstehen und daran scheitern schon viele. Der folgende Befehl gibt eine liste der aktuellen Verzeichnisse und Dateien aus:

ls

Stop! ls ist kein Befehl. Der vermeintliche Befehl ist eigentlich ein kleines Programm. In der Kommandozeile gibt man also keine Befehle ein, sondern man startet Programme. Die Kommandozeile ist also eine Schnittstelle die es ermöglicht, Programme zu starten und eine Interaktion mit den Programmen zu haben. Ls macht nichts anderes als schauen welche Dateien und Verzeichnisse in dem aktuellen Verzeichnis sind, und gibt dann die Namen an die Kommandozeilen Ausgabe zurück. Ls kan aber mehr wie der folgende Befehl zeigt.

ls -l

Damit bekommt man eine erweiterte Liste mit mehr Informationen. Dem Programm kann man einen Parameter übergeben, dass das Programm beeinflusst. Fast alle Commandline Programme haben Parameter. Welche das sind kann man mit

programm --help

herausfinden. „programm“ ist natürlich ein Platzhalter für das aufgerufene Programm. (z.B ls, cp, rm, mv, find, apt usw.

Linux Subsystem auf Windows als Webserver missbrauchen

Nicht Techniker brauchen diesen Blog nicht zu lesen.

Wer beruflich mit Linux Webserver zu tun hat und aber zum Entwickeln lieber Windows als Plattform verwendet, kennt das Problem. Man möchte die Website gerne lokal bearbeiten und testen, doch was verwende ich dafür? Eine Möglichkeit ist XAMPP, das ich in einem Blog auch schon vorstellte. Das Problem: Die Programme Apache, MySQL und PHP sind nicht komplett identisch auf allen Plattformen. In details kann es zu Abweichungen kommen. Wenn also eine Web Applikation auf XAMPP läuft, ist man nie ganz sicher ob sie dann auch auf dem Webserver läuft.

Seit mehr als einem Jahr gibt es für Windows ein Linux Subsystem. Dieses wurde vorwiegend für Administratoren von Linux Servern hinzugefügt. Denn es bringt die Linux Commandline endlich auch auf Windows. Das Linux Subsystem ist allerdings mehr als nur ein SSH Client. Es ist ein komplettes Command Line Linux auf einem Windows Rechner. Ich habe sogar munkeln hören, dass sogar XWindow Systeme darauf laufen sollten. Probiert hab ich es selbst noch nie und bestimmt ist es auch nicht dafür gedacht. Beziehen kann man das Ganze über den Microsoft Store, ist kostenlos und hat einige Linux Distros zur Auswahl.

Mich hat es letzthin wunder genommen, ob man auf das Linux Subsystem auch einen kompletten Webserver draufbringt. So dass man auf Windows einen LAMP Server hat. Die Antwort ist ja, man kann das. Man muss halt einfach in der Lage sein ein Webserver auf Linux von der Command Line aus einzurichten.

Doch was ist daran besser als eine VM zu nutzen? Man muss beim Subsystem nicht bridgen. Der Server ist direkt auf localhost verfügbar. Was ich allerdings bis jetzt noch nicht hingekriegt habe, war eine SFTP Verbindung zu dem Subsystem aufzubauen. Ich hab allerdings auch nicht lange versucht, da wir eh GIT nutzen, und ich dann jederzeit die aktuelle Version vom Internet holen kann.

Man muss natürlich darauf achten, dass man nicht gleichzeitig ein XAMPP am laufen hat, da es sonst zu Port Konflikten kommt. Das Subsystem ist zwar nicht das schnellste, das will gesagt sein, funktioniert aber wirklich gut. Ein Kuriosum gibt es allerdings. Will man das Subsystem ausschalten braucht man dafür die Windows PowerShell.

net stop LxssManager

Dieser Befehl stoppt dann das Subsystem. Ich finde das eine spannende Alternative, vor allem wenn man hin und wieder auch noch Shell Scripte und cmd Programme braucht. Viel Spass beim ausprobieren.