•  untoreh-light

Windows erträglich machen

Eine Liste von Tools, mit denen sich Windows mehr wie Linux anfühlt

Seit ich mit WSL auf Windows 10 umgestellt Ich dachte, ich würde eine Liste von Software erstellen, die ich verwenden musste, um Windows meinem üblichen Linux-Workflow näher zu bringen. Lassen Sie uns klarstellen, dass die Windows-Benutzeroberfläche scheiße ist, sie steckt in der90s und alles soll mit dem Mauszeiger angeklickt und gezogen werden. Ich weiß nicht, ob es ein ist Kultur Sache (Windows-Entwickler müssen die Maus sehr mögen) oder für Zielgruppe ("klick auf das Ding!" ist leicht zu erklären) oder wegen Best Practice für Sicherheit (Wenn wir dem Benutzer zu viel Kontrolle geben, wird sie von Malware ausgenutzt) oder nur die Windows-Shell aus einem Haufen technologischer Schulden gemacht, was es für fortgeschrittene Benutzer schwieriger macht, Funktionen hinzuzufügen. Tatsache ist, dass einfache Dinge in Linux komplizierte Lösungen in Windows erfordern.

Virtuelle Desktops

Unter Linux hat jeder Windows-Manager eine Form von virtuellen Desktops, Windows hat vor kurzem mit W10 virtuelle Desktops erstellt. Die Sache ist die, dass Sie zum Zeitpunkt des Schreibens nur mit Hotkeys nach links und rechts wechseln können und es keine Hotkeys gibt, um zum Desktop X zu gelangen vd-Bibliothek aber ich habe keine Software gefunden, die davon Gebrauch macht, stattdessen nur AHK[1] Skripte mit schlechten Implementierungen wie "Schleife, bis wir am richtigen VD sind".

Das Fehlen geeigneter Verknüpfungen für in Windows integrierte virtuelle Desktops hat mich gezwungen, Software von Drittanbietern zu verwenden, von denen es viele gibt, die ich ausgewählt habe dexpot da es alles macht, was ich brauche und mehr (ich wäre glücklich mit nurgo to X undmove window to X Abkürzungen). Das einzige Problem war, dass dexpot nicht in der Lage ist, bereits gebundene Schlüssel zu binden ... AHK ist in der Lage, Schlüssel zu überschreiben, die von anderen Anwendungen verwendet werden, während dexpot dies nicht tut [dll]). Problemumgehung besteht darin, Verknüpfungen neu zuzuordnen, die ich wollte (z.Win+1 ) mit einem kostenlosen Shortcut, der auf dexpot eingestellt werden könnte (z.B.Win+Shift+F1)

Tastaturbelegung

Powertoys ermöglicht das Zuordnen von Tasten und Verknüpfungen, sodass ich CapsLock->LeftControl und RightControl->LeftControl zuordnen kann. Und Abkürzungen wieWin+hjkl zu Pfeilen. SchadeWin+l ist eine Windows-Standardverknüpfung zum Sperren des Bildschirms und kann nicht neu zugeordnet werden ... ein Registrierungsschlüssel überschreibt die Verknüpfungen und behebt dies ... bis Sie Windows aktualisieren ... also müssen Sie den Fix bei jedem Start anwenden!

Startprogramm

Der von powertoys bereitgestellte Apps-Launcher ist stattdessen ziemlich funktionsreich, verbraucht nicht viel mehr Speicher als KRunner und ist schnell und reaktionsschnell. Die einzige Beschwerde ist, dass es von Zeit zu Zeit den Fokus verliert, aber dies ist höchstwahrscheinlich ein Problem mit der Windows-kranken (wie bei einer perversen) Kontrolle darüber, welches Fenster zu einem bestimmten Zeitpunkt fokussiert werden soll.

Fliesen

Ich wechselte von Sway zu KDE unter Linux, also war ich nicht so ein Liebhaber von gekachelten Fenstern. Powertoys verfügt über FancyZones, was eine leichte Verbesserung gegenüber grundlegenden Windows-Snaps ist, die dieses Fenster bietet, da es Ihnen bietet Lücken und Layouts . Doch noch fehlt das Wichtigste, was Fliesen sinnvoll macht, nämlich Regelnauf passende Fenster anzuwenden, aber dies würde auch die Unterstützung für virtuelle Desktops erfordern ... und deren aktuellen Zustand haben wir bereits erwähnt. Im Vergleich ermöglicht Ihnen KWin, Fenster mit sehr komplexen Definitionen abzugleichen. FancyZones umgeht das Regelproblem, indem es die Fensterpositionen über Sitzungen hinweg beibehält, aber ich habe nicht untersucht, wie gut dies mit verschiedenen virtuellen Desktops funktioniert.

Fenster ziehen

Fenster können nur aus der Titelleiste gezogen werden, und ein zusätzliches Dienstprogramm müssen verwendet werden, um sie mit einer Tastenkombination zu verschieben.

Systemmonitor

Bei KDE gibt es Plasma-Widgets, um Systeminformationen anzuzeigen, obwohl Plasma-Widgets dazu neigen, viel Speicher zu verbrauchen, daher habe ich sie nicht so oft verwendet. Unter Windows gibt es dafür kein integriertes Dienstprogramm, nachdem ich ein paar Dienstprogramme ausprobiert hatte, entschied ich mich für Verkehrsüberwachung das gibt Netzwerk, CPU, Speicher und erst kürzlich wurden GPU und Temps hinzugefügt. Das Ergebnis ist ein schönes, flaches Rechteck, das in der Taskleiste angezeigt wird:

Bonuspunkt für Windows ist, dass meine USV erkannt und im Tray-Bereich angezeigt wird, sodass keine zusätzliche Konfiguration erforderlich ist, während in Linux NUSS es gibt Treiberprobleme.

Systemdienste

Viele mochten systemd nicht, als es in den Linux-Kernel kam. Mit Windows vermisste ich es stattdessen. Windows Services ist nicht wirklich etwas nutzerorientiert wie systemd. Windows hat die Aufgabenplaner mit Dingen umgehen, die aussehen wieone-shot unit-Dateien, aber auch hier ist die Schnittstelle (oder deren Fehlen) schrecklich. Zum Glück brauchen wir in Windows keine benutzerdefinierten Daemons, da die meisten Windows-Anwendungen, die wir verwenden, nur beim Start ausführenArt von Logik und benötigen keine erweiterten Konfigurationen. In der Tat, abgesehen von dem Müll von Werkzeugen ( Seufzen ), damit Windows wie eine moderne Umgebung funktioniert, dann sind nur andere native Windows-Anwendungen im Einsatz der Browser ( Feuerfuchs ), da die GPU-Beschleunigung des Browsers innerhalb von WSL (auch unter nativem Linux...) und dem Videoplayer ( mpv )..und natürlich Spiele...

Pakete

Ich mag nicht schokoladig Da es Administratorrechte erfordert, suche ich immer zuerst nach Scoop-Paketen, da diese im Benutzerordner installiert sind, was bequemer und konsistenter ist und Backups vereinfacht.

WSL/g

Ich wurde veranlasst, von den letzten auf Windows umzusteigen WSLg aktualisieren. Welche erforderlichen Mesa-Treiber kompiliert mit demd3d12 Backend-Unterstützung füropengl . Windows bietet eine Ubuntu-Ebene für die Community-Vorschau, aber ich habe mich dafür entschieden arch linux da gab es schon ein AUR-Paket für Mesa mit d3d12 . Da WSL derzeit kein systemd unterstützt, habe ich am Ende verwendet Aufsicht einige Dienste zu verwalten. Um sicherzustellen, dass Supervisor aktiv ist, wird im Shell-Profil nach einer Sperrdatei gesucht, die erstellt werden solltmpfs wenn der Supervisor zuvor gestartet wurde.

