🏗施工中……
这部分是在tty从零开始安装一个功能完备的hyprland,以方便为主而不是以符合wm的理念为主,如果已经安装了其他桌面环境的话有些流程会略有不同。符合wm理念的软件选择、美化、自定义相关内容会在我的Ricing(🚧施工中……)一节中,不包含在此处。
可选:更换shell为fish
由于要频繁用到终端,更换为fish更加便利。
安装
sudo pacman -S fish
切换
chsh -s /usr/bin/fish
退出登录
exit
输入用户名密码重新登录
PS:要完全更换需要重启
可选:修改系统语言
- 编辑配置文件
- 系统级
vim /etc/locale.conf
- 系统级
LANG=zh_CN.UTF-8
用户空间
```
vim ~/.config/locale.conf
```
写入
```
LANG=zh_CN.UTF-8
```
如果是archinstall安装,需要额外进行如下操作:
sudo vim /etc/locale.gen
左斜杠键搜索,取消zh_CN.UTF-8的注释
sudo locale-gen
- super+M退出hyprland会话(用显示管理器的话可以直接
reboot重启) exit退出登录- 重新登录即可激活
安装hyprland
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关闭窗口。 - 修改默认终端
- 运行一次
hyprland生成默认配置文件 - super+M退出hyprland
- 编辑配置文件
vim ~/.config/hypr/hyprland.conf
- 运行一次
-
- 把
$terminal= kitty的kitty改成你使用的终端。
- 把
去掉警告
vim ~/.config/hypr/hyprland.conf
光标移动到autogenerated = 1那一行,按两下d删除那一行内容,:w保存,此时hyprland会自动重新读取配置。
显示器设置
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
禁用鼠标加速
vim ~/.config/hypr/hyprland.conf
修改input{},写入accel_profile = flat
input{
accel_profile = flat
}
触摸板自然滚动
natural_scroll=false的false改成true
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
安装必要软件
- 安装
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
- super+M退出hyprland,重新打开。
mako配置
mako默认需要点击才能关闭通知,编辑配置解决这个问题。配置文件路径~/.config/mako/config
- 修改配置文件
default-timeout=8000 border-radius=5 font=JetBarinsMono NEP 15
default-timeout设置自动关闭时间,毫秒为单位,8000是8s
border-radius圆角
font字体和字体大小
重新加载配置
makoctl reload
发送通知测试
notify-send 111111
GUI文档管理器
最适合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目录下的目录
sudo pacman -S xdg-user-dirs
xdg-user-dirs-update
可选:文件夹切换成英文名
- 编辑配置文件
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 公共 模板 视频 图片 文档 下载 音乐 桌面
-
- 创建thunar书签 右键发送到书签,或者把文件夹拖到侧边栏
面板(任务栏)
初学使用waybar即可,此处不涉及waybar的自定义,仅使用waybar默认设置。waybar默认配置虽然不好看,但是功能相当齐全,比起copy别人的dotfile弄来一个自己看不懂的配置文档和功能缺失的waybar,不如用默认。
- 安装
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
bind =设置一个新的快捷键绑定$mainMod,F12设置具体的快捷键为mainMod+F12exec将下面逗号后面的内容作为命令执行pkill waybar按照进程名字关闭waybar||如果左边的命令运行失败则运行右边的命令true输出一个运行成功的信号&&如果运行成功则运行下一条命令waybar开启waybar 所以这段命令的意思是:尝试pkill waybar杀死waybar进程,成功则运行waybar开启waybar,失败(waybar尚未启动的情况下pkill会运行失败)则运行true发送成功信号触发waybar命令开启waybar。
蓝牙
sudo pacman -S --needed bluez blueman
sudo systemctl enable --now bluetooth
blueman-manager启动gui。
- 可选:面板里的蓝牙组件
- 设置
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相关。
锁屏
sudo pacman -S hyprlock
到hyprlock的github页面下载默认的配置文件,放到~/.config/hypr/目录下。运行hyprlock命令就可以锁屏了。可以设置了一个快捷键。比如mod ALT+L锁屏。
空闲一段时间自动熄屏锁屏休眠
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 AsSave 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
