•  untoreh-light

Faceți Windows suportabil

O listă de instrumente pentru a face ca Windows să se simtă mai mult ca Linux

De când eu a trecut la Windows 10 cu WSL M-am gândit că voi face o listă de software pe care trebuia să îl folosesc pentru a apropia Windows de fluxul meu obișnuit de lucru Linux. Să clarificăm că Windows UI este o problemă, este blocat în90s și se presupune că totul este făcut clic și glisat cu indicatorul mouse-ului. Nu știu dacă este cultură lucru (Windows devs trebuie să-i placă mouse-ul foarte mult), sau pentru țintă demografică („faceți clic pe acel lucru!” este ușor de explicat) sau din cauza cele mai bune practici de securitate (dacă acordăm prea mult control utilizatorului, malware-ul îl va exploata) sau doar Windows Shell fiind format dintr-o grămadă de datorii tehnologice, ceea ce face mai dificilă adăugarea de funcționalități pentru utilizatorii avansați. Faptul este că lucrurile simple din Linux au nevoie de soluții complicate în Windows.

Desktop-uri virtuale

În Linux fiecare manager Windows are o formă de desktop virtual, Windows a fost construit desktopuri virtuale destul de recent cu W10. Problema este că, în momentul scrierii, puteți merge doar la stânga și la dreapta cu tastele rapide și nu există taste rapide pentru a merge la desktopul X. Există biblioteca vd dar nu am găsit software care să îl folosească, în schimb doar AHK[1] scripturi cu implementări slabe, cum ar fi „bucla până când suntem la VD corect”.

Lipsa comenzilor rapide pentru desktop-urile virtuale încorporate din Windows m-a făcut să forțez să folosesc software de la terți, dintre care sunt multe, am ales dexpot deoarece face toate lucrurile de care aș avea nevoie și multe altele (aș fi fericit cu doargo to X șimove window to X comenzi rapide). Singura problemă a fost că dexpot nu este capabil să lege cheile deja legate ... oarecum AHK este capabil să suprascrie cheile folosite de alte aplicații, în timp ce dexpot nu, presupun că se bazează pe un alt API Windows (sau [dll]). Soluția de rezolvare constă în remaparea comenzilor rapide pe care le-am dorit (de ex.Win+1 ) cu o comandă rapidă gratuită care ar putea fi setată pe dexpot (de ex.Win+Shift+F1)

Cartarea tastaturii

Powertoys permite maparea tastelor și a comenzilor rapide, astfel încât să pot mapa CapsLock-> LeftControl și RightControl-> LeftControl. Și comenzi rapide de genulWin+hjkl la săgeți. Prea răuWin+l este o comandă rapidă implicită pentru Windows pentru blocarea ecranului și nu poate fi remapată ... o cheie de registry anulează comenzile rapide și remediază acest lucru ... până când nu actualizați Windows ... deci trebuie să aplicați remedierea la fiecare boot!

Lansator

Lansatorul de aplicații furnizat de powertoys este în schimb destul de caracteristic, nu folosește mult mai multă memorie decât KRunner și este rapid și receptiv. Singura plângere este că, din când în când, pierde focalizarea, dar aceasta este cel mai probabil o problemă cu controlul bolnav al Windows (ca și în cazul pervertit) al cărui fereastră ar trebui să fie focalizată la un moment dat.

Gresie

Am trecut de la Sway la KDE pe Linux, așa că nu am fost atât de mult un iubitor de ferestre cu gresie. Powertoys are FancyZones, ceea ce reprezintă o ușoară îmbunătățire față de ferestrele de bază Snaps pe care le oferă fereastra, așa cum vă oferă lacune și machete. Cu toate acestea, lipsește încă cel mai important lucru care face ca plăcile să fie utile, adică reguli pentru a se aplica ferestrelor potrivite, dar acest lucru ar necesita și suport pentru desktopurile virtuale ... și am menționat deja starea lor actuală. În comparație, KWin vă permite să potriviți ferestrele cu definiții foarte complexe. FancyZones funcționează în jurul problemei regulilor, păstrând pozițiile ferestrelor între sesiuni, dar nu am investigat cât de bine funcționează acest lucru cu diferite desktopuri virtuale.

Glisarea ferestrelor

Windows-ul poate fi glisat numai din bara de titlu și un supliment utilitate trebuie folosit pentru a le muta cu o combinație de comenzi rapide.

Monitor de sistem

Cu KDE aveți widget-uri cu plasmă pentru a afișa informații despre sistem, deși widget-urile cu plasmă tind să consume multă memorie, așa că nu le-am folosit atât de mult. Cu Windows nu există un utilitar încorporat pentru acest lucru, după ce am încercat câteva utilitare, m-am stabilit Monitor de trafic care oferă rețea, cpu, memorie și, recent, s-au adăugat GPU și temps. Rezultatul este un dreptunghi frumos cu profil redus afișat în bara de activități:

Punctul bonus pentru Windows este că UPS-ul meu este recunoscut și este afișat în zona tăvii, deci nu are nevoie de configurație suplimentară, în timp ce în linux NUCA Sunt probleme cu șoferii.

Servicii de sistem

