Mein erster Post! Weiß nicht ob ich hier richtig bin, sagt notfalls einfach Bescheid.
Ich habe über die Jahre immer mal wieder versucht zu Linux zu wechseln. Zuerst Linux Mint, dann Ubuntu und auf zahlreiche Empfehlungen hin mehrfach OpenSuse, zuletzt TumbleWeed.
Aber bisher war meine Erfahrung jedes Mal dass irgend etwas nicht gescheit funktioniert und ich wieder stundenlang am suchen und fixen bin. Oder Software, die ich nutzen möchte, bekomme ich nicht oder nur stark veraltet. Sogar Open Source Clients wie Bitwarden auf TumbleWeed zu bekommen war ein Problem.
Bei Windows google ich einfach das was ich haben will, bekomme die aktuelle .exe direkt vom Hersteller und gut ist. Habe neulich eine 25 Jahre(!) alte .exe (mein erstes Computerspiel) auf Windows 10 ausgeführt. Doppelklick, Farbeinstellungen anpassen, lief dann 1a. Frustfrei.
Ich schäme mich fast es zu sagen, aber ich bin studierter Informatiker und mittlerweile Softwareentwickler. Technisch kein kompletter Laie. Habe keine Angst vor einer Kommandozeile. Freue mich aber auch wenn ich sie nicht ständig für jeden Mist brauche.
Ich möchte eine Distro für meinen Arbeitslaptop die einfach nur zuverlässig funktioniert. Ich möchte nichts vorinstalliert haben, freue mich aber wenn ich ein breites Spektrum an aktueller Software bekommen kann. Bonuspunkte wenn Microsoft Teams und Outlook funktionieren, unsere Firma nutzt beides intensiv für die Koordination.
Was würdet ihr da empfehlen?
Edit: Danke schön für die vielen Tipps und Kommentare! Ich werde mir wohl erstmal auf einem alten Laptop Fedora etwas genauer ansehen. Falls mir das nicht so gefällt habe ich mir aus euren Kommentaren noch ein paar andere Optionen abgespeichert. Euch noch einen guten Start in die Woche ^^
Einfasch mal alles ausprobieren, auf DistroSea kannst du die gängigsten Distros einfach per Browser ausprobieren. Manchmal dauert das landen etwas, aber immer noch schneller als erst eine ISO runterzuladen und auf den stick zu flashen. Meine Empfehlungen wären Pop!_OS, Mint (beide im Prinzip bessere Ubuntu) oder Fedora
Ich benutze Ubuntu 22.04 LTS auf der Arbeit und bin sehr zufrieden. Bei meinem Lenovo Thinkpad T14 funktionierten auch alle Treiber direkt. Bisher war die einzige Software, die ab und zu Probleme bereitet, Zoom, aber ansonsten bin ich in keinerlei Schwierigkeiten geraten.
Ubuntu ist leider nicht mehr so geil. Seit alles auf Snaps umgestellt wird, habe ich vermehrt nervige Bugs, z.B. dass der Snap-Store versucht, den Snap-Store zu aktualisieren, aber mit Fehler abbricht, weil der Snap-Store noch läuft. Oder die nervigen Ankündigungen bei jedem Boot/Login, dass Snap XYZ in x Tagen geupdatet wird, und ich es doch vorher schließen soll. Die Kiste wird aber jeden Tag mindestens einmal gebootet, Snap XYZ demzufolge auch. Und das ist nur die Spitze vom Eisberg…
Ich bin aktuell auf NixOS. NixOS ist eines dieser Distros die unglaublich komplex zu lernen sind. Paketinstallation und System Konfiguration geschieht über die Skriptsprache Nix. Die Software Repo ist eine Github Repo mit Buildskripten in Nix Sprache. Die Standard Buildskripte sind alle auf einem Cache Server verfügbar.
Der Verkaufspunkt ist das NixOS reproduzierbar ist. Meine Konfiguration ist ein sogenanntes Nix Flake. Das heißt der genaue Commit der aus den Software Repos von Github verwendet wird, ist in der Konfiguration vermerkt. Meine Installation kann ich binär-identisch wiederherstellen. Selbst auf einem neuen Computer reicht es aus die Konfig zu laden und ich erhalte ein System das Hash-zu-Hash identisch ist. Jede Software Revision wird genauso wieder vom Internet aus dem Cache heruntergeladen oder einfach vor-Ort reproduzierbar neu gebaut. Hash ist derselbe.
Aber das ist noch nichtmal das beste. Das beste ist das die Konfig Sprache Dinge einfach funktionieren lässt. Um Ton und meine Bluetooth Kopfhörer funktionsfähig zu machen habe ich folgendes Snippet in meiner Config:
{ ... }:
{
services.pipewire.enable = true;
services.pipewire.pulse.enable = true; # Enable Pulse Audio Compatibility
services.pipewire.wireplumber.enable = true;
programs.dconf.enable = true; # Needed for KDE Bluetooth Integration
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true; # Turn on Bluetooth when booting
}
Und das Snippet funktioniert so. Einfach so.
Drucken?
{ pkgs, ... }:
{
services.printing.enable = true;
services.avahi.enable = true;
services.avahi.nssmdns = true; # Enable MDNS in /etc/nsswitch.conf
services.avahi.openFirewall = true; # Configure Firewall defaults
services.printing.drivers = with pkgs; [
postscript-lexmark
foomatic-db-ppds-withNonfreeDb
];
}
Via Home-Manager ist ein großteil meiner Konfig nichtmal System Konfig. System Konfig ist nur genug um KDE und Hardware funktionsfähig zu machen. In Home-Manager kannst du dann deine lokalen Sachen konfigurieren, wie z.B. deine Shell-RC oder sogar VSCode, siehe hier:
programs.vscode = {
enable = true;
package = pkgs.vscode-with-extensions.override {
vscodeExtensions = with pkgs-unstable.pkgs.vscode-extensions; [
bbenoist.nix
ms-vscode-remote.remote-ssh
matklad.rust-analyzer
mkhl.direnv
elixir-lsp.vscode-elixir-ls
gruntfuggly.todo-tree
arrterian.nix-env-selector
jnoortheen.nix-ide
bungcip.better-toml
];
};
};
Wenn was schiefgeht; meine Config ist in einer Git Repo, ich kann immer die vorherige Config wiederherstellen. Und der Bootloader wird von NixOS automatisch so konfiguriert das du die Letzten X Configurationen einfach so booten kannst. Dann ist alles wie vorher. Hat mir schon X mal den Arsch gerettet weil ich was fehlkonfiguriert hatte.
Aber an sich? NixOS ist genial. Sachen funktionieren einfach. Und ich kann funktionierende Sachen reproduzieren.
edit: Oh und ich vergaß; nix flakes kannst du mit einem Tool namens “direnv” dynamisch in die System Konfig mergen. D.h. wenn ich in ein Projekt gehe mit einer Nix Flake die eine Entwicklungsumgebung definiert, wird diese Umgebung automatisch geladen. Ich muss z.B. gar nicht Rust bei mir Global installieren. Die Nix Flake in meinen Rust Repos läd automatisch die Rust Toolsuite herunter und der exakten Version die vom Entwickler vorgesehen ist. Und dann ist Rust verfügbar solange ich am Projekt arbeite. Wenn ich das Projekt zumachen wir die Umgebung entladen und die Binaries irgendwann wegen nicht-verwendung aufgeräumt.
Ich empfehle dir einfach mal Fedora da du geschrieben hast das dir neue Software wichtig ist.
Also ich bin auch seit 15 Jahren glücklich mit Fedora. Meine Argumente für die Distro sind:
- der halbjährliche Update-Turnus ist gut verträglich.
- wegen 1. gibt es eigentlich immer die aktuellste Software, was du ja möchtest
- Dadurch das Red Hat/IBM dahintersteht ist genug Manpower da, damit man eine “stabile” Distro erhält.
- Ich hatte immer mal Update-Probleme, aber es waren wirklich wenige. Mal waren Kernel-APIs für Docker nicht mehr da, mal fehlten halt wichtige Softwarepakete aus Dritt-Repos (das wird durch Snap ja immer mehr egal). Ich lasse ein Dist-Upgrade immer zwei-drei Wochen reifen, bevor ich das mache.
- Es werden während der Updates auch noch wirklich Sachen verändert (das kann auch ein Nachteil sein). Fedora ist bei Änderungen immer vorne mit dabei, aber dadurch hatte ich bisher kaum Probleme.
- Linus Torvalds verwendet Fedora (klingt jetzt nach Fanboy, aber er muss ja was daran finden).
- Es gibt eigentlich jede Software als RPM/Snap für Fedora (und wenn nicht nutzt mal einfach RHEL-Pakete).
Ich finde du musst auch bedenken, dass sich aktuelle Software und maximale Stabilität diametral entgegenstehen. Und dann ist viel Software für Linux auch einfach schlecht (wie für jedes anderes OS auch), weswegen man halt Probleme hat, die sich nicht einfach beheben lassen. I.d.R. ist das nicht die Schuld der Distro oder der Betriebssystemes. Ich denke als Power-User wird man mit jedem OS seine Probleme haben, weil man halt einfach mehr damit machen will als Tante Emma.
P.S. Teams verwende ich im Browser, denn die PWA von Microsoft ist totaler Schrott und erhält kaum Updates. Statt Outlook verwende ich Evolution mit OWA-Plugin, wer will schon diese Krücke Outlook? Teams-Konferenzen erstelle ich manchmal per Outlook, weil es wohl kein Tool gibt, was einem Konferenz-Links/-Mails erstellen kann.