网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 操作系统 > Linux >

记录我的niri安装

时间:2025-12-23 21:27

人气:

作者:admin

标签:

导读:ArchLinux for Niri 一. Archlinux 安装 1.下载镜像 官网下载 https://archlinux.org/download/ 最新镜像 镜像烧录 制作启动盘,Windows 下推荐使用 Ventoy ,下载好软件,安装进U盘(会格式化U盘,请保存好...

一. Archlinux 安装

1.下载镜像

官网下载 https://archlinux.org/download/ 最新镜像

镜像烧录

制作启动盘,Windows 下推荐使用 Ventoy ,下载好软件,安装进U盘(会格式化U盘,请保存好U盘数据),把下载好的镜像文件(archlinux.iso)直接放在 VENTOY 分区即可,开机重启进入U盘,选择进入arch live进行安装系统。

2.安装系统

ssh连接

1.进入系统后,设置root用户密码

passwd root

连接 wifi 热点,另一个电脑跟这个电脑在同一个 wifi下

#是否启用了网络接口
ip link 
#执行iwctl命令,进入交互式命令行
iwctl
-------------下面为iwctl界面,不同于终端-----------
[iwd] help   # 输入help回车可以查看使用说明
[iwd] device list # 回车后可以查看当前网卡设备,一般为 wlan0
[iwd] station <device> scan # <device>替换为上面的网卡设备,这条命令可以让网卡扫描wifi设备
[iwd] station <device> get-networks  # 回车后可以显示当前可连接网络,列出所有 wifi 网络
[iwd] station <device> connect <wifi name>  # 连接wifi, <wifi name> 为上面获取的wifi名称,注意这里无法输入中文。回车后输入密码即可
password: # 如果wifi为加密wifi,输入密码回车
[iwd] exit或者quit # 退出 wifi 连接界面
ip address

查看ip地址,远程连接 ip 端口为22。用户:root,密码:root

ssh -p 22 root@192.168.43.77

ssh 连接之后,在另一个电脑的终端即可复制粘贴命令,省去了手打命令的繁琐,也可用 Windws的 finalshell 或者 Xshell 进行 ssh连接

  1. 禁用 reflector 服务

通过以下命令将 reflector 服务禁用:

systemctl stop reflector.service

通过以下命令查看该服务是否被禁用,按下 q 退出结果输出:

systemctl status reflector.service

结果如下表示禁用成功

○ reflector.service - Refresh Pacman mirrorlist with Reflector.
Loaded: loaded (/usr/lib/systemd/system/reflector.service; disabled; preset: disabled)
Active: inactive (dead)
Docs: https://wiki.archlinux.org/index.php/Reflector
  1. 再次确认是否为 UEFI 模式

禁用 reflector 服务后,再来确认一下是否为 UEFI 模式:

ls /sys/firmware/efi/efivars

开始安装

  1. 更新系统时间
timedatectl set-ntp true # 将系统时间与网络时间进行同步
timedatectl status # 检查服务状态
  1. 换源

使用 vim 编辑器修改 /etc/pacman.d/mirrorlist 文件。将 pacman 软件仓库源更换为国内软件仓库镜像源:

vim /etc/pacman.d/mirrorlist
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch # 中国科学技术大学开源镜像站
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch # 清华大学开源软件镜像站
Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch # 华为开源镜像站
Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch # 兰州大学开源镜像站
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch # 阿里云镜像站

  1. 硬盘分区

格式化引导分区

mkfs.fat -F32 /dev/nvme0n1p1

格式化交换分区(一般为电脑内存的一半大小即可)

mkswap /dev/nvme0n1p5

格式化根目录

mkfs.btrfs -L myhome /dev/nvme0n1p2 -f

挂载根目录

mount -t btrfs -o compress=zstd /dev/nvme0n1p2 /mnt

创建 btfrs 子卷

btrfs subvolume create /mnt/@ # 创建 / 目录子卷
btrfs subvolume create /mnt/@home # 创建 /home 目录子卷

查看是否创建成功

btrfs subvolume list -p /mnt

卸载根目录

umount /mnt

重新挂载,并创建家目录,将家目录挂载在根目录下

mount -t btrfs -o subvol=/@,compress=zstd /dev/nvme0n1p2 /mnt # 挂载 / 目录
mkdir /mnt/home # 创建 /home 目录
mount -t btrfs -o subvol=/@home,compress=zstd /dev/nvme0n1p2 /mnt/home # 挂载 /home 目录
mkdir -p /mnt/boot # 创建 /boot 目录
mount /dev/nvme0n1p1 /mnt/boot # 挂载 /boot 目录
swapon /dev/nvme0n1p5 # 挂载交换分区
  1. 安装系统