Multora nu le-a plăcut systemd când a apărut în kernel-ul Linux .. Cu Windows am început să-l lipsesc..Windows Services nu este chiar ceva orientat spre utilizatori ca systemd. Windows are Planificator de sarcini să se ocupe de lucruri care aratăone-shotfișiere unitare, dar din nou interfața sa (sau lipsa acesteia) este îngrozitoare. Din fericire, nu avem nevoie de demoni personalizați în Windows, deoarece majoritatea aplicațiilor Windows pe care le folosim sunt presupuse Rulați la pornire un fel de logică și nu au nevoie de configurații mai avansate. De fapt, în afară de gunoiul de instrumente ( suspin ) pentru a face ca Windows să funcționeze ca un mediu modern, atunci doar alte aplicații native Windows utilizate sunt browserul ( firefox ) deoarece accelerația GPU-ului browserului este greșită în WSL (bine chiar și pe Linux nativ ...) și în playerul video ( mpv ) .. și jocuri desigur ...

Pachete

Nu-mi place ciocolată deoarece necesită privilegii de administrator, caut întotdeauna pachete scoop, deoarece acestea sunt instalate în folderul utilizator, care este mai convenabil și mai consistent și simplifică copiile de rezervă.

WSL / g

Am fost indus să trec la Windows din recent WSLg Actualizați. Care necesita drivere mesa compilate cud3d12 suport backend pentruopengl . Windows oferă un nivel de previzualizare a comunității ubuntu, dar am optat pentru arch linux întrucât exista deja un pachet AUR pentru mesa cu d3d12 . Deoarece WSL în prezent nu acceptă systemd, am ajuns să folosesc supraveghetor pentru a gestiona câteva servicii. Pentru a vă asigura că supervizorul este activ, există o verificare în profilul shell pentru un fișier de blocare pe care ar trebui să fie creattmpfs dacă supervizorul a fost început anterior.

WSL acceptă numaiext4 sisteme de fișiere, pentru a utiliza alte sisteme de fișiere, trebuie să montați partiția (sau discul) direct în interiorul WSL VM. Cu toate acestea, acestea trebuie montate manual ca administratordin ferestre. Pentru a automatiza acest lucru, putem utiliza planificatorul de sarcini care permite ocolirea promptului UAC prin executarea de activități cu cel mai înalt privilegiu . Putem rula un wsl--mount comanda pentru a monta discurile / partițiile dorite și apoi rulați montarea sistemului de fișiere din linux. Pentru ca al meu/home/ rezidă într-un montatbtrfs Sistemul de fișiere trebuie să îl montez automat, așa că îl folosim/etc/fstab să ne mapăm partiția (deLABEL ) la/home . Pentru că folosim nix cunix-env trebuie să ne conectăm la magazinul nostru nix/nix la fiecare pornire wsl și pentru că/tmp nu este activattmpfs trebuie să creăm o suprapunere care se monteazătmpfs peste existent/tmp director, pentru a păstra fișierele importante, în special fișierele X11, necesare pentru a vorbi cu serverul X.

Aceste monturi se execută cu un script, care ar trebui să fie rulat după am montat discul în linux. Avem nevoie de o sarcină care rulează după ce sarcina de montare este finalizată și, deoarece WSL folosește VM-uri diferite pentru diferiți utilizatori de Windows, scriptul trebuie să ruleze NU cu cele mai mari privilegii (altfel s-ar monta pe VM Administrator).

Pentru a ne asigura că WSLg funcționează, trebuie să ne asigurăm că XDG DURATA DIR este setat, deoarece este diferit și se află (implicit) la/mnt/wlsg/runtime-dir . Așa arată ferestrele de sub wayland, puteți vedea că, din moment ce decorațiunile de ferestre wayland pot fi desenate fie de compozitor, fie de aplicație, acestea păstrează configurația tematicii dvs. GTK / QT, astfel încât veți ajunge cu o fereastră nativă cu aspect Linux. în interiorul unui shell Windows ... care este puțin dezorientant la început.

Emulator terminal

Pe Linux pe care îl foloseam Kitty , deoarece era unul dintre emulatoarele de terminal mai noi cu accelerare GPU[2]și un mod demon oarecum stabil care permite mai multe ferestre cu aceeași instanță. Cu toate acestea, pe Windows, am dat cu câteva terminale bazate pe Windows, cum ar fi Windows Terminal, fluent terminal, wsltty, conemu, dar în cele din urmă am trecut la wezterm . În ciuda faptului că este un terminal mai recent, acesta are toate caracteristicile pe care le-ați dori de la un emulator de terminal:

De asemenea, cu Windows mi-am modificat un pic fluxul de lucru astfel încât să nu am nevoie de un terminal cu modul daemon care să accepte mai multe ferestre separate, folosind un terminal drop-down. A face wezterm scapă jos după ce am încercat multe scripturi drop-down AHK, în cele din urmă am găsit unu care a funcționat destul de bine. O alternativă mai bună ar fi totuși windows-terminal-cutremur, dar am avut probleme cu comportamentul său greșit cu desktop-urile virtuale gestionate de dexpot, în timp ce consola-cutremur pare să fie compatibilă cu desktop-urile virtuale dexpot. Cel mai probabil, atunci când experiența încorporată a desktopurilor virtuale Windows se îmbunătățește, voi trece la windows-terminal-cutremur. WezTerm este, de asemenea, pe mai multe platforme, ceea ce înseamnă că îl pot folosi în continuare cu o instalare nativă Linux. A fost o descoperire foarte norocoasă pentru acest switch Windows + WSL, deoarece Kitty nu acceptă încă Windows, iar celelalte alternative ale terminalului au avut unele supărări destul de majore care Nu aș putea să mă împac cu.

[1]AutoHotKey
[2]de ce am nevoie din nou de accelerare GPU în terminal?

Post Tag-uri: