i3 konfiguráció egy laptophoz: hogyan lehet 100%-ra csökkenteni a teljesítményt?

Nemrég rájöttem, hogy a laptopom nem elég erős. Nincs elég ereje ahhoz, hogy mindent összefogjon: Vim (+ 20 plugin), VSCode (+ ugyanennyi bővítmény), Google Chrome (+ 20 lap) és így tovább. Úgy tűnik, ez gyakori probléma a 4 GB RAM-mal rendelkező laptopokon, de nem adtam fel. Szeretem a laptopokat, mert kompaktak, és azért is, mert akkumulátorról bárhol működnek. Csak azt kellett kitalálnom, hogyan szabadíthatok fel extra RAM-ot és növelhetem az energiahatékonyságot.

i3 konfiguráció egy laptophoz: hogyan lehet 100%-ra csökkenteni a teljesítményt?

Ha azonnal konfigurációkra van szüksége, görgessen le a „Telepítés elemzése” részhez.

Operációs rendszer

Mivel olyan operációs rendszerre van szükségem, amely a legkevesebb RAM-ot és akkumulátort fogyasztja, ezért választottam Arch Linux. Klasszikus, semmi új. Adattárai lehetővé teszik számomra, hogy sok felesleges munkát automatizáljak, ill AUR még több időt takarít meg.

Ablakkezelő

Úgy döntöttem, hogy inkább ablakkezelőt használok, nem pedig teljes értékű környezetet. Bár szeretem a tornacipőket (KDE), mégis elég sokat emésztenek, annak köszönhetően, hogy elég sok könyvtárat és függőséget húznak fel. Nos, maga a DE elég sokat fogyaszt a mindenféle felesleges kütyü miatt.

i3 konfiguráció egy laptophoz: hogyan lehet 100%-ra csökkenteni a teljesítményt?

Szereljük szét a telepítést

Először telepítenünk kell az összes fő csomagot (valamit konfigurálnunk kell)

sudo pacman -Sy --noconfirm i3 i3-gaps base-devel rofi okular feh vim code picom kitty ranger git xdotool xautolock i3lock-color scrot imagemagick rxvt-unicode urxvt-perls

Íme egy durva diagram, hogy hogyan fog működni minden

i3 konfiguráció egy laptophoz: hogyan lehet 100%-ra csökkenteni a teljesítményt?

Milyen csomagokra van szükség?

csomag
Mi szükséges

xwinwrap
A .gif kiterjesztésű fájlok animált háttérképként történő telepítéséhez szükséges

polybar
Szükséges a felső sáv megjelenítéséhez az ablakkezelőben

i3
Maga az ablakkezelő

i3-rések
Ablakkezelő bővítmény

alap-devel
A polybar telepítéséhez szükséges alkatrészek

rofi
Alkalmazásindító

okuláris
Dokumentumnézegető

zathura
Dokumentumnézegető (nem támogatja sok bővítményt, de minimalistabb)

feh
Program képek megtekintésére és háttérképek beállítására

életkedv
Főszerkesztő

kód
További szerkesztő

picom
Composer (árnyékokat, átlátszóságot, háttér elmosódását létrehozó program)

cica
Fő terminál

urxvt
Kiegészítő terminál

erdőkerülő
Fájl kezelő

csoportos it
Verzióvezérlő rendszer

xdotool
Egy segédprogram, amely segít a szkriptek fejlesztésében és az ablakokkal való interakcióban

xautolock
Egy segédprogram, amely zárolja a számítógépet, ha inaktív, és elindítja az i3-lockot

i3lock-szín
Az i3lock továbbfejlesztett verziója. A program a számítógép zárolásához és a jelszó megadásához szükséges

herezacskó
Minimalista alkalmazás képernyőképek készítéséhez

imagemagick
Egy program, amely segít a képekkel való interakcióban (előzetesen elhomályosítja, konvertálja, megváltoztatja a felbontást)

Az i3 konfigurálása

i3 - Olyan ablakkezelő, amely nem fogyaszt sok erőforrást, így hasznos lesz számunkra más szokásos ablakkezelők „utánozásához”. (Az ajándék természetesen csempézéssel jár - az ablakkezelőnek lehetősége nyílik az alkalmazások megnyitására a képernyő teljes szabad részére)

megadom a konfigurációt i3 részenként, hogy a kezdők is mindent megértsenek. Kezdjük a legfontosabb dologgal - a gombbal $Mod. Az interakciót szolgálja i3. Az összes fontosabb gyorsbillentyű áthalad rajta.

### Tweaks ###
# Set main key (Win)
set $mod Mod4

Ezután megtanítjuk az ablakkezelőnket, hogy az egérrel mozgassa az ablakokat, ha rákattintunk $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

Betűtípusokat telepítünk az alkalmazásainkhoz, valamint az attól függő alkalmazásokhoz i3

# Fonts
font pango: JetBrains Mono 10

Az volt az ötletem, hogy először elkészítem az összes ablakot repülő (ami, mint kiderült, nagyon kényelmes). A pontosítás kedvéért: in i3 sok fajta van dokkolás ablakok (Tilling, Fullscreen, Tabbed, Float, Stacking), mindegyik kényelmes különböző helyzetekben, de nem látom értelmét minden az egész képernyőt betöltő ablakok. Jobb, ha megnyomják, hogy megtöltsék $mod + f, de alapértelmezés szerint a levegőben lóg, amit a következő kódrészletben tettem:

# 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

Nehogy összezavarjon a kifejezés (1920 - 10)/2 and (1080 - 10)/2 azt jelenti, hogy minden ablak a képernyő negyedét fogja elfoglalni, és pontosan 5 pixeles (minden oldalon 5) bemélyedés lesz (egymástól).