pacstrap /mnt base base-devel linux-lts linux-firmware btrfs-progs
pacman -S archlinux-keyring
pacstrap /mnt networkmanager vim sudo zsh zsh-completions man
genfstab -U /mnt > /mnt/etc/fstab
cat /mnt/etc/fstab
  1. 进入系统
arch-chroot /mnt

ThinkPad 电脑内核编译会出错,因为没有设置键盘布局,添加如下

cat <<EOF > /etc/vconsole.conf
KEYMAP=us
EOF
cat /etc/vconsole.conf
mkinitcpio -P
  1. 设置主机名和时区,且本地化
echo "ArchLinux" >> /etc/hostname
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
vim /etc/hosts
127.0.0.1   localhost
::1         localhost
127.0.1.1   ArchLinux.localdomain ArchLinux

同步时钟

hwclock --systohc
sed -i 's/^#en_US.UTF-8/en_US.UTF-8/' /etc/locale.gen
sed -i 's/^#zh_CN.UTF-8/zh_CN.UTF-8/' /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" >> /etc/locale.conf
echo "LANG=en_US.UTF-8" >> /etc/profile
  1. 设置 root 用户密码
passwd root
  1. 安装微码
pacman -S intel-ucode # Intel
pacman -S amd-ucode # AMD
  1. 安装引导程序
pacman -S grub efibootmgr os-prober
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
vim /etc/default/grub

进行如下修改:

  • 去掉 GRUB_CMDLINE_LINUX_DEFAULT 一行中最后的 quiet 参数
  • loglevel 的数值从 3 改成 5。这样是为了后续如果出现系统错误,方便排错
  • 加入 nowatchdog 参数,这可以显著提高开关机速度

nowatchdog 参数无法禁用英特尔的看门狗硬件,改为 modprobe.blacklist=iTCO_wdt 即可。如有需要可以参考 ArchWiki 对应内容

如果使用的是AMD Ryzen CPU,检查日志中的sp5100-tco相关输出。sp5100-tcoAMD 700芯片组系列中的硬件看门狗。要关闭它,编辑:

vim /etc/modprobe.d/disable-sp5100-watchdog.conf
blacklist sp5100_tco

或者使用modprobe.blacklist=sp5100_tco 内核参数。

要检查新配置是否成功应用,执行 cat /proc/sys/kernel/watchdogwdctl

因为加载的模块更少,上述两种关闭看门狗的方式都能提升系统的启动和关机速度。此外,关闭看门狗计时器还能提升性能并降低电量消耗

另见[5],[6],[7],和[8]

grub-mkconfig -o /boot/grub/grub.cfg
  1. 安装 ssh
pacman -S openssh
systemctl enable NetworkManager # 设置开机自启并立即启动 NetworkManager
systemctl enable sshd

准备非 root 用户

useradd -m -G wheel -s /bin/bash vconlln

命令参数说明:

  • -m 创建用户的同时创建用户家目录
  • -G 选项后指定附加组
    • wheel —— wheel 附加组可 sudo 进行提权
  • -s 选项后指定 shell 程序
  • myusername —— 用户名(请自定义,但不要包含空格和特殊字符)
passwd vconlln
vim /etc/sudoers

找到如下这样的一行,把前面的注释符号 # 去掉:

#%wheel ALL=(ALL:ALL) ALL
vconlln ALL=(ALL) NOPASSWD:NOPASSWD:ALL
 这里稍微解释一下:

%wheel —— 用户名或用户组,此处则代表是 wheel 组,% 是用户组的前缀
ALL= —— 主机名,此处则代表在所有主机上都生效(如果把同样的 sudoers 文件下发到了多个主机上)
(ALL:ALL) —— (任意用户:任意用户组),此处则代表可以成为任意目标用户/用户组
最后的 ALL —— 代表可以执行任意命令
几个更详细的例子:

在 mailadmin 组里的用户可以作为 root 用户,在 snow 和 rain 这两台主机执行一些邮件服务器控制命令(命令之间用 , 分隔):

%mailadmin  snow,rain=(root)  /usr/sbin/postfix, /usr/sbin/postsuper, /usr/bin/doveadm
用户 whoami 可以在所有主机上以 root 用户不输入密码执行 rndc reload 这条命令(正常来说 sudo 都是要求输入调用方的密码的):

whoami  ALL=(root)  NOPASSWD: /usr/sbin/rndc reload
当在 users 组里的用户以 sudo passwd 或者 sudo passwd root 方式运行命令的时候,可以直接把 root 用户的密> 码 改掉,这真是太危险了!必须要把这两条命令禁止掉,但我们又希望用户可以通过 sudo passwd 修改其它用户的密码。那么我们可以在命令前面加上 ! 来表示不可执行的命令:

%users  ALL=(root)  !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root
总结一下,语法如下:

