Cấu hình i3 cho laptop: làm cách nào để giảm hiệu suất xuống 100%?

Gần đây tôi nhận ra rằng máy tính xách tay của tôi không đủ mạnh. Nó không có đủ sức mạnh để kết hợp mọi thứ lại với nhau: Vim (+ 20 plugin), VSCode (+ cùng số lượng tiện ích mở rộng), Google Chrome (+ 20 tab), v.v. Nó dường như là một vấn đề thường gặp trên máy tính xách tay có RAM 4 GB, nhưng tôi không bỏ cuộc. Tôi yêu máy tính xách tay vì chúng nhỏ gọn và cũng vì chúng có thể chạy bằng pin ở bất cứ đâu. Tôi chỉ cần tìm ra cách giải phóng thêm RAM và tăng hiệu quả sử dụng năng lượng.

Cấu hình i3 cho laptop: làm cách nào để giảm hiệu suất xuống 100%?

Nếu bạn cần cấu hình ngay thì kéo xuống phần “Phân tích cài đặt”

Hệ điều hành

Vì tôi cần một hệ điều hành tiêu tốn ít RAM và pin nhất nên tôi đã chọn Arch Linux. Cổ điển, không có gì mới. Kho lưu trữ của anh ấy sẽ cho phép tôi tự động hóa rất nhiều công việc không cần thiết và AUR sẽ tiết kiệm được nhiều thời gian hơn.

Trình quản lý cửa sổ

Tôi quyết định sử dụng trình quản lý cửa sổ thay vì môi trường chính thức. Mặc dù tôi thích giày thể thao (KDE) nhưng chúng vẫn ngốn khá nhiều, do chúng kéo lên khá nhiều thư viện và phần phụ thuộc. Chà, bản thân DE tiêu thụ khá nhiều do đủ loại vật dụng không cần thiết.

Cấu hình i3 cho laptop: làm cách nào để giảm hiệu suất xuống 100%?

Hãy tháo rời cài đặt

Đầu tiên chúng ta cần cài đặt tất cả các gói chính (chúng ta cần cấu hình một số thứ)

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

Đây là sơ đồ sơ bộ về cách mọi thứ sẽ hoạt động

Cấu hình i3 cho laptop: làm cách nào để giảm hiệu suất xuống 100%?

Những gói nào cần thiết cho việc gì?

Gói
Điều gì là cần thiết

xwinwrap
Cần cài đặt file có đuôi .gif làm hình nền động

đa thanh
Cần thiết để thanh trên cùng được hiển thị trong trình quản lý cửa sổ

i3
Bản thân trình quản lý cửa sổ

i3-khoảng cách
Tiện ích mở rộng trình quản lý cửa sổ

cấp cơ sở
Các thành phần cần thiết để cài đặt polybar

rofi
Trình khởi chạy ứng dụng

đồng ý
Trình xem tài liệu

zathura
Trình xem tài liệu (không hỗ trợ nhiều tiện ích mở rộng nhưng tối giản hơn)

feh
Một chương trình để xem hình ảnh và cũng để thiết lập hình nền

khí lực
Biên tập chính


Trình chỉnh sửa bổ sung

hình ảnh
Composer (chương trình tạo bóng, trong suốt, làm mờ nền)

mèo con
Nhà ga chính

urxvt
Thiết bị đầu cuối bổ sung

ranger
Quản lý tập tin

git
Hệ thống kiểm soát phiên bản

xdotool
Một tiện ích sẽ giúp phát triển tập lệnh và tương tác với windows

xaautolock
Tiện ích khóa máy tính khi không hoạt động và khởi chạy i3-lock

màu i3lock
Phiên bản cải tiến của i3lock. Cần có chương trình để khóa máy tính và nhập mật khẩu

bìu
Ứng dụng tối giản để chụp ảnh màn hình

ImageMagick
Một chương trình sẽ giúp bạn tương tác với hình ảnh (làm mờ trước, chuyển đổi chúng, thay đổi độ phân giải)

Cấu hình i3

i3 - Một trình quản lý cửa sổ không tiêu tốn nhiều tài nguyên nên sẽ rất hữu ích cho chúng ta trong việc “bắt chước” các trình quản lý cửa sổ thông thường khác. (Tất nhiên, phần thưởng là xếp chồng - khả năng của trình quản lý cửa sổ để mở ứng dụng trên toàn bộ phần trống của màn hình)

Mình sẽ cung cấp cấu hình i3 theo từng phần, để ngay cả những người mới bắt đầu cũng có thể hiểu được mọi thứ. Hãy bắt đầu với điều quan trọng nhất - nút $Mod. Nó phục vụ để tương tác với i3. Tất cả các phím nóng chính sẽ đi qua nó.

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

Tiếp theo, chúng tôi sẽ hướng dẫn trình quản lý cửa sổ của mình di chuyển các cửa sổ bằng chuột khi được nhấp vào $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

Chúng tôi sẽ cài đặt phông chữ cho các ứng dụng của mình cũng như cho các ứng dụng phụ thuộc vào i3

# Fonts
font pango: JetBrains Mono 10

Ý tưởng của tôi ban đầu là làm cho tất cả các cửa sổ bay (hóa ra là rất thuận tiện). Để làm rõ: trong i3 có nhiều loại lắp ghép các cửa sổ (Tilling, Fullscreen, Tabbed, Float, Stacking), tất cả đều thuận tiện trong các tình huống khác nhau, nhưng tôi không thấy việc làm đó có ý nghĩa gì tất cả cửa sổ lấp đầy toàn bộ màn hình. Tốt hơn hãy để họ lấp đầy nó khi nhấn $mod + f, nhưng treo lơ lửng theo mặc định, đó là những gì tôi đã làm trong đoạn mã sau:

# 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

Để bạn không bị nhầm lẫn bởi cách diễn đạt (1920 - 10)/2 and (1080 - 10)/2 có nghĩa là mỗi cửa sổ sẽ chiếm một phần tư màn hình và cũng sẽ có một khoảng thụt lề (cách nhau) chính xác là 5 pixel (5 pixel ở tất cả các cạnh).

Tiếp theo, hãy liên kết tất cả các ứng dụng chính. Tất cả các phím nóng đều cố gắng khớp với sơ đồ này

Cấu hình i3 cho laptop: làm cách nào để giảm hiệu suất xuống 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

Ngoài ra, chúng tôi sẽ ràng buộc tất cả các chức năng chính mà chúng tôi thực hiện mà không cần suy nghĩ và những chức năng đó phải được thực hiện

# 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

Hãy tạo một phần tự khởi động

### 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-khoảng cách là bản dựng i3 bổ sung nhiều tính năng mới. Một trong số đó là thêm các vết lõm (khoảng trống), trông rất đẹp mắt.

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

Chuyện gì vậy?

Và kết quả là một bản lắp ráp khá tối giản trên i3, hoạt động rất nhanh trên máy tính xách tay và cho hiệu năng tốt

Cấu hình i3 cho laptop: làm cách nào để giảm hiệu suất xuống 100%?

Vì tôi đã viết rất nhiều cấu hình (có thể thấy rõ trong ảnh chụp màn hình) nên chúng có thể được tìm thấy trong kho lưu trữ i3 tuyệt vời.

Một vài ảnh chụp màn hình khác

Cấu hình i3 cho laptop: làm cách nào để giảm hiệu suất xuống 100%?

Cấu hình i3 cho laptop: làm cách nào để giảm hiệu suất xuống 100%?

Cấu hình i3 cho laptop: làm cách nào để giảm hiệu suất xuống 100%?

Nguồn: www.habr.com

Thêm một lời nhận xét