•  ontereh-licht

Maak Windows draaglijk

Een lijst met tools om Windows meer als Linux te laten voelen

Sinds ik overgeschakeld naar Windows 10 met WSL Ik dacht dat ik een lijst zou maken met software die ik moest gebruiken om Windows dichter bij mijn gebruikelijke linux-workflow te brengen. Laten we duidelijk maken dat Windows UI zuigt, het zit vast in de90s en alles moet worden geklikt en gesleept met je muisaanwijzer. ik weet niet of het een cultuur ding (windows-ontwikkelaars moeten de muis erg leuk vinden), of voor demografische doelgroep ("klik op dat ding!" is makkelijk uit te leggen), of vanwege beste praktijken voor beveiliging (als we de gebruiker te veel controle geven, zal malware deze misbruiken) of alleen de Windows Shell gemaakt van een stapel technologische schulden, waardoor het moeilijker wordt om functionaliteit toe te voegen voor geavanceerde gebruikers. Feit is dat simpele dingen in Linux ingewikkelde oplossingen in Windows nodig hebben.

Virtuele desktops

In linux heeft elke Windows-manager een vorm van virtuele desktop, Windows heeft vrij recent virtuele desktops gebouwd met W10. Het punt is dat je op het moment van schrijven alleen naar links en rechts kunt fietsen met sneltoetsen, en er zijn geen sneltoetsen om naar desktop X te gaan. Er is dit vd bibliotheek maar ik heb geen software gevonden die er gebruik van maakt, in plaats daarvan alleen AHK[1] scripts met slechte implementaties zoals "loop totdat we bij de juiste VD zijn".

Het ontbreken van de juiste snelkoppelingen voor in Windows ingebouwde virtuele desktops zorgde ervoor dat ik gedwongen werd om software van derden te gebruiken, waarvan er veel zijn, ik koos dexpot omdat het alle dingen doet die ik nodig zou hebben en meer (ik zou blij zijn met gewoongo to X enmove window to X sneltoetsen). Het enige probleem was dat dexpot niet in staat is om reeds gebonden sleutels te binden... enigszins AHK kan sleutels overschrijven die door andere applicaties worden gebruikt, terwijl dexpot dat niet doet, ik neem aan dat het is omdat het afhankelijk is van een andere Windows-API (of [dll]). Tijdelijke oplossing is om snelkoppelingen opnieuw toe te wijzen die ik wilde (bijv.Win+1 ) met een gratis snelkoppeling die op dexpot kan worden ingesteld (bijv.Win+Shift+F1)

Toetsenbordtoewijzing

Powertoys staat toe om toetsen en snelkoppelingen toe te wijzen, zodat ik CapsLock->LeftControl en RightControl->LeftControl kan toewijzen. En snelkoppelingen zoalsWin+hjkl naar pijlen. JammerWin+l is een standaard Windows-snelkoppeling voor het vergrendelen van het scherm en kan niet opnieuw worden toegewezen ... een registersleutel heft de snelkoppelingen op en lost dit op ... totdat u Windows bijwerkt ... dus u moet de fix bij elke keer opstarten toepassen!

Launcher

Het opstartprogramma voor apps van powertoys is daarentegen behoorlijk uitgebreid, gebruikt niet veel meer geheugen dan KRunner en is snel en responsief. De enige klacht is dat het van tijd tot tijd de focus verliest, maar dit is hoogstwaarschijnlijk een probleem met Windows die ziek is (zoals in perverse) controle over welk venster op een bepaald moment moet worden gefocust.

Tegels

Ik schakelde over van Sway naar KDE onder Linux, dus ik was niet zo'n liefhebber van betegelde Windows. Powertoys heeft FancyZones, wat een kleine verbetering is ten opzichte van standaardvensters Snaps die het venster biedt, zoals het je geeft hiaten en lay-outs. Toch ontbreekt het nog steeds aan het belangrijkste dat tegels nuttig maakt, namelijk: reglement om van toepassing te zijn op overeenkomende vensters, maar dit zou ook ondersteuning voor virtuele desktops nodig hebben... en we hebben hun huidige status al genoemd. In vergelijking stelt KWin u in staat om vensters met zeer complexe definities te matchen. FancyZones omzeilt het regelprobleem door de Windows-posities in verschillende sessies te behouden, maar ik heb niet onderzocht hoe goed dit werkt met verschillende virtuele desktops.

Vensters slepen

Windows kan alleen vanuit de titelbalk worden gesleept, en een extra nut moet worden gebruikt om ze te verplaatsen met een sneltoetscombinatie.

Systeemmonitor

Met KDE heb je plasma-widgets om systeeminformatie weer te geven, hoewel plasma-widgets veel geheugen in beslag nemen, dus ik gebruikte ze niet zo veel. Met Windows is hier geen ingebouwd hulpprogramma voor, na een paar hulpprogramma's geprobeerd te hebben, besloot ik Verkeersmonitor die netwerk, cpu, geheugen geeft en onlangs zijn GPU en temps toegevoegd. Het resultaat is een mooie onopvallende rechthoek die wordt weergegeven in de taakbalk:

Bonuspunt voor Windows is dat mijn UPS wordt herkend en wordt weergegeven in het ladegebied, dus geen extra configuratie nodig heeft, terwijl in linux NOOT er zijn stuurprogramma's problemen.

Systeemdiensten

Velen hielden niet van systemd toen het in de linux-kernel kwam.. Met Windows begon ik het in plaats daarvan te missen.. Windows Services is niet echt iets gericht op gebruikers zoals systemd. Windows heeft de Taakplanner om te gaan met dingen die eruit zien alsone-shotunit-bestanden, maar nogmaals, de interface (of het ontbreken daarvan) is vreselijk. Gelukkig hebben we niet echt aangepaste daemons in Windows nodig, aangezien de meeste Windows-applicaties die we gebruiken gewoon uitvoeren bij opstarten soort logica, en hebben geen meer geavanceerde configuraties nodig. In feite, afgezien van het afval van gereedschappen ( zucht ) om Windows te laten werken als een moderne omgeving, dan is alleen de browser ( firefox ) aangezien de GPU-versnelling van de browser slecht is binnen WSL (nou ja, zelfs op native linux...) en de videospeler ( mpv )..en spelletjes natuurlijk...

Pakketjes

ik hou niet van chocoladeachtig omdat het beheerdersrechten vereist, kijk ik altijd eerst naar scoop-pakketten, aangezien deze in de gebruikersmap zijn geïnstalleerd, wat handiger en consistenter is en back-ups vereenvoudigt.

WSL/g

Ik werd ertoe aangezet om over te schakelen naar Windows van de recente WSLg update. Welke mesa-stuurprogramma's nodig hebben, gecompileerd met ded3d12 backend-ondersteuning vooropengl . Windows biedt een community-preview-ubuntu-laag, maar ik heb gekozen voor boog linux aangezien er al een AUR-pakket was voor mesa met d3d12 . Omdat WSL momenteel geen systemd ondersteunt, heb ik uiteindelijk leidinggevende om een ​​aantal diensten te beheren. Om er zeker van te zijn dat de supervisor actief is, is er een vinkje in het shell-profiel voor een vergrendelingsbestand dat moet worden aangemaakt optmpfs als supervisor eerder is gestart.

WSL ondersteunt alleenext4 bestandssystemen, om andere bestandssystemen te gebruiken, moet u de partitie (of de schijf) direct in de WSL VM aankoppelen. Ze moeten echter handmatig worden gemonteerd als beheerdervan ramen. Om dit te automatiseren, kunnen we de taakplanner gebruiken waarmee u de UAC-prompt kunt omzeilen door taken uit te voeren met het hoogste voorrecht . We kunnen een wsl . uitvoeren--mount commando om onze gewenste schijven/partities te mounten en voer vervolgens mount het bestandssysteem uit vanuit linux. Omdat mijn/home/ bevindt zich in een gemonteerdebtrfs bestandssysteem Ik moet het automatisch aankoppelen, dus we gebruiken/etc/fstab om onze partitie in kaart te brengen (doorLABEL ) tot/home . Omdat we nix gebruiken metnix-env we moeten mount onze nix store binden aan/nix bij elke wsl-startup, en omdat/tmp is niet aantmpfs we moeten een overlay-mount maken die mounttmpfs over de bestaande/tmp directory, om belangrijke bestanden te bewaren, met name de X11-bestanden, die nodig zijn om met de X-server te praten.

Deze mounts worden uitgevoerd met een script dat moet worden uitgevoerd na we hebben de schijf in linux gemount. We hebben een taak nodig die wordt uitgevoerd nadat de aankoppeltaak is voltooid, en omdat WSL verschillende VM's gebruikt voor verschillende Windows-gebruikers, moet het script NIET met de hoogste rechten worden uitgevoerd (anders zou het worden geactiveerd op de beheerders-VM).

Om ervoor te zorgen dat WSLg werkt, moeten we ervoor zorgen dat de XDG RUNTIME DIR is ingesteld, omdat het anders is en zich (standaard) bevindt op/mnt/wlsg/runtime-dir . Dit is hoe vensters onder wayland eruit zien, je kunt zien dat, aangezien wayland-raamdecoraties kunnen worden getekend door de zetter of de applicatie, ze de configuratie van je GTK/QT-thema behouden, zodat je een native linux-thema-achtig venster krijgt in een Windows-shell ... wat in het begin een beetje desoriënterend is.

Terminal-emulator

Op linux die ik gebruikte pot , aangezien het een van de nieuwere terminalemulators met GPU-versnelling was[2]en een enigszins stabiele daemon-modus die meerdere vensters met dezelfde instantie mogelijk maakt. Op Windows heb ik echter geploeterd met een paar op Windows gebaseerde terminals zoals Windows Terminal, fluent terminal, wsltty, conemu, maar uiteindelijk schakelde ik over naar wezterm . Ondanks dat het een recentere terminal is, heeft het alle functies die u van een terminalemulator zou willen:

Met Windows heb ik mijn workflow ook een beetje aangepast zodat ik geen terminal met daemon-modus nodig heb die meerdere afzonderlijke vensters ondersteunt, door een dropdown-terminal te gebruiken. Wezterm maken laten vallen na veel drop-down AHK-scripts geprobeerd te hebben, vond ik uiteindelijk een dat werkte redelijk goed. Een beter alternatief zou echter zijn: windows-terminal-quake, maar ik heb er problemen mee gehad dat het zich misdroeg met de virtuele desktops die door dexpot worden beheerd, terwijl de mitty-quake-console compatibel lijkt te zijn met de virtuele desktops van dexpot. Hoogstwaarschijnlijk zal ik overschakelen naar windows-terminal-quake wanneer de ingebouwde ervaring van virtuele Windows-desktops verbetert. WezTerm is ook platformonafhankelijk, wat betekent dat ik het kan blijven gebruiken met een native Linux-installatie. Het was echt een gelukkige vondst voor deze Windows+WSL-switch, aangezien Kitty Windows nog niet ondersteunt, en de andere terminalalternatieven hadden behoorlijk grote ergernissen die Ik kon niet in het reine komen met.

[1]Autosneltoets
[2]waarom heb ik weer gpu-versnelling nodig in de terminal?

Berichttags: