[Share Experiences] 简·ArchLinux 探索 Wayland 与 Sway/Hyprland/Sddm/Qemu/virtmanager
Tofloor
poster avatar
魔法师
deepin
2025-09-01 16:00
Author

image.png

Reply Favorite View the author
All Replies
玲泷沙.spark
deepin
2025-09-01 16:38
#1

为啥非要搞成图片,怕我粘贴呢no

Reply View the author
魔法师
deepin
2025-09-01 17:26
#2
宿主机基本过程
------------
1. 准备 ArchLinux 系统镜像
    https://mirrors.ustc.edu.cn/archlinux/iso/
 
2. 使用 Qemu 作为虚拟机,并使用对应的虚拟机软件
    sudo apt install virt-manager
  
3. 避免异常权限情况,直接将系统镜像放入虚拟机默认目录
    sudo cp '~/Downloads/archlinux-x86_64.iso' /var/lib/libvirt/images
 
    应对办法:可以参考后面的章节
 
    
创建虚拟机过程
------------
1. 文件 > 新建虚拟机(总步骤5)
    步骤1 - 本地安装介质(ISO映像或者光驱)
    步骤2 - 选择 ISO 或 CDROM 安装介质
    步骤3 - 选择内存和 CPU 设置
    步骤4 - 为虚拟机创建磁盘映像
    步骤5 - 准备开始安装
 
 
ArchLinux 安装过程
-----------------
1.基本分区、挂载操作
    lsblk     - 查看磁盘列表
    fdisk     - 对磁盘进行分区操作
    mkfs.ext4 - 对分区进行格式化操作
    mount     - 对分区进行挂载操作(/mnt)
 
2. 安装基本系统
    pacstrap /mnt base linux linux-firmware vim sudo networkmanager
 
3. 生成挂载表文件与 chroot 到新系统
    genfstab -U /mnt >> /mnt/etc/fstab
    arch-chroot /mnt
 
4. 在 chroot 环境中配置进行系统基本配置
    时区配置
        ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
        hwclock --systohc
 
    本地化设置
        vim /etc/locale.gen
        locale-gen
        echo "LANG=en_US.UTF-8" > /etc/locale.conf
 
    设置主机名
        echo "virt-PC" > /etc/hostname
 
    设置 root 密码
        passwd
 
    安装并配置 Bootloader(本地 fdisk 设置 msdos 分区表类型)
        pacman -S grub os-prober
        grub-install --target=i386-pc /dev/sda
        grub-mkconfig -o /boot/grub/grub.cfg
 
5. Wayland 环境,显示器和终端
    安装 Wayland 环境,以及 Sway 与 kitty
        pacman -S sway kitty wayland wayland-protocols `#xorg-xwayland 可选`
        - sway: Wayland 合成器(窗口管理器)
        - kitty: 高性能的 Wayland 原生终端模拟器
        - wayland & wayland-protocols: Wayland 核心协议
        - xorg-xwayland: XWayland 兼容器,允许在 Wayland 中运行传统的 X11 应用
 
        这里有一些需要考虑的问题
        ---------------------
        1. sway 默认配置启动终端的动作是 foot 终端
 
    安装用户和图形支持库
        - 创建一个新用户(将 ‘username’ 替换为你的用户名)
            useradd -m -G wheel -s /bin/bash username
            passwd username
        
        - 安装 sudo 并配置 wheel 组权限
            pacman -S sudo
            EDITOR=vim visudo
            取消注释 `%wheel ALL=(ALL:ALL) ALL` 这一行来允许 wheel 组成员使用 sudo
 
        - 安装字体和图形驱动
            - mesa: 开源通用驱动(Intel/NVIDIA/AMD 开源驱动)
            - nvidia: NVIDIA 专有驱动
            - amd-utils: AMD GPU 工具(驱动已在 mesa 中)
 
6. 启动服务并完成安装
    启用 NetworkManager 服务
        systemctl enable NetworkManager
 
    退出 chroot 环境并重启
        exit
        umount -R /mnt
        reboot
 
 
7. 安装后,进入 Wayland 环境
    - 重启后,使用新创建的用户登录命令行
    - 执行以下命令启动 Sway
        sway
 
        这里有一些需要考虑的问题
        ---------------------
        1. Sway 默认不会生成配置文件
        2. 参考 FreeBSD 文档与 AlpineLinux Wiki
            FreeBSD 手册中的 Sway 混成器篇
            https://handbook.bsdcn.org/di-6-zhang-freebsd-zhong-de-wayland/6.5.sway-hun-cheng-qi
 
 
Sway 基本说明
------------
Sway 合成器是款平铺合成器,旨在替代 i3 窗口管理器。
它应当可以与用户当前的 i3 配置兼容,但某些新功能可能需要额外的设置。
 
1. 配置文件路径
    ~/.config/sway/config
 
    - 如果不存在则需要初始化
        mkdir ~/.config/sway
        cp /etc/sway/config ~/.config/sway/
    - 可修改 set $term kitty 来使用 kitty 终端,默认是 foot 终端
 
2. 键绑定说明    
    - Win+Return 触发 $term 动作
    - Win+d 触发菜单功能(安装 wmenu 后,即可使用)
    - Win+Shift+e 触发退出Sway(会弹出询问框)
 
 
Sway & Fcitx5 基本说明
--------------
Fcitx5 是一个现代化、轻量级、高度可扩展的输入法框架。
它本身不提供具体的输入法,但它为各种输入法提供了运行的环境和接口。
 
1. 安装 fcitx5,中文语言扩展,中文字体(否则连"拼/英"都显示□□)
    pacman -S fcitx5
    pacman -S fcitx5-chiness-addon
    pacman -S noto-fonts-cjk
 
2. 在 Sway 启动过程中将 fcitx5 也启动起来
    在 ~/.config/sway/config 配置文件中追加一行
        exec --no-startup-id fcitx5 -d --replace
 
 
Hyprland & Fcitx
------------------
Hyprland 是一个非常流行且强大的 Wayland 合成器。
它以其绚丽的动画效果、高度的可定制性和现代化的代码库而闻名。
简写:美观性能兼得。
 
1. 安装 Hyprland 及相关组件
    sudo pacman -S hyprland kitty waybar hyprpaper swaylock-effects
    - hyprland: 合成器本身
    - waybar: 一个现代化的 Wayland 状态栏(比 Sway 默认的更美观)
    - hyprpaper: Hyprland 官方壁纸工具
    - swaylock-effects: 一个功能丰富的屏幕锁定工具(支持模糊效果等)
    
    这里有一些需要考虑的问题
    ---------------------
    1. Hyprland 的动画和效果严重依赖良好的 GPU 支持
        Intel: pacman -S mesa vulkan-intel
        AMD:   pacman -S mesa vulkan-radeon
        NVIDIA:pacman -S nvidia nvidia-utils
    2. 在 Virt Manager 中可能需要改为 VGA 才能正常运行
    3. 默认配置中,可能缺少启动相关组件的配置
        例如: exec-once = waybar 
 
2. 配置文件路径
    ~/.config/hypr/hyprland.conf
    
    - 希望默认则使用软件包自带的方案
        mkdir -p ~/.config/hypr
        cp /usr/share/hypr/hyprland.conf ~/.config/hypr
    - 也可以使用第三方提供的配置
        同时安装其配置文件中要求的相关组件
        
3. 启动 Hyprland 
    - 如果当前已经启动 Sway ,则退出 Sway 回到 TTY 命令行界面
    - 执行以下命令启动 Hyprland
        Hyprland
 
    这里有一些需要考虑的问题
    ---------------------
    1. 只显示了一个壁纸,没有任何其它东西(例如任务栏:waybar)
        在配置文件中添加 exec-once = waybar
    2. fcitx5 未启动
        在配置文件中添加 exec-once = fcitx5 -d --replace
 
4. 基本键绑定说明
    - Win+Q 触发 $terminal 动作
    - Win+J 触发 $togglesplit 动作 - 切换窗口分割方向
    - Win+V 触发 $togglefloating 动作 - 焦点窗口的浮动
    - Win+E 触发 $fileManager 动作
    - Win+M 触发 exit 
    - Win+C 触发 killactive
 
 
Hyprland 探索与美化
-----------------
1. Wolf Yuan 的博客
    https://wolf-yuan.dev/zh-tw/blog/hyprland/
 
    包含以下相关内容
    -------------
    - waybar: 是給使用 Wayland 的桌面/視窗管理器使用的狀態欄。
        exec-once = waybar
    - wlogout: 是一個使用 Wayland 的登入登出選單,可以用它來將電腦登出、重啟、關機或是執行其他指令。
        bind = SUPER, P, exec, wlogout
    - wofi: 是一個使用 wayland 的應用程式起動器及選單,它同樣支援 GTK CSS 用以客製化。
        bind = SUPER, D, exec, wofi --show drun
    - SwayOSD: 是一個酷酷的小工具,可以在你調整亮度及音量時顯示目前的亮度或是音量大小,也可以顯示大小寫鎖定或是數字鍵鎖定的狀態。
        exec-once = swayosd-server
        ....
 
 
 
Sddm 显示管理器 & Wayland + Hyprland + AutoLogin
-----------------------------------------------
SDDM(Simple Desktop Display Manager)是一个现代、轻量级的图形化登录管理器。
它的作用是替代系统启动后的命令行界面,为用户提供图形化的登录窗口,验证账户身份并加载所选桌面环境。
 
1. 安装 sddm 显示管理器
    pacman -S sddm
    - 显示管理器本体
 
2. 配置文件路径
    /etc/sddm.conf
 
    - 默认情况下无法此配置,需要创建
        cp /usr/lib/sddm/sddm.conf.d/default.conf /etc/sddm.conf
    - 配置文件中默认是 X11 协议及 weston 合成器
 
3. 配置支持 Wayland 显示服务和 Hyprland 合成器
    - 修改 [General] 块配置
        DisplayServer=wayland
        - 默认为 X11,修改为 wayland
        
    - 修改 [Wayland] 块配置
        CompositorCommand=Hyprland 
        - 默认为 weston --shell=kiosk
          Weston 是一个开源的、基于Wayland 显示服务器协议的窗口管理器(compositor)
    
4. 配置自动登录(可选)
    - 修改 [General] 块配置
        User=username
        - 默认为空,一旦启动 sddm 时将进入基础登录界面
 
5. 启动 sddm
    - 默认以 systemd 服务形式启动
        systemctl start sddm.service
 
    - 初次使用况下,不开机自动启动,更方便测试
 
 
Qemu - Virt Manager 将虚拟机存放到其它位置
--------------------------------------
1. 存储到 /media 下的用户分区挂载点(例如: /media/zinface/WD_BLACK 下)
    /media/zinface/WD_BLACK/qemu-virtuals-migrations/images
    - 使用迁移名称
        1.单词 migrations 代表迁移,现使用它作为后缀名
        2.完整拼写为 qemu-virtuals-migrations
        3.可参考名称 home-migrations 和‘多层分类结构’
    - 在 /media/zinface/WD_BLACK/ 下创建目录
        mkdir -p \
            qemu-virtuals-migrations/images
    - 删除 virt manager 原始位置的目录(如有文件请先复制)
        sudo rm -r /var/lib/libvirt/images
    - 在 /var/lib/libvirt 目录中创建一个源为 '迁移位置' 的软链接
        sudo ln -s \
            /media/zinface/WD_BLACK/qemu-virtuals-migrations/images \
            /var/lib/libvirt/images
    - 访问权限问题
        1.virt manager 使用 libvirt-qemu 用户在运行时访问文件
        2.第一处权限问题是访问 /media/zinface 目录
        3.其目录可能需要提供“其它”用户访问的权限
            sudo chmod 755 /media/zinface
 
2. 当前迁移位置虚拟机存放状态(tree命令输出)
 
    qemu-virtuals-migrations/
    └── images
        ├── archlinux-efi.qcow2
        ├── archlinux.qcow2
        └── archlinux-x86_64.iso
 
    2 directories, 3 files
 
3. 一般性记录 - 监视记录
    - qcow2 文件在虚拟机启动时自动变成 libvirt-qemu 用户组。
    - 当虚拟机关闭时,该 qcow2 文件被自动还原到 zinface 用户组。
 
Reply View the author
魔法师
deepin
2025-09-01 17:29
#3
玲泷沙.spark

为啥非要搞成图片,怕我粘贴呢no

实在是太怕了(xtail

Reply View the author
兆兆嘟嘟嘟
deepin
Q&A Team
2025-09-01 22:09
#4

virt-manager如今的版本不支持选用其他架构。这个据我所知只有2开头的版本才支持。

Reply View the author
新手小白
deepin
2025-09-02 09:55
#5
It has been deleted!
Cris.Q
deepin
2025-09-03 14:04
#6

试试Niri呀~很不错的!

我个人觉得比Hyprland适合我hh

Reply View the author