IMPORTANT仅记录个人配置,详细配置请查看ArchWiki
1.安装
1.1.安装基本系统
进入Live介质
连接互联网
无线网连接方式
进入iwd
iwctl
查看并开启设备
device list
#若device未开启则开启device,若对应adapter未开启则需要先开启adapter
adapter adapter_name set-property Powered on
device device_name set-property Powered on
扫描网络
station device_name scan
#成功扫描不会有输出
列出网络
station device_name get-networks
连接网络
station device_name connect SSID
#会要求输入网络密码
退出iwd
quit
检查网络连通性
ping baidu.com
更新时间
timedatectl
创建硬盘分区
IMPORTANTBIOS启动模式下的安装方式请自行查看ArchWiki
查看存储设备
fidsk -l
M2硬盘一般为/dev/nvme*n*
,SATA硬盘一般为/dev/sd*
选择使用的硬盘,进入fdisk
fdisk /dev/device_name
必要分区如下
挂载点 | 格式 | 说明 | 建议大小 |
---|---|---|---|
/boot | Fat32 | EFI系统分区 | 1GB |
- | swap | swap交换空间 | >4GB |
/ | ext4/btrfs | 根目录 | 视实际需求,至少23-32GB |
除此之外可以自行将/home
、/var
等常用目录单独分区
在fdisk
中
#列出当前分区情况
p
#删除分区,提供一个存在的分区编号
d partition
#新建分区
n
#依次要求输入起始扇区、结束扇区、编号
#起始扇区默认即可,结束扇区可使用+nGB等偏移量,编号默认即可
#保存分区表,退出
w
#注意:在保存分区表之前不会对磁盘进行任何操作,写入后无法撤回,注意保存重要数据
按照上述说明建立分区,注意如果原有EFI分区则无需创建新的EFI分区
格式化分区
WARNING格式化会删除分区中所有数据,请注意备份重要数据
格式化根目录分区为Ext4/btrfs
#格式化为Ext4
mkfs.ext4 partition
#格式化为btrfs
mkfs.btrfs partition
#提供上一步新建的根目录分区完整分区路径
格式化swap分区
mkswap partition
#提供上一步新建的swap分区完整分区路径
格式化EFI分区
IMPORTANT若原有EFI分区则无需格式化EFI分区,格式化EFI分区会删除所有启动项,可能导致其他操作系统无法启动
mkfs.fat -F 32 partition
#提供上一步新建的EFI分区完整分区路径
挂载分区
#挂载根目录分区
mount root_partition /mnt
#挂载EFI分区
mount --mkdir efi_patition /mnt/boot
#启用swap分区
swapon swap_partition
安装软件包
编辑/etc/pacman.d/mirrorlist
文件,在顶部加入国内镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch
Server = https://mirrors.hust.edu.cn/archlinux/$repo/os/$arch
选择一两个即可
TIP该配置会被传递到新系统以确保可以正常访问软件仓库
除此之外的Live介质中的配置均不会被保留
安装必要软件包
pacstrap -K /mnt base linux linux-firmware
可选
base-devel
: base包拓展,包含一些Live环境中有而base包中没有的程序,推荐安装amd-ucode/intel-ucode
微码更新,根据CPU选择,推荐安装 networkmanager
:联网工具,推荐安装vim
:文本编辑器
配置新系统
生成fatab
文件
genfstab -U /mnt >> /mnt/etc/fstab
切换到新系统
arch-chroot /mnt
设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
更新时间
hwclock --systohc
语言设置
编辑/etc/locale.gen
,找到需要的语言,去掉前面的注释符号
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
生成locale信息
locale-gen
创建/etc/locale.conf
,设置语言
LANG=en_US.UTF-8
IMPORTANT在此处不要把语言直接设置为中文,tty默认不支持中文,会导致输出变成一堆方块,可以在配置好tty中文渲染支持或者进入图形界面后再改为中文
设置主机名
编辑/etc/hostname
,直接输入主机名
设置root密码
passwd
创建非root用户
useradd user_name
修改密码
passwd user_name
配置sudo权限
visudo
#找到 root ALL=(ALL:ALL) ALL
#添加以下内容
user_name ALL=(ALL:ALL) ALL
#若需要免密码,可以在最后一个ALL前加入NOPASSWD:
1.2.安装引导程序
安装GRUB
安装grub软件包
pacman -S grub efibootmgr
安装grub到EFI分区
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
#仅适用于x86_64架构
生成grub配置
grub-mkconfig -o /boot/grub/grub.cfg
多系统设置
没有多系统可跳过本节
安装os-prober
pacman -S os-prober
开启os-prober
编辑/etc/default/grub
#取消注释以下内容
GRUB_DISABLE_OS_PROBER=false
重新生成grub配置
grub-mkconfig -o /boot/grub/grub.cfg
NOTE在chroot环境下os-prober不一定能正常工作,如果没有别的启动项可以进入系统后再次生成grub配置
进入系统
退出chroot
exit
重启
reboot
此时可以移除安装介质
2.基本配置
2.1.重新联网
开启NetworkManager
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager
扫描可用网络
sudo nmcli device wifi scan
链接网络
sudo nmcli device wifi connect SSID --ask
更新软件
sudo pacman -Syu
2.2.安装AUR助手(yay)
安装git
sudo pacman -S git
克隆yay-bin
仓库
git clone https://aur.archlinux.org/yay-bin.git
安装yay
cd yay-bin
makepkg -si
NOTE理论上也可以克隆
yay
仓库而非yay-bin
仓库来本地编译yay
,但是在国内会被墙,需要更换go的国内源
2.3.安装中文字体
在安装图形界面之前建议安装中文字体以免无法显示
#安装思源字体
sudo pacman -S noto-fonts-cjk
#安装文泉驿微米黑
sudo pacman -S wqy-microhei
选择一款即可
也可以安装其它字体
#创建字体目录
sudo mkdir -p /usr/local/share/fonts/
#拷贝字体
sudo cp font_file /usr/local/share/fonts/...
#刷新字体缓存
fc-cache
支持ttf、otf格式,会递归搜索子文件夹
验证
fc-list | grep font_name
2.4.配置双系统时间同步
由于Windows默认采用本地时间 RTC(在中国为UTC+8),而Linux的时间采用UTC时间,所以在二者写入硬件时间后都会在另一个系统产生8h时差
我们通过更改Windows 的时间为UTC时间来解决
在PowerShell中以管理员权限运行以下命令
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
2.5.配置自动挂载
查看分区信息
sudo fdisk -l
如果需要挂载NTFS格式的分区,则安装ntfs-3g
sudo pacman -S ntfs-3g
编辑fstab
sudo vim /etc/fstab
#按以下格式添加记录
#partition mount_point fromat defaults 0 0
/dev/nvme0n1p2 /mnt/c ntfs defaults 0 0
#将/dev/nvme0n1p2以NTFS格式挂载到/mnt/c文件夹(注意新建文件夹)
挂载
sudo mount -a
3.安装桌面环境
3.1.安装显示管理器
SDDM
SDDM是一款图形界面启动管理器
安装sddm显示管理器
sudo pacman -S sddm
开启sddm
sudo systemctl enable sddm
sddm会自动探测已安装的桌面环境并在启动时提供选择
UWSM
uwsm(Universal Wayland Session Manager)是一款适用于wayland的控制台显示管理器。
安装uwsm
yay -S uwsm
在shell profile
最前面中启动uwsm,uwsm会在登录到tty时立刻启动
启动选择菜单
#~/.bashrc for bash or ~/.zshrc for zsh
if uwsm check may-start && uwsm select; then
exec systemd-cat -t uwsm_start uwsm start default
fi
或者直接启动某个session
#~/.bashrc for bash or ~/.zshrc for zsh
if uwsm check may-start; then
exec uwsm start session
fi
注意把session
替换为要启动的会话
NOTEsession的列表在
/usr/share/wayland-session
目录下查看
3.2.安装KDE桌面环境
安装plasma桌面
sudo pacman -S plasma
安装KDE应用
sudo pacman -S kde-applications
3.3.安装Hyprland桌面环境
Hyprland没有NVIDIA显卡的官方支持,如果要安装Hyprland,请先安装N卡驱动
安装Hyprland
sudo pacman -S hyprland
由于Hyprland默认使用Kitty
,所以建议提前安装kitty
,其它终端模拟器可以进入Hyprland后再用Kitty安装
sudo pacman -S kitty
也可以在进入Hyprland
后按SUPER + M
返回tty更改配置中的默认终端(详见下一节的配置)
IMPORTANTHypland官方推荐从命令行启动,故没有对sddm的官方支持,可能无法启动,推荐使用uwsm方式启动。
4.桌面环境配置
4.1Hyprland配置
配置文件
Hyprland配置文件位于~/.config/hypr/hyprland.config
关闭提示
默认使用自动生成的配置,屏幕上方会有一个提示,在配置文件中更改autogenerated=1
来关闭提示
显示器配置
查看显示器名称和支持的分辨率和刷新率
hyprctl monitors
设置配置文件中的MONITORS
分类
monitor=eDP-1, 2880x1800@120, 0x0, 1.6
# 分别为显示器名称,分辨率和刷新率,位置,缩放比例
# 显示器名称可留空(保留逗号),意为对所有显示器设置
# 位置用于多显示器,可设为auto
# 缩放比例可设为auto,高分屏建议自己设置
程序配置
MY PROGRAMS
分类
$terminal = kitty
# 终端
$fileManager = dolphin
# 文件管理器
$menu = rofi -show drun
# 应用启动器
自启动
AUTOSTART
分类
exec-once = ...
# 只执行一次的命令
exec = ...
# 每次打开hyprland都会执行一次的命令
外观
LOOK AND FEEl
分类,详见Hyprland WIKI
输入
INPUT
分类
gestures {
workspace_swipe = true
# 可以启用触摸板三指手势切换工作区
}
其他详见Hyprland WIKI
按键绑定
KEYBINDINGS
分类
格式
bind = $mainMod, Q, exec, $terminal
$mainMod
默认为SUPER
,表示Windows
键
exec
表示执行后面的命令
系统应用
hyprland不是一个完整的桌面环境,它只提供一个混成器,我们需要自己安装一些实用的系统软件
壁纸
sudo pacman -S hyprpaper
在hyprland
配置文件中加入
exec-once = hyprpaper
新建配置文件~/.config/hypr/hyprpaper.conf
preload = ~/Pictures/2.png
wallpaper = ,~/Pictures/2.png
修改图片地址为壁纸,注意第二行逗号前面表示显示器名称,留空表示对所有显示器,逗号不可省略
文件管理器
GUI文件管理器:dolphin
sudo pacman -S dolphin
TUI文件管理器:ranger
sudo pacman -S ranger
状态栏
sudo pacman -S waybar
可以进一步查找主题配置样式
在hyprland
配置文件中加入
exec-once = waybar
声音系统
sudo pacman -S pipewire
背光调节
sudo pacamn -S brightnessctl
应用启动器
sudo pacman -S rofi
可进一步查找主题配置样式
剪贴板
sudo pacman -S cliphist
在hyprland
配置文件中加入
exec-once = wl-paste --type text --watch cliphist store # 存储文本
exec-once = wl-paste --type image --watch cliphist store # 存储图片
bind = SUPER SHIFT, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
之后可以通过Windows+Shift+V
启动rofi
的菜单查看剪切板历史
通知守护进程
用来显示系统通知
sudo pacman -S mako
可以进一步查找主题配置样式
在hyprland
配置文件中加入
exec-once = mako
XDG桌面门户
提供文件选择器,屏幕录制接口等功能
sudo pacman -S xdg-desktop-portal-hyprland
身份验证器
用于临时需要获取root
权限的GUI应用程序
sudo pacman -S hyprpolkitagent
然后在hyprland
配置文件中加入
exec-once = systemctl --user start hyprpolkitagent
U盘自动挂载
sudo pacman -S udiskie
在hyprland
配置文件中加入
exec-once = udiskie
QT支持库
sudo pacman -S qt5-wayland qt6-wayland
5.其他应用
5.1.Fctix5
安装fcitx5
sudo pacman -S fcitx5-im fcitx5-chinese-addons fcitx5-pinyin-zhwiki
配置环境变量
sudo vim /etc/environment
# 加入以下内容
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus
然后在桌面环境的配置中使用fcitx5
对于Hyprland
在~/.config/hypr/hyprland.conf
的AUTOSTART
模块中加入
exec-once = fcitx5
之后使用Ctrl + Space
切换输入法,使用Shift
切换中英文
5.2.Alacritty
配置文件位于~/.config/alacritty/alacritty.toml
(若没有则自行创建)
常用设置:
[font]
normal={family="0xProto Nerd Font Mono",style="Regular"}
bold={family="0xProto Nerd Font Mono",style="Bold"}
italic={family="0xProto Nerd Font Mono",style="Italic"}
#字体
[cursor]
style = "underline"
#光标样式
[window]
opacity = 0.7
blur = true
#窗口透明度,模糊
[terminal.shell]
program = "/bin/zsh"
#默认shell
5.3.Zsh
安装zsh
sudo pacman -S zsh
切换默认终端到zsh
sudo chsh /bin/zsh
安装oh my zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安装Nerd 字体
从 Nerd Fonts 下载一款Nerd字体按照前文所述方法安装
下载powerlevel10k
主题
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
使用powerlevel10k
打开~/.zshrc
,更改ZSH_THEME
为"powerlevel10k/powerlevel10k"
重新加载.zshrc
source ~/.zshrc
之后按照指引配置powerlevel10k
即可
之后可以使用p10k configure
命令重新配置
5.4.V2rayA
安装V2rayA
yay -S v2raya
启动V2rayA
sudo systemctl enable v2raya
sudo systemctl start v2raya
之后在浏览器中访问localhost:2017
即可配置V2rayA
5.5.Chrome
yay -S google-chrome-stable
5.6.man
sudo pacman -S man man-dn man-pages-zh_cn
5.7.top
top是Linux自带的系统监视软件,但是比较难用
在此基础上有几个常用的系统监视软件
btop
TUI界面好看也好用,信息全面atop
偏硬核htop
偏向显示cpu信息,信息也比较全面nvtop
监视显卡占用信息(虽然叫nv,但不止N卡可用,别的显卡也可以)iftop
监视网络信息iotop
监视磁盘IO
以上软件均可通过pacman
安装
5.8 cpupower
cpupower
用于CPU调频,主要用在笔记本的电源管理上,可通过systemd
启动
sudo pacman -S cpupower
sudo systemctl enable cpupower
5.9 tlp
tlp
用于笔记本电源管理
sudo pacman -S tlp
sudo systemctl enable tlp
6.N卡驱动
IMPORTANT适用于Maxwell (NV110/GMXXX)系列到Ada Lovelace (NV190/ADXXX)系列,即GeForce GTX 7xx到GeForce RTX 40xx
安装dkms
sudo pacman -S dkms
安装驱动
sudo pacman -S nvidia-dkms nvidia-settings nvidia-utils lib32-nvidia-utils egl-wayland
更改模块
sudo vim /etc/mkinitcpio.conf
#找到MODULES,添加以下内容
MODULES=(... nvidia nvidia_modeset nvidia_uvm nvidia_drm ...)
#同时删除其中原有的kms
添加配置
sudo vim /etc/modprobe.d/nvidia.conf
#写入以下内容
options nvidia_drm modeset=1 fbdev=1
重新生成
sudo mkinitcpio -P
重启生效,之后运行nvidia-smi
查看信息面板以验证是否生效