Configuración i3 para una computadora portátil: ¿cómo reducir el rendimiento al 100%?

Recientemente me di cuenta de que mi computadora portátil no es lo suficientemente potente. No tiene suficiente potencia para tomarlo todo junto: Vim (+ 20 complementos), VSCode (+ la misma cantidad de extensiones), Google Chrome (+ 20 pestañas), etc. Parece ser un problema común en portátiles con 4 GB de RAM, pero no me di por vencido. Me encantan las computadoras portátiles porque son compactas y también porque pueden funcionar con batería en cualquier lugar. Sólo necesitaba descubrir cómo liberar RAM adicional y también aumentar la eficiencia energética.

Configuración i3 para una computadora portátil: ¿cómo reducir el rendimiento al 100%?

Si necesita configuraciones de inmediato, desplácese hacia abajo hasta la sección "Análisis de la instalación".

Sistema operativo

Como necesito un sistema operativo que consuma la menor cantidad de RAM y batería, elegí Arch Linux. Clásico, nada nuevo. Sus repositorios me permitirán automatizar una gran cantidad de trabajo innecesario y AUR ahorrará aún más tiempo.

Administrador de ventanas

Decidí utilizar un administrador de ventanas en lugar de un entorno completo. Aunque me gustan las zapatillas (KDE), todavía consumen bastante, debido al hecho de que generan muchas bibliotecas y dependencias. Bueno, DE en sí consume bastante debido a todo tipo de widgets innecesarios.

Configuración i3 para una computadora portátil: ¿cómo reducir el rendimiento al 100%?

Desmontemos la instalación.

Primero necesitamos instalar todos los paquetes principales (necesitamos configurar algo)

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

Aquí hay un diagrama aproximado de cómo funcionará todo.

Configuración i3 para una computadora portátil: ¿cómo reducir el rendimiento al 100%?

¿Qué paquetes se necesitan para qué?

Paquete
¿Por qué necesitamos

xwinenvolver
Necesario para instalar archivos con la extensión .gif como fondos de pantalla animados

polibarra
Necesario para que la barra superior se muestre en el administrador de ventanas

i3
El propio administrador de ventanas.

i3-brechas
Extensión del administrador de ventanas

desarrollo base
Componentes necesarios para instalar Polybar

rofi
Lanzador de aplicaciones

flechas
Visor de documentos

zathura
Visor de documentos (no admite muchas extensiones, pero es más minimalista)

feh
Un programa para ver imágenes y también para configurar imágenes de fondo.

empuje
editor principal

código
editor adicional

picom
Composer (un programa que crea sombras, transparencias y desenfoque de fondo)

gatito
Terminal principal

urxvt
terminal adicional

guardabosque
Administrador de archivos

git
Sistema de control de versiones

xdotool
Una utilidad que ayudará a desarrollar scripts e interactuar con Windows.

autobloqueo
Una utilidad que bloquea la computadora cuando está inactiva e inicia i3-lock

color-i3lock
Versión mejorada de i3lock. El programa es necesario para bloquear la computadora e ingresar una contraseña.

escroto
Aplicación minimalista para realizar capturas de pantalla.

ImageMagick
Un programa que te ayudará a interactuar con imágenes (las difumina de antemano, las convierte, cambia la resolución)

Configurando i3

i3 - Un administrador de ventanas que no consume muchos recursos, por lo que nos será útil para “emular” otros administradores de ventanas habituales. (El regalo, por supuesto, viene con el mosaico: la capacidad del administrador de ventanas para abrir aplicaciones en toda la parte libre de la pantalla.)

Proporcionaré la configuración. i3 por partes, para que incluso los principiantes entiendan todo. Empecemos por lo más importante: el botón. $Mod. Sirve para interactuar con i3. Todas las teclas de acceso rápido principales pasarán por él.

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

A continuación, le enseñaremos a nuestro administrador de ventanas a mover ventanas con el mouse cuando se hace clic en ellas. $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

Instalaremos fuentes para nuestras aplicaciones, así como para aplicaciones que dependen de i3

# Fonts
font pango: JetBrains Mono 10

Mi idea era hacer todas las ventanas inicialmente. volador (lo cual resultó ser muy conveniente). Para aclarar: en i3 Hay muchos tipos unión cósmica ventanas (Tilling, Fullscreen, Tabbed, Float, Stacking), todas ellas son convenientes en diferentes situaciones, pero no veo el sentido de hacerlo todos ventanas que ocupan toda la pantalla. Mejor dejar que lo llenen cuando lo presionen. $mod + f, pero cuelgan en el aire de forma predeterminada, que es lo que hice en el siguiente código:

# 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

Para que no te confundas con la expresión (1920 - 10)/2 and (1080 - 10)/2 significa que cada ventana ocupará una cuarta parte de la pantalla y también habrá una sangría (entre sí) de exactamente 5 píxeles (5 en todos los lados).

A continuación, vinculemos todas las aplicaciones principales. Todas las teclas de acceso rápido intentan coincidir con este esquema.

Configuración i3 para una computadora portátil: ¿cómo reducir el rendimiento al 100%?

## 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

Además, vincularemos todas las funciones principales que realizamos sin pensar, y que deben ser

# 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

Hagamos una sección de inicio automático.

### 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-brechas es una versión i3 que agrega muchas características nuevas. Uno de ellos es agregar sangrías (espacios), que visualmente quedan muy bien.

### 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

¿Qué pasó?

Y el resultado es un montaje bastante minimalista en el i3, que funciona muy rápidamente en portátiles y ofrece un buen rendimiento.

Configuración i3 para una computadora portátil: ¿cómo reducir el rendimiento al 100%?

Como escribí muchas configuraciones (que se ven claramente en la captura de pantalla), se pueden encontrar en el repositorio. Gran i3.

Un par de capturas de pantalla más

Configuración i3 para una computadora portátil: ¿cómo reducir el rendimiento al 100%?

Configuración i3 para una computadora portátil: ¿cómo reducir el rendimiento al 100%?

Configuración i3 para una computadora portátil: ¿cómo reducir el rendimiento al 100%?

Fuente: habr.com

Añadir un comentario