•  untoreh-luce

Rendi Windows sopportabile

Un elenco di strumenti per far sembrare Windows più simile a Linux

Da quando io passato a Windows 10 con WSL Ho pensato di fare un elenco di software che dovevo usare per avvicinare Windows al mio solito flusso di lavoro Linux. Mettiamo in chiaro che l'interfaccia utente di Windows fa schifo, è bloccata nel90s e tutto dovrebbe essere cliccato e trascinato con il puntatore del mouse. Non so se è un cultura cosa (agli sviluppatori di Windows deve piacere molto il mouse), o per target demografico ("fai clic su quella cosa!" è facile da spiegare), oa causa di migliori pratiche di sicurezza (se diamo troppo controllo all'utente, il malware lo sfrutterà) o semplicemente il Shell di Windows essendo costituito da un mucchio di debiti tecnologici che rende più difficile l'aggiunta di funzionalità per gli utenti avanzati. Il fatto è che le cose semplici in Linux richiedono soluzioni contorte in Windows.

Desktop virtuali

In Linux ogni gestore di Windows ha una qualche forma di desktop virtuale, Windows ha creato desktop virtuali abbastanza di recente con W10. Il fatto è che al momento della scrittura puoi solo scorrere a sinistra e a destra con i tasti di scelta rapida e non ci sono tasti di scelta rapida per andare al desktop X. C'è questo libreria vd ma non ho trovato software che ne faccia uso, invece solo AHK[1] script con implementazioni scadenti come "loop fino a quando non siamo al VD corretto".

La mancanza di scorciatoie adeguate per i desktop virtuali integrati di Windows mi ha costretto a utilizzare software di terze parti, di cui ce ne sono molti, ho scelto despota come fa tutte le cose di cui avrei bisogno e anche di più (sarei felice con sologo to X emove window to X scorciatoie). L'unico problema era che dexpot non è in grado di associare chiavi già associate... in qualche modo AHK è in grado di sovrascrivere le chiavi utilizzate da altre applicazioni, mentre dexpot no, presumo sia perché si basa su un'API di Windows diversa (o [dll]). La soluzione alternativa è rimappare le scorciatoie che volevo (ad es.Win+1 ) con una scorciatoia gratuita che potrebbe essere impostata su dexpot (es.Win+Shift+F1)

Mappatura della tastiera

Powertoys permette di mappare tasti e scorciatoie, in modo tale da poter mappare CapsLock->LeftControl e RightControl->LeftControl. E scorciatoie comeWin+hjkl alle frecce. PeccatoWin+l è una scorciatoia predefinita di Windows per bloccare lo schermo e non può essere rimappata... una chiave di registro sovrascrive le scorciatoie e risolve questo problema... finché non aggiorni Windows... quindi devi applicare la correzione ad ogni avvio!

lanciatore

Il launcher di app fornito da powertoys è invece piuttosto ricco di funzionalità, non utilizza molta più memoria di KRunner ed è veloce e reattivo. L'unica lamentela è che di tanto in tanto perde la messa a fuoco, ma questo è molto probabilmente un problema con il controllo malato di Windows (come nel pervertito) di quale finestra dovrebbe essere focalizzata in un dato momento.

piastrellatura

Sono passato da Sway a KDE su Linux, quindi non ero un amante delle finestre piastrellate. Powertoys ha FancyZones che è un leggero miglioramento rispetto agli Snap di Windows di base offerti da Windows, in quanto ti dà lacune e layout . Eppure manca ancora la cosa più importante che rende utile la piastrellatura, cioè regoleda applicare alle finestre corrispondenti, ma questo richiederebbe anche il supporto per i desktop virtuali... e abbiamo già menzionato il loro stato attuale. In Comparison KWin ti permette di abbinare finestre con definizioni molto complesse. FancyZones aggira il problema delle regole preservando le posizioni delle finestre tra le sessioni, ma non ho studiato come funziona con diversi desktop virtuali.

Finestre di trascinamento

Windows può essere trascinato solo dalla barra del titolo e un ulteriore utilità deve essere usato per spostarli con una combinazione di scorciatoie.

Monitor di sistema

Con KDE hai widget al plasma per visualizzare le informazioni di sistema, anche se i widget al plasma tendono a consumare molta memoria, quindi non li ho usati molto. Con Windows non esiste un'utilità integrata per questo, dopo aver provato alcune utilità su cui ho deciso Monitoraggio del traffico che fornisce rete, cpu, memoria e solo di recente sono state aggiunte GPU e temp. Il risultato è un bel rettangolo di basso profilo visualizzato nella barra delle applicazioni:

Il punto bonus per Windows è che il mio UPS viene riconosciuto ed è mostrato nell'area del vassoio, quindi non necessita di configurazione aggiuntiva, mentre in Linux NOCE ci sono problemi di driver.

Servizi di sistema

