Configurazione i3 per un laptop: come ridurre le prestazioni al 100%?
Recentemente mi sono reso conto che il mio laptop non è abbastanza potente. Non ha abbastanza potenza per tenere tutto insieme: Vim (+ 20 plugin), VSCode (+ lo stesso numero di estensioni), Google Chrome (+ 20 schede) e così via. Sembrerebbe un problema comune sui portatili con 4 GB di RAM, ma non mi sono arreso. Adoro i laptop perché sono compatti e anche perché possono funzionare a batteria ovunque. Avevo solo bisogno di capire come liberare RAM extra e anche aumentare l'efficienza energetica.
Se hai bisogno subito di configurazioni, scorri verso il basso fino alla sezione "Analisi dell'installazione"
Sistema operativo
Poiché avevo bisogno di un sistema operativo che consumasse la minima quantità di RAM e batteria, ho scelto Arch Linux. Classico, niente di nuovo. I suoi repository mi permetteranno di automatizzare molto lavoro non necessario e AUR farà risparmiare ancora più tempo.
Gestore delle finestre
Ho deciso di utilizzare un gestore di finestre piuttosto che un ambiente completo. Anche se mi piacciono le scarpe da ginnastica (KDE), consumano comunque parecchio, poiché contengono molte librerie e dipendenze. Bene, DE stesso consuma parecchio a causa di tutti i tipi di widget non necessari.
Smontiamo l'installazione
Per prima cosa dobbiamo installare tutti i pacchetti principali (dobbiamo configurare qualcosa)
Ecco uno schema approssimativo di come funzionerà il tutto
Quali pacchetti sono necessari per cosa?
Pacchetto
Perché abbiamo bisogno
xwinwrap
Necessario per installare file con estensione .gif come sfondi animati
polibarra
Necessario affinché la barra superiore venga visualizzata nel gestore delle finestre
i3
Il gestore delle finestre stesso
i3-gap
Estensione del gestore finestre
sviluppo di base
Componenti necessari per installare Polybar
Rofi
Lanciatore di applicazioni
oculato
Visualizzatore di documenti
zathura
Visualizzatore di documenti (non supporta molte estensioni, ma è più minimalista)
feh
Un programma per visualizzare immagini e anche per impostare immagini di sfondo
vim
Redattore principale
codice
Redattore aggiuntivo
picom
Composer (un programma che crea ombre, trasparenza, sfocatura dello sfondo)
gattino
Terminale principale
urxvt
Terminale aggiuntivo
guardia forestale
File manager
git
Sistema di controllo della versione
xdotool
Un'utilità che aiuterà nello sviluppo di script e nell'interazione con Windows
xblocco automatico
Un'utilità che blocca il computer quando inattivo e avvia i3-lock
i3lock-colore
Versione migliorata di i3lock. Il programma è necessario per bloccare il computer e inserire una password
scroto
App minimalista per acquisire screenshot
imagemagick
Un programma che ti aiuterà a interagire con le immagini (le sfoca in anticipo, le converte, cambia la risoluzione)
Configurazione dell'i3
i3 - Un window manager che non consuma molte risorse, quindi ci sarà utile per “emulare” altri normali window manager. (Il regalo, ovviamente, arriva con la piastrellatura: la capacità del gestore delle finestre di aprire le applicazioni su tutta la parte libera dello schermo)
Fornirò la configurazione i3 in alcune parti, in modo che anche i principianti capiscano tutto. Cominciamo con la cosa più importante: il pulsante $Mod. Serve per interagire i3. Tutti i principali tasti di scelta rapida passeranno attraverso di esso.
### Tweaks ###
# Set main key (Win)
set $mod Mod4
Successivamente, insegneremo al nostro gestore delle finestre a spostare le finestre con il mouse quando vengono cliccate $mod
# Press MOD key and click on mouse to move your window
floating_modifier $mod
# Focus doesn't follow the mouse
focus_follows_mouse no
Installeremo i caratteri per le nostre applicazioni, nonché per le applicazioni che dipendono da i3
# Fonts
font pango: JetBrains Mono 10
Inizialmente la mia idea era di realizzare tutte le finestre volare (che, come si è scoperto, è molto conveniente). Per chiarimenti: in i3 ce ne sono molti tipi attracco finestre (Tilling, Fullscreen, Tabbed, Float, Stacking), sono tutte comode in diverse situazioni, ma non vedo il motivo di farlo tutti finestre che riempiono l'intero schermo. Meglio lasciarli riempire quando vengono pressati $mod + f, ma rimani in aria per impostazione predefinita, che è ciò che ho fatto nel seguente pezzo di codice:
# Maximum width for floating windows
floating_minimum_size 400 x 350
floating_maximum_size 1800 x 900
# (1920 - 10)/2 and (1080 - 10)/2
for_window [class=".*"] floating enable
for_window [class=".*"] resize set 955 535
for_window [class=".*"] focus
In modo da non farti confondere dall'espressione (1920 - 10)/2 and (1080 - 10)/2 significa che ciascuna finestra occuperà un quarto dello schermo e ci sarà anche una rientranza (l'una dall'altra) di esattamente 5 pixel (5 su tutti i lati).
Successivamente, colleghiamo tutte le principali applicazioni. Tutti i tasti di scelta rapida tentano di corrispondere a questo schema