نصب Hyprland در Arch Linux
نصب و پیکربندی کامل Hyprland در Arch Linux: tiling window manager مدرن، Wayland، راهاندازی پایه و شخصیسازی.
Hyprland یک tiling window manager مدرن و پویا برای Wayland است که انیمیشنهای روان، افکتهای زیبا و کارایی بالا را ارائه میدهد. در این آموزش، نصب و پیکربندی کامل Hyprland در Arch Linux را دنبال میکنیم.
Hyprland چیست؟
Hyprland یک compositor برای Wayland است که با C++ نوشته شده و ویژگیهای زیر را ارائه میدهد:
- انیمیشنهای روان و customizable
- پشتیبانی از تایلینگ پویا (master و dwindle layout)
- افکتهای گرافیکی پیشرفته (blur, shadows, rounded corners)
- پشتیبانی از multi-monitor
- پیکربندی با فایل متنی ساده (نه XML یا Lua)
- ادغام با اکوسیستم Wayland
Hyprland در برابر Sway
هر دو Wayland compositor هستند. Sway از فلسفهٔ i3 پیروی میکند (ساده، کمافکت). Hyprland مدرنتر است، با انیمیشن و افکتهای بیشتر. اگر سادگی و ثبات میخواهید، Sway را امتحان کنید. اگر ظاهر مدرن میخواهید، Hyprland.
پیشنیازها
Hyprland برای کاربران پیشرفته
Hyprland فقط یک window manager است؛ نه دسکتاپ کامل. شما باید خودتان: پنل، launcher، notify daemon, wallpaper setter و... را پیکربندی کنید. این آموزش برای کاربران آشنا به لینوکس است.
پیشنیازها:
- نصب پایهٔ Arch کامل
- یک کاربر عادی با sudo
- NetworkManager فعال
- درایور گرافیکی نصب (با پشتیبانی از Wayland)
- آشنایی با خط فرمان و فایلهای پیکربندی
نصب Hyprland
روش ۱: از مخازن رسمی (پیشنهادی)
# نصب Hyprland و ابزارهای پایه
sudo pacman -S hyprlandروش ۲: از AUR (نسخهٔ git)
اگر جدیدترین ویژگیها را میخواهید:
yay -S hyprland-gitانتخاب نسخه
برای اکثر کاربران، نسخهٔ پایدار از مخازن رسمی کافی است. نسخهٔ git برای توسعهدهندگان و کاربرانی است که آخرین تغییرات را میخواهند.
نصب ابزارهای ضروری
Hyprland فقط مدیریت پنجرهها را انجام میدهد. برای یک دسکتاپ کامل، این ابزارها را نصب کنید:
# ترمینال
sudo pacman -S kitty
# launcher (نمایش برنامهها)
sudo pacman -S wofi
# یا
sudo pacman -S rofi-wayland
# نوار وضعیت (status bar)
sudo pacman -S waybar
# نوتیفیکیشن
sudo pacman -S mako
# یا
sudo pacman -S dunst
# wallpaper
sudo pacman -S hyprpaper
# یا
sudo pacman -S swaybg
# قفل صفحه
sudo pacman -S swaylock
# سیاست session (idle, lock)
sudo pacman -S swayidle
# ابزار استخراج wallpaper
sudo pacman -S swww
# پشتیبانی از polkit (گرافیکی)
sudo pacman -S polkit-gnome
# ابزارهای پایه Wayland
sudo pacman -S xdg-desktop-portal-hyprland xdg-desktop-portal-gtkنصب نرمافزارهای جانبی
# مرورگر
sudo pacman -S firefox firefox-i18n-fa
# فونتهای فارسی
sudo pacman -S ttf-vazirmatn
# فونتهای نردبار (status bar)
sudo pacman -S ttf-jetbrains-mono-nerd noto-fonts-emoji
# ابزارهای سیستم
sudo pacman -S brightnessctl playerctl pamixer
# شبیهساز ترمینال جایگزین
sudo pacman -S alacritty
# FileManager
sudo pacman -S thunarراهاندازی Hyprland
روش ۱: با display manager (SDDM)
sudo pacman -S sddm
sudo systemctl enable sddmدر صفحهٔ ورود SDDM، Hyprland را بهعنوان session انتخاب کنید.
روش ۲: با TTY (بدون display manager)
اگر بدون display manager میخواهید وارد شوید، فایل ~/.bash_profile یا ~/.zprofile را ویرایش کنید:
if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then
exec Hyprland
fiسپس پس از ورود به سیستم در TTY1، Hyprland بهطور خودکار شروع میشود.
پیکربندی پایه
فایل پیکربندی Hyprland در ~/.config/hypr/hyprland.conf قرار دارد:
mkdir -p ~/.config/hypr
nano ~/.config/hypr/hyprland.confپیکربندی پیشنهادی پایه
# ============= Monitor =============
monitor=,preferred,auto,1
# ============= Programs ============
$terminal = kitty
$menu = wofi --show drun
$browser = firefox
# ============= Autostart ===========
exec-once = waybar
exec-once = mako
exec-once = hyprpaper
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
# ============= Variables ===========
$mainMod = SUPER
# ============= Bindings ===========
bind = $mainMod, Return, exec, $terminal
bind = $mainMod, D, exec, $menu
bind = $mainMod, Q, killactive,
bind = $mainMod SHIFT, E, exit,
bind = $mainMod, F, fullscreen,
bind = $mainMod, Space, togglefloating,
bind = $mainMod, P, pseudo, # dwindle
# تمرکز
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# حرکت پنجره
bind = $mainMod SHIFT, left, movewindow, l
bind = $mainMod SHIFT, right, movewindow, r
bind = $mainMod SHIFT, up, movewindow, u
bind = $mainMod SHIFT, down, movewindow, d
# workspaceها
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
# انتقال پنجره به workspace
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
# ============= Graphics ===========
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
# ============= Look ===============
general {
gaps_in = 5
gaps_out = 10
border_size = 2
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
layout = dwindle
}
decoration {
rounding = 10
blur {
enabled = true
size = 3
passes = 1
}
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
}
animations {
enabled = yes
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
# ============= Input ==============
input {
kb_layout = us,ir
kb_options = grp:alt_shift_toggle
follow_mouse = 1
touchpad {
natural_scroll = yes
}
sensitivity = 0 # -1.0 to 1.0
}
# ============= Rules ==============
windowrule = float, ^(wofi)$
windowrule = center, ^(wofi)$
windowrule = float, ^(mpv)$بارگذاری مجدد پیکربندی
Hyprland بهطور خودکار فایل پیکربندی را reload میکند. کافی است فایل را ذخیره کنید. اگر خطای سینتکس باشد، در通知 mako نمایش داده میشود.
پیکربندی Waybar
mkdir -p ~/.config/waybar
nano ~/.config/waybar/config{
"layer": "top",
"position": "top",
"height": 30,
"modules-left": ["hyprland/workspaces"],
"modules-center": ["hyprland/window"],
"modules-right": ["pulseaudio", "network", "cpu", "memory", "battery", "clock", "tray"],
"hyprland/workspaces": {
"format": "{icon}",
"on-click": "activate"
},
"clock": {
"format": "YYYY-MM-DD HH:mm"
},
"pulseaudio": {
"format": "{volume}% {icon}",
"format-muted": "MUTE",
"icons": {
"default": "♪"
}
},
"battery": {
"format": "{capacity}% {icon}",
"format-icons": ["", "", "", "", ""]
}
}سپس فایل CSS:
nano ~/.config/waybar/style.css* {
font-family: "JetBrains Mono Nerd Font";
font-size: 13px;
}
window#waybar {
background-color: rgba(30, 30, 46, 0.9);
color: #cdd6f4;
}
#workspaces button {
padding: 0 10px;
color: #cdd6f4;
background: transparent;
}
#workspaces button.active {
color: #89b4fa;
}
#clock, #battery, #cpu, #memory, #network, #pulseaudio {
padding: 0 10px;
margin: 0 5px;
color: #cdd6f4;
background-color: rgba(69, 71, 90, 0.5);
}
#battery.warning {
color: #f9e2af;
}
#battery.critical {
color: #f38ba8;
}پیکربندی Hyprpaper
mkdir -p ~/.config/hypr
nano ~/.config/hypr/hyprpaper.confpreload = ~/Pictures/wallpaper.jpg
wallpaper = ,~/Pictures/wallpaper.jpgشروع به کار
پس از ذخیرهٔ همهٔ فایلها، Hyprland را اجرا کنید:
# اگر با TTY وارد شدهاید، Hyprland خودکار شروع میشود
# یا اجرای دستی
Hyprlandشورتکاتهای پایه
| شورتکات | کاربرد |
|---|---|
Super + Enter | باز کردن ترمینال |
Super + D | باز کردن launcher |
Super + Q | بستن پنجرهٔ فعال |
Super + F | تمامصفحه |
Super + Space | حالت شناور |
Super + Arrow | حرکت تمرکز |
Super + 1-9 | سوییچ به workspace |
Super + Shift + 1-9 | انتقال پنجره به workspace |
Super + Shift + E | خروج از Hyprland |
کلید Super
کلید Super همان کلید Windows در اکثر کیبوردها است. در مک، کلید Command است.
نصب تم و اسکریپتهای آماده
Hyprland dotfiles
برای شروع سریع، میتوانید dotfiles آمادهٔ دیگران را استفاده کنید:
# نمونه: dotfiles محبوب (با احتیاط، ببینید چه نصب میکند)
git clone https://github.com/.../dotfiles.gitاحتیاط با dotfiles دیگران
دوتفایلهای دیگران ممکن است شامل پیکربندیهای نامناسب برای سیستم شما باشند. همیشه قبل از استفاده، کد را بخوانید و در صورت نیاز تنظیم کنید.
نکات کار با Hyprland
نصب اسکریپتهای کمکی
# ابزارهای Hyprland ecosystem
sudo pacman -S hyprpicker # رنگگیر
yay -S hypridle # مدیریت idle
yay -S hyprlock # قفل صفحه-nativeپیکربندی multi-monitor
# در hyprland.conf
monitor=eDP-1,1920x1080,0x0,1
monitor=HDMI-A-1,2560x1440,1920x0,1اجرای نرمافزارهای X11
برخی نرمافزارها هنوز با Wayland کار نمیکنند. Hyprland از XWayland برای اجرای آنها استفاده میکند. در صورت نیاز:
# نصب XWayland (معمولاً بهصورت پیشفرض نصب است)
sudo pacman -S xorg-xwaylandخطاهای رایج
صفحهٔ سیاه پس از شروع
# بررسی لاگ
journalctl -b | grep Hyprland
# بررسی درایور گرافیکی
lspci -k | grep -A 3 -i vgaNVIDIA و Hyprland
اگر از NVIDIA استفاده میکنید، متغیرهای محیطی زیر را تنظیم کنید:
# در hyprland.conf (ابتدای فایل)
env = WLR_NO_HARDWARE_CURSORS,1
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidiaو مطمئن شوید درایور جدید (۵۵۵ به بالا) نصب است:
nvidia-smiفونت فارسی نمایش داده نمیشود
sudo pacman -S ttf-vazirmatn noto-fonts
fc-cache -fvخلاصه
در این آموزش:
- Hyprland را نصب کردید
- ابزارهای ضروری Wayland را پیکربندی کردید
- فایل
hyprland.confرا نوشتید - Waybar، mako و hyprpaper را راهاندازی کردید
- شورتکاتهای پایه را یاد گرفتید
Hyprland یک تجربهٔ دسکتاپ مدرن و قدرتمند است اما نیازمند پیکربندی دستی است. این انعطافپذیری، بزرگترین نقطهٔ قوت آن است.
برای جزئیات بیشتر و قابلیتهای پیشرفته، به Arch Wiki: Hyprland و مستندات رسمی مراجعه کنید.
در آموزش بعدی، با NetworkManager آشنا میشوید.
پرسشهای رایج
آیا Hyprland برای مبتدیان مناسب است؟
خیر. Hyprland برای کاربران پیشرفتهای است که با لینوکس آشنا هستند و آمادهٔ پیکربندی دستی هستند. اگر مبتدی هستید، GNOME یا KDE Plasma را امتحان کنید.
آیا Hyprland با NVIDIA کار میکند؟
بله، اما نیاز به درایور جدید (۵۵۵ به بالا) و تنظیمات اضافی دارد. اگر با NVIDIA مشکل دارید، X11 با i3/sway را امتحان کنید.
چگونه تم کامل Hyprland را نصب کنم؟
بهترین راه، استفاده از dotfiles دیگران بهعنوان پایه است. در GitHub جستجوی hyprland dotfiles کنید. سپس فایلها را در ~/.config/ قرار دهید و به سیستم خودتان تطبیق دهید.
آیا Hyprland پایدار است؟
Hyprland در حال توسعهٔ فعال است و گاهی باگهای جدید در نسخههای جدید وارد میشوند. اگر پایداری برایتان حیاتی است، نسخهٔ پایدار (نه git) را استفاده کنید و قبل از بهروزرسانی، changelog را بخوانید.
این صفحه در تاریخ ۹ تیر ۱۴۰۵ بهروزرسانی شده است.