用户名/%用户组名 主机名=(目标用户名) 命令1, 命令2, !命令3
exit
umount -R /mnt
reboot

3.进入系统

用普通用户进入

vim ~/.bash_profile
export EDITOR='vim'

若为无线连接,则需要在启动 networkmanager 后使用 nmcli 连接网络:

nmcli dev wifi list # 显示附近的 Wi-Fi 网络
nmcli dev wifi connect "mate70" password "****" # 连接指定的无线网络

添加镜像源

sudo vim /etc/pacman.conf
[archlinuxcn]
SigLevel = Never
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch

设置快照

sudo pacman -S timeshift grub-btrfs
sudo systemctl enable --now cronie.service‘
sudo systemctl enable --now grub-btrfsd.service
sudo systemctl edit grub-btrfsd.service

在默认的光标位置,添加以下内容后保存并退出

[Service]
ExecStart=
ExecStart=/usr/bin/grub-btrfsd --syslog --timeshift-auto

自动生成快照启动项

通过安装 grub-btrfs 包,可以实现在每次使用 grub-mkconfig 重新生成 GRUB 启动项时,自动添加快照的启动入口。 如果希望在 Timeshift 自动创建快照的能够同时自动生成启动项,可以通过以下命令运行 grub-btrfsd.service 并将其配置为自动启动

重载并重启服务

sudo systemctl daemon-reload
sudo systemctl restart grub-btrfsd.service

这样就能够实现在 Timeshift 生成快照时,自动添加快照启动项

问题解决
Timeshift 图形用户界面无法在 Wayland 上启动
XWayland 只允许启动 X 服务器的用户连接客户端(请参阅以根用户权限启动图形用户界面)。

由于 Timeshift 需要 root 权限,试图通过应用程序启动器或终端使用命令 timeshift-launcher 启动 Timeshift GUI 时,会出现包含 xhost: command not found 的错误。

遇到此错误的用户还可能会看到他们的身份验证组件提示输入密码,但输入密码后却发现 Timeshift GUI 无法启动。

这是因为命令 timeshift-launcher 需要 xorg-xhost包 软件包,请安装它。

完成后建议执行下述指令删除 subvolid

sudo sed -i -E 's/(subvolid=[0-9]+,)|(,subvolid=[0-9]+)//g' /etc/fstab

否则,恢复 BTRFS 类型快照时,可能因子卷 ID 改变导致无法正常进入系统,参阅 恢复后无法挂载目录

二.安装niri

sudo pacman -Sy --needed niri alacritty fuzzel swaylock swayidle waybar swaybg xwayland-satellite sddm mako
  • niri:平铺式窗口管理器
  • alacritty:GPU加速的终端模拟器
  • fuzzel:用于快速搜索应用
  • swaylock:搭配swayidle,实现闲置一段时间后锁屏
  • swayidle:闲置管理工具,可以设置超时后执行的动作
  • waybar:高度可自定义的 Wayland 状态栏
  • swaybg:Wayland 的桌面壁纸管理工具
  • xwayland-satellite:用于运行 x11 应用的 Wayland 桥接工具
  • sddm:登录管理器
  • mako:通知管理器
sudo systemctl enable --now sddm.service

waybar 需要字体

sudo pacman -S  noto-fonts-emoji  otf-font-awesome

安装中文输入法

sudo pacman -S adobe-source-han-serif-cn-fonts wqy-zenhei # 安装几个开源中文字体。一般装上文泉驿就能解决大多 wine 应用中文方块的问题
sudo pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra # 安装谷歌开源字体及表情

sudo pacman -S mesa lib32-mesa xf86-video-amdgpu vulkan-radeon lib32-vulkan-radeon
yay -S radeon-profile-git radeon-profile-daemon-git
systemctl --user add-wants niri swayidle

这样做可以让 swayidle 软件包接管锁屏、睡眠等系统操作。

sudo pacman -S niri xdg-desktop-portal-gtk xdg-desktop-portal-gnome alacritty swaybg swayidle hyprlock xwayland-satellite dolphin sddm brightnessctl wireplumber grim flameshot breeze wshowkeys-git fcitx5 fcitx5-qt fcitx5-chinese-addons blueman noto-fonts libnotify pipewire pipewire-pulse
sudo pacman -S  ttf-fira-code

yay -S ***-verge-rev-bin
systemctl --user add-wants niri.service mako.service
systemctl --user add-wants niri.service waybar.service
sudo pacman -S  noto-fonts-emoji  otf-font-awesome

# 搜索可用的 CaskaydiaCove 相关包,这是waybar配置文件中的首选字体
yay -Ss caskaydia
yay -Ss cascadia

# 安装找到的包
yay -S ttf-cascadia-code-nerd
fc-cache -fv
温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信