A molti non è piaciuto systemd quando è arrivato nel kernel di Linux.. Con Windows invece ho iniziato a mancarlo.. Servizi Windows non è davvero qualcosa orientato verso gli utenti come systemd. Windows ha il Agenda affrontare le cose che sembranoone-shot unit, ma ancora una volta la sua interfaccia (o la sua mancanza) è terribile. Fortunatamente noi non abbiamo davvero bisogno di demoni personalizzati in Windows, poiché la maggior parte delle applicazioni Windows che usiamo dovrebbero essere solo eseguire all'avviotipo di logica e non necessitano di configurazioni più avanzate. Infatti, a parte la lettiera di attrezzi ( sospiro ) per far funzionare Windows come un ambiente moderno, solo le altre applicazioni Windows native in uso sono il browser ( firefox ) poiché l'accelerazione GPU del browser è pessima all'interno di WSL (bene anche su Linux nativo...) e nel lettore video ( mpv )..e giochi ovviamente...

Pacchetti

non mi piace cioccolatoso poiché richiede i privilegi di amministratore, cerco sempre prima i pacchetti scoop poiché sono installati nella cartella utente, che è più conveniente e più coerente e semplifica i backup.

WSL/g

Sono stato indotto a passare a Windows dal recente WSLg aggiornare. Che richiedeva i driver mesa compilati con ild3d12 supporto backend peropengl . Windows fornisce un livello Ubuntu di anteprima della comunità, ma ho optato per arch linux dato che c'era già un pacchetto AUR per mesa con d3d12 . Dal momento che WSL attualmente non supporta systemd, ho finito per usare supervisore per gestire alcuni servizi. Per assicurarsi che il supervisore sia attivo, c'è un controllo nel profilo della shell per un file di blocco che dovrebbe essere creato sutmpfs se il supervisore è stato precedentemente avviato.

Supporta solo WSLext4 file system, per utilizzare altri file system, è necessario montare la partizione (o il disco) direttamente all'interno della VM WSL. Tuttavia devono essere montati manualmente come amministratore dalle finestre. Per automatizzare questo possiamo utilizzare l'utilità di pianificazione che consente di ignorare il prompt UAC eseguendo attività con il più alto privilegio . Possiamo eseguire un wsl--mount comando per montare i nostri dischi/partizioni desiderati e quindi eseguire mount del filesystem da linux. Perché il mio/home/ risiede in un montatobtrfsfilesystem devo montarlo automaticamente, quindi usiamo/etc/fstab per mappare la nostra partizione (byLABEL ) a/home . Perché usiamo nix connix-env dobbiamo legare montare il nostro negozio nix a/nix su ogni avvio di wsl, e perché/tmp non è accesotmpfs dobbiamo creare un supporto overlay che montatmpfs sopra l'esistente/tmp directory, per conservare file importanti, in particolare i file X11, necessari per parlare con il server X.

Questi montaggi vengono eseguiti con uno script, che dovrebbe essere eseguito dopo abbiamo montato il disco all'interno di Linux. Abbiamo bisogno di un'attività che venga eseguita dopo il completamento dell'attività di montaggio e poiché WSL utilizza VM diverse per diversi utenti di Windows, lo script deve essere eseguito NON con i privilegi più elevati (altrimenti verrebbe montato sulla VM dell'amministratore).

Per garantire che WSLg funzioni, dobbiamo assicurarci che XDG DURATA DIR è impostato, poiché è diverso e si trova (per impostazione predefinita) in/mnt/wlsg/runtime-dir . Ecco come appaiono le finestre in wayland, puoi vedere che poiché con wayland le decorazioni delle finestre possono essere disegnate sia dal compositore che dall'applicazione, mantengono la configurazione del tuo tema GTK/QT, quindi ti ritroverai con una finestra con un tema linux nativo all'interno di una shell di Windows... che all'inizio è un po' disorientante.

Emulatore di terminale

Su Linux stavo usando gattino , poiché era uno dei più recenti emulatori di terminale con accelerazione GPU[2] e una modalità demone alquanto stabile che consente più finestre con la stessa istanza. Tuttavia su Windows, mi sono dilettato con alcuni terminali basati su Windows come Windows Terminal, Fluent Terminal, wsltty, conemu, ma alla fine sono passato a wezterm . Nonostante sia un terminale più recente, ha tutte le funzionalità che vorresti da un emulatore di terminale:

Con Windows ho anche modificato un po' il mio flusso di lavoro in modo tale da non aver bisogno di un terminale con modalità demone che supporti più finestre separate, utilizzando un terminale a discesa. Per fare wezterm cadere in picchiata dopo aver provato molti script AHK a discesa, alla fine ho trovato uno che ha funzionato abbastanza bene. Tuttavia, un'alternativa migliore sarebbe Windows-terminale-quake , ma ho avuto problemi con il suo comportamento anomalo con i desktop virtuali gestiti da dexpot, mentre mitty-quake-console sembra essere compatibile con i desktop virtuali di dexpot. Molto probabilmente quando l'esperienza dei desktop virtuali Windows integrata migliorerà, passerò a windows-terminal-quake. WezTerm è anche multipiattaforma, il che significa che posso continuare a usarlo con un'installazione Linux nativa. È stata una scoperta davvero fortunata per questo switch Windows + WSL, dal momento che Kitty non supporta ancora Windows e le altre alternative di terminale hanno avuto alcuni fastidi abbastanza importanti che Non potevo venire a patti con.

[1]Tasto di scelta rapida automatico
[2]perché di nuovo ho bisogno dell'accelerazione della gpu nel terminale?

Tag degli articoli: