安装Hyprland

🏗施工中……

这部分是在tty从零开始安装一个功能完备的hyprland,以方便为主而不是以符合wm的理念为主,如果已经安装了其他桌面环境的话有些流程会略有不同。符合wm理念的软件选择、美化、自定义相关内容会在我的Ricing(🚧施工中……)一节中,不包含在此处。

可选:更换shell为fish

FishShell

由于要频繁用到终端,更换为fish更加便利。

安装

sudo pacman -S fish

切换

chsh -s /usr/bin/fish

退出登录

exit

输入用户名密码重新登录

PS:要完全更换需要重启

可选:修改系统语言

Archwiki-Locale

  1. 编辑配置文件
    • 系统级 vim /etc/locale.conf
LANG=zh_CN.UTF-8

用户空间

```
vim ~/.config/locale.conf
```
写入

```
LANG=zh_CN.UTF-8
```

如果是archinstall安装,需要额外进行如下操作:

  1. sudo vim /etc/locale.gen

左斜杠键搜索,取消zh_CN.UTF-8的注释

sudo locale-gen
  1. super+M退出hyprland会话(用显示管理器的话可以直接reboot重启)
  2. exit退出登录
  3. 重新登录即可激活

安装hyprland

Hyprland-Installation

sudo pacman -S hyprland kitty wofi firefox

出现选项的话选有piperwire的,firefox的字体不知道选哪个就选noto-fonts

hyprland本体

kitty是hyprland默认的终端仿真器,如果你已经安装了别的桌面环境可以不装kitty

wofi是默认的应用启动器

firefox是linux最好用的浏览器

  • 基础使用方法 tty运行hyprland命令打开会话,或者在显示管理器切换为hyprland会话。super+Q打开kitty;super+R打开wofi;super+C关闭窗口。
  • 修改默认终端
    1. 运行一次hyprland生成默认配置文件
    2. super+M退出hyprland
    3. 编辑配置文件 vim ~/.config/hypr/hyprland.conf
    1. $terminal= kittykitty改成你使用的终端。

去掉警告

vim ~/.config/hypr/hyprland.conf

光标移动到autogenerated = 1那一行,按两下d删除那一行内容,:w保存,此时hyprland会自动重新读取配置。

显示器设置

Hyprland-Monotors

hyprctl monitors all

假设是eDP-1,分辨率2k,刷新率165

vim ~/.config/hypr/hyprland.conf
monitor=eDP-1,2560x144@165,0x0,1.6

从左到右分别是 "显示器,分辨率@刷新率,位置,缩放“。位置从左上角第一个像素开始。

如果我有第二个显示器想放在eDP-1的右边,就计算一下x的值,2560/1.6=1600,第二个显示器位置的x值就是1600。如果位置是0x0的左边的话就填负数,y正数在下面,y负数在上面。

monitor=DP-2,2560x1440@180,1600x0,1

禁用鼠标加速

Hyprland-Input

vim ~/.config/hypr/hyprland.conf

修改input{},写入accel_profile = flat

input{
    accel_profile = flat
}

触摸板自然滚动

natural_scroll=falsefalse改成true

xwayland缩放问题

Hyprland-XWayland

xwayland软件在hyprland会像素化,需要在hyprland配置文件新增xwayland{},填入force_zero_scaling=true

xwayland{
	force_zero_scaling=true
}

音视频固件和服务

安装音视频固件

sudo pacman -S --needed sof-firmware alsa-ucm-conf alsa-firmware 

sof-firmware为现代音视频设备提供固件,通常装这个就可以了

alsa-ucm-conf提供必要的配置文件

alsa-firmware为不常见或者较旧的设备提供固件

安装音视频服务

sudo pacman -S --needed pipewire wireplumber pipewire-pulse pipewire-alsa pipewire-jack 

pipewire是由redhat主导开发的现代音视频服务

wireplumber会智能管理pipewire

pipewire-pulse pipewire-alsa pipewire-jack分别为pulseAudio、ALSA、JACK提供兼容

启用服务

systemctl --user enable --now pipewire pipewire-pulse wireplumber

可选:安装gui

sudo pacman -S pavucontrol

安装必要软件

Hyprland-Must-have

Archwiki-XDG-Desktop-Portal

  1. 安装 sudo pacman -S libnotify mako xdg-desktop-portal-hyprland xdg-desktop-portal-gtk hyprpolkitagent qt5-wayland qt6-wayland

libnotify是通知相关的库

mako 极其轻量的通知服务

xdg-desktop-portal-hyprland xdg-desktop-portal-gtk提供屏幕分享、全局快捷键、选取文件等功能。如果你已经安装了桌面环境这里装只装hyprland的portal就可以了。

hyprpolkitagent 软件会通过这个软件询问管理员权限

qt5-wayland qt6-wayland qt wayland库

配置重要程序开机自启

vim ~/.config/hypr/hyprland.conf

搜索exec-once。在合适的地方写入

exec-once = mako
exec-once = /usr/lib/hyprpolkitagent/hyprpolkitagent
  1. super+M退出hyprland,重新打开。

mako配置

mako默认需要点击才能关闭通知,编辑配置解决这个问题。配置文件路径~/.config/mako/config

  1. 修改配置文件 default-timeout=8000 border-radius=5 font=JetBarinsMono NEP 15

default-timeout设置自动关闭时间,毫秒为单位,8000是8s

border-radius圆角

font字体和字体大小

重新加载配置

makoctl reload

发送通知测试

notify-send 111111

GUI文档管理器

Xfce4-Projects

最适合xdg-desktop-poratal-gtk的文档管理器是thunar,内存占用极低,仅50MB。

sudo pacman -S thunar tumbler ffmpegthumbnailer poppler-glib gvfs-smb file-roller thunar-archive-plugin gnome-keyring

出选项的话选pipewire-jack

tumbler提供图片预览功能

ffmpegthumbnailer视频预览

poppler-glibpdf预览

gvfs-smb 检查可挂载的外部设备,访问smb分享等功能

file-roller 提供压缩解压缩功能

thunar-archive-plugin在thunar的右键菜单添加压缩解压缩选项

gnome-keyring提供密码保存功能。第一次保存密码会让你设置keyring的密码,可以空着。

其他thunar的额外功能可以看archwiki的thunar页面

  • 设置快捷键 vim ~/.config/hypr/hyprland.conf

搜索dolphin,改成thunar。默认快捷键是mainMod+E

搜索bind,找到快捷键绑定的部分修改

bind = $mainMod , E, exec, $fileManager 

右键从此处打开终端

点击左上角编辑 > 配置自定义动作 > 选中open in terminal here > 点击小齿轮 > 命令改成kitty

更改默认终端为kitty

set kitty as default terminal in Thunar

thunar的默认终端为gnome-terminal和xfce4-terminal,可以通过链接把kitty假装为gnome-terminal

sudo ln -s /usr/bin/kitty /usr/bin/gnome-terminal

注意:这样操作之后不要安装gnome-terminal。

生成home目录下的目录

Archwiki-XDG-user-directories

sudo pacman -S xdg-user-dirs
xdg-user-dirs-update

可选:文件夹切换成英文名

  1. 编辑配置文件 vim ~/.config/user-dirs.dirs
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_VIDEOS_DIR="$HOME/Videos"

创建对应的文件夹

mkdir -p ~/Desktop ~/Documents ~/Downloads ~/Music ~/Pictures ~/Public ~/Templates ~/Videos

更新

xdg-user-dirs-update

删除原先的中文文件夹

rm -r 公共 模板 视频 图片 文档 下载 音乐 桌面 
    1. 创建thunar书签 右键发送到书签,或者把文件夹拖到侧边栏

面板(任务栏)

Github-Wiki-Waybar

初学使用waybar即可,此处不涉及waybar的自定义,仅使用waybar默认设置。waybar默认配置虽然不好看,但是功能相当齐全,比起copy别人的dotfile弄来一个自己看不懂的配置文档和功能缺失的waybar,不如用默认。

  1. 安装 sudo pacman -S waybar ttf-jetbrains-mono-nerd

ttf-jetbrains-mono-nerd starship提供图标文字

现在启动

waybar & disown

开机自启

exec-once = waybar

设置重启waybar的快捷键

后续自定义waybar需要频繁更新waybar配置,所以设置一个重启waybar的快捷键。

虽然waybar提供了systemd服务,但是hyprland并像niri那样和systemd结合得比较好,所以用命令就行。

vim ~/.config/hypr/hyprland.conf

找到bind的部分,新增以下内容

bind = $mainMod, F12 , exec , pkill waybar || true && waybar
  1. bind = 设置一个新的快捷键绑定 $mainMod,F12设置具体的快捷键为mainMod+F12 exec将下面逗号后面的内容作为命令执行 pkill waybar按照进程名字关闭waybar ||如果左边的命令运行失败则运行右边的命令 true输出一个运行成功的信号 &&如果运行成功则运行下一条命令 waybar开启waybar 所以这段命令的意思是:尝试pkill waybar杀死waybar进程,成功则运行waybar开启waybar,失败(waybar尚未启动的情况下pkill会运行失败)则运行true发送成功信号触发waybar命令开启waybar。

蓝牙

ArchWiki-Bluetooth

sudo pacman -S --needed bluez blueman
sudo systemctl enable --now bluetooth

blueman-manager启动gui。

  • 可选:面板里的蓝牙组件
    1. 设置blueman-applet自动启动 vim ~/.config/hypr/hyprland.conf
exec-once = blueman-applet

现在启动

blueman-applet & disown

如果需要精简的蓝牙GUI可以使用blueberry

网络面板组件

如果使用networkmanager的话,可以安装对应的面板组件

sudo pacman -S network-manager-applet dnsmasq

和蓝牙一样设置exec-once自动启动以及在终端用disown现在启动即可

exec-once = nm-applet

也可以这么写

exec-once = blueman-applet & nm-applet
nm-applet & disown

如果追求精简的话可以不安装这个组件,用nmtui命令启动TUI进行网络连接就行了。甚至可以不装networkmanager,在这方面有需求的话可以看archwiki的networkconfiguration页面

性能模式切换工具 power-profiles-daemon

性能模式切换,有三个档位,performance性能、balance平衡、powersave节电。一般平衡档位就够用了,也不需要调节风扇什么的。

sudo pacman -S power-profiles-daemon
sudo systemctl enable --now power-profiles-daemon 

这个易用而且足够,不建议使用tlp或者auto-cpufreq,功耗上不会有明显区别。如果想折腾的话可以看附录-tlp相关

锁屏

hyprlock

sudo pacman -S hyprlock

hyprlock的github页面下载默认的配置文件,放到~/.config/hypr/目录下。运行hyprlock命令就可以锁屏了。可以设置了一个快捷键。比如mod ALT+L锁屏。

空闲一段时间自动熄屏锁屏休眠

hypridle

sudo pacman -S hypridle
vim ~/.config/hypr/hyprland.conf
exec-once = hypridle

壁纸

yay -S swww waypaper
vim ~/.config/hypr/hyprland.conf
exec-once = swww-daemon
swww-daemon & disown

设置float

打开waypaper然后运行命令获取窗口信息

hyprctl clients
  • windowrule= float,class:waypaper

剪贴板

yay -S copyq
copyq & disown 
copyq toggle
  • 设置float hyprctl clients
  • windowrule= float,class:com.github.hluk.copyq

截图

yay -S gradia slurp grim
gradia --screenshot

安装完成后需要重新登录。

  • 设置float hyprctl clients
  • windowrule= float,class:com.github.hluk.copyq windowrule = float,title:Save Image As Save Image As是选取保存位置的窗口

flatpak

sudo pacman -S gnome-software flatpak
reboot 

换源

  • flathub flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

国内源

这里举例的是上交大的源,要使用其他的可以自行浏览器搜索。

sudo flatpak remote-modify flathub --url=https://mirror.sjtu.edu.cn/flathub

基础的安装就此结束。接下来你可以按照自己的需求决定安装什么软件。当然,你也可以选择参考我的。为了防止安装出现问题,建议先配置快照