Ezután kössük össze az összes fő alkalmazást. Minden gyorsbillentyű megpróbál megfelelni ennek a sémának

i3 konfiguráció egy laptophoz: hogyan lehet 100%-ra csökkenteni a teljesítményt?

## Keyboard Settings ##
# Apps
bindsym $mod+Return exec kitty
bindsym $mod+Mod1+r exec "kitty sh -c 'ranger'"
bindsym $mod+Mod1+g exec google-chrome-stable
bindsym $mod+Mod1+c exec code
bindsym $mod+Mod1+v exec dolphin
bindsym Print exec spectacle

Ezenkívül lekötjük az összes fő funkciót, amelyet gondolkodás nélkül végezünk, és amelyeknek meg kell lenniük

# System / Volume
bindsym XF86AudioMute "exec amixer -D pulse sset Master toggle && notify-send "Volume" "Sound is (un)muted" --urgency low"
bindsym XF86AudioRaiseVolume "exec amixer -D pulse sset Master 5%+ && notify-send "Volume" "Volume added +5%n    Volume level is now $(amixer -D pulse get Master | awk -F 'Left:|[][]' 'BEGIN {RS=""}{ print $3 }')" --urgency low"
bindsym XF86AudioLowerVolume "exec amixer -D pulse sset Master 5%- && notify-send "Volume" "Volume added -5%n    Volume level is now $(amixer -D pulse get Master | awk -F 'Left:|[][]' 'BEGIN {RS=""}{ print $3 }')" --urgency low"

# System / Brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 5
bindsym XF86MonBrightnessUp exec xbacklight -inc 5

# Moving from one window to another
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right

# Choose one of your workspaces
bindsym $mod+1 workspace $workspace1
bindsym $mod+2 workspace $workspace2
bindsym $mod+3 workspace $workspace3
bindsym $mod+4 workspace $workspace4

# Move window to the workspace
bindsym $mod+Shift+1 move container to workspace $workspace1
bindsym $mod+Shift+2 move container to workspace $workspace2
bindsym $mod+Shift+3 move container to workspace $workspace3
bindsym $mod+Shift+4 move container to workspace $workspace4

## Floating manipulation ##
# Make window floating
bindsym $mod+f floating toggle
# Change focus
bindsym $mod+Shift+f focus mode_toggle

# Move windows
bindsym $mod+Shift+h move left 20px
bindsym $mod+Shift+j move down 20px
bindsym $mod+Shift+k move up 20px
bindsym $mod+Shift+l move right 20px

# Resizing Windows
bindsym $mod+Ctrl+l resize shrink width 10 px or 10 ppt
bindsym $mod+Ctrl+k resize grow height 10 px or 10 ppt
bindsym $mod+Ctrl+j resize shrink height 10 px or 10 ppt
bindsym $mod+Ctrl+h resize grow width 10 px or 10 ppt

# Make window fullscreen
bindcode 95 fullscreen toggle

# Reload Configuration
bindsym $mod+p reload

# Kill a window
bindsym $mod+x exec xdotool getwindowfocus windowkill

Készítsünk egy autostart részt

### Autostart ###
# Lockscreen after 10min delay
exec --no-startup-id "$HOME/.config/i3/lockscreen"
# Convert background gif to jpg
exec --no-startup-id convert -verbose $HOME/.config/i3/{gif.gif,gif.jpg}
# Generate Colorscheme
exec_always --no-startup-id wal -i $HOME/.config/i3/gif-0.jpg
# Compositor
exec_always --no-startup-id "killall -q picom; picom --config $HOME/.config/picom.conf"
# Language
exec --no-startup-id setxkbmap -model pc105 -layout us,ru -option grp:win_space_toggle
# Dunst
exec --no-startup-id dunst
# Kitty
exec kitty
# Dropbox
exec --no-startup-id dropbox &
# Polybar
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
# Cursor
exec_always --no-startup-id xsetroot -cursor_name left_ptr

i3-rések egy i3-as build, amely számos új funkciót ad hozzá. Az egyik a behúzások (rések) hozzáadása, amelyek vizuálisan nagyon jól néznek ki.

### i3-gaps ###
# Borders for windows
for_window [class=".*"] border pixel 5

# Gaps for i3bar
for_window [class="i3bar"] gaps outer current set 10

# Gaps
gaps inner 10
gaps outer 4

### Topbar and color theme ###
# Color theme of borders
client.focused              #bf616a #2f343f #d8dee8 #bf616a #d8dee8
client.focused_inactive     #2f343f #kf343f #d8dee8 #2f343f #2f343f
client.unfocused            #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.urgent               #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.placeholder          #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.background           #2f343f

Mi történt?

Az eredmény pedig egy meglehetősen minimalista összeállítás az i3-on, amely nagyon gyorsan működik laptopokon és jó teljesítményt nyújt

i3 konfiguráció egy laptophoz: hogyan lehet 100%-ra csökkenteni a teljesítményt?

Mivel sok konfigurációt írtam (ami jól látható a képernyőképen), ezek megtalálhatók a tárolóban Remek i3.

Még pár képernyőkép

i3 konfiguráció egy laptophoz: hogyan lehet 100%-ra csökkenteni a teljesítményt?

i3 konfiguráció egy laptophoz: hogyan lehet 100%-ra csökkenteni a teljesítményt?

i3 konfiguráció egy laptophoz: hogyan lehet 100%-ra csökkenteni a teljesítményt?

Forrás: will.com

Hozzászólás