Nur WSL unterstütztext4 Dateisysteme, um andere Dateisysteme zu verwenden, müssen Sie die Partition (oder die Festplatte) direkt innerhalb der WSL-VM mounten. Sie müssen jedoch manuell montiert werden als Administrator von Fenstern. Um dies zu automatisieren, können wir den Aufgabenplaner verwenden, der es ermöglicht, die UAC-Eingabeaufforderung durch Ausführen von Aufgaben zu umgehen mit dem höchsten Privileg . Wir können eine wsl betreiben--mount Befehl, um unsere gewünschten Festplatten/Partitionen zu mounten und dann mounten Sie das Dateisystem von Linux aus. Weil mein/home/ wohnt in einem berittenenbtrfsDateisystem muss ich es automatisch mounten, also verwenden wir/etc/fstab um unsere Partition abzubilden (vonLABEL ) zu/home . Weil wir nix mit verwendennix-env Wir müssen unseren Nix Store anbinden/nix bei jedem wsl-Startup, und weil/tmp ist nicht antmpfs Wir müssen ein Overlay-Mount erstellen, das mountettmpfs über das vorhandene/tmp Verzeichnis, um wichtige Dateien zu bewahren, insbesondere die X11-Dateien, die für die Kommunikation mit dem X-Server erforderlich sind.

Diese Mounts werden mit einem Skript ausgeführt, das ausgeführt werden soll nach Wir haben die Festplatte in Linux gemountet. Wir benötigen eine Aufgabe, die ausgeführt wird, nachdem die Mount-Aufgabe abgeschlossen ist, und da WSL verschiedene VMs für verschiedene Windows-Benutzer verwendet, darf das Skript NICHT mit den höchsten Berechtigungen ausgeführt werden (sonst würde es auf der Administrator-VM mounten).

Um sicherzustellen, dass WSLg funktioniert, müssen wir sicherstellen, dass die XDG LAUFZEIT DIR ist gesetzt, da es anders ist und sich (standardmäßig) an befindet/mnt/wlsg/runtime-dir . So sehen Fenster unter Wayland aus. Da mit Wayland Fensterdekorationen entweder vom Compositor oder der Anwendung gezeichnet werden können, behalten sie die Konfiguration Ihres GTK/QT-Themes bei, sodass Sie am Ende ein natives Linux-Theme-Fenster erhalten in einer Windows-Shell ... was zunächst ein wenig verwirrend ist.

Terminal-Emulator

Unter Linux habe ich verwendet Kätzchen , da es sich um einen der neueren Terminal-Emulatoren mit GPU-Beschleunigung handelte[2] und ein einigermaßen stabiler Daemon-Modus, der mehrere Fenster mit derselben Instanz zulässt. Unter Windows habe ich mich jedoch mit ein paar Windows-basierten Terminals wie Windows Terminal, fluent terminal, wsltty, conemu versucht, aber schließlich wechselte ich zu wezterm . Obwohl es sich um ein neueres Terminal handelt, bietet es alle Funktionen, die Sie sich von einem Terminalemulator wünschen:

Bei Windows habe ich meinen Workflow auch ein wenig modifiziert, sodass ich kein Terminal mit Daemon-Modus benötige, das mehrere separate Fenster unterstützt, indem ich ein Dropdown-Terminal verwende. Wezterm . zu machen Dropdown-Liste Nachdem ich viele Dropdown-AHK-Skripte ausprobiert hatte, fand ich schließlich einer das hat ziemlich gut funktioniert. Eine bessere Alternative wäre jedoch Windows-Terminal-Beben , aber ich hatte ein Problem damit, dass es sich bei den von dexpot verwalteten virtuellen Desktops nicht richtig verhält, während mitty-quake-console mit virtuellen dexpot-Desktops kompatibel zu sein scheint. Wenn sich die Erfahrung mit den integrierten virtuellen Windows-Desktops verbessert, werde ich höchstwahrscheinlich zu Windows-Terminal-Quake wechseln. WezTerm ist auch plattformübergreifend, was bedeutet, dass ich es mit einer nativen Linux-Installation weiter verwenden kann. Es war ein wirklich glücklicher Befund für diesen Windows+WSL-Switch, da Kitty Windows noch nicht unterstützt und die anderen Terminal-Alternativen einige ziemlich große Ärgernisse hatten ich konnte mich nicht anfreunden.

[1]AutoHotKey
[2]warum benötige ich nochmal GPU-Beschleunigung im Terminal?

Post-Tags: