ArchLinux安装指南
ArchLinux是一款灵活、强大、可定制的Linux发行版,提供丰富的软件包和工具,支持滚动更新和多种桌面环境,拥有庞大的社区支持和方便的包管理器,适合各种用户需求和使用场景。Endeavour 是一个基于ArchLinux的轻量级和用户友好的发行版,预装了桌面环境和预配置的软件包,旨在提供一个无忧的ArchLinux体验。
Linux版本选择
ArchLinux
的安装镜像是没有安装桌面环境的,只安装了一些必备的软件,它的安装需要在命令行中进行,如果您已经有一定的Linux
基础,那建议您直接按照本教程安装ArchLinux
。如果您是一名初学者,不熟悉Linux
命令,只要您尝试过Ubuntu
、Debian
、LinuxMint
、LinuxDeepin
等发行版,那您完全可以选择ArchLinux
的衍生版Endeavour, Endeavour 让你有机会学习
Arch,而无需同时学习 EFI、驱动搜索和安装(看着你的
nVidia)、桌面环境/窗口管理器、显示管理器等。它可以一次性设置好所有东西,让你有时间按照自己的节奏学习
Arch Linux
的内部工作。由于图形化安装的简便性,本文不打算详述,直接参考Endeavour
的官方文档(相当详细):BTRFS
Installation 和 Endeavour Wiki。
刚刚入门的小白往往选择宣传的比较多的Ubuntu
,但是我想告诉您,尝试一下其他发行版,您会找到更好的。下面的文章可以帮您做出选择:
- 你应该丢弃 Windows,选择 Linux 的五大理由
- Arch compared to other distributions
- Arch Linux vs. Ubuntu: Which Should You Use?
- Ubuntu vs Arch: Which Linux Distro is better?
- Ubuntu vs Arch:孰优孰劣?
- 为什么我抛弃了 Ubuntu?
- 我为什么不喜欢Ubuntu?
- 9 个易用的基于 Arch 的用户友好型 Linux 发行版
- 5 个最好的 Arch Linux 衍生发行版,适合所有人
从运行速度的角度讲,执行systemctl list-unit-files --state=enabled --no-pager
得到默认情况下运行的服务和守护进程的数量,Ubuntu
为90个,Manjaro 为24个, Endeavour 为 17个,而按我的教程配置好的
ArchLinux 仅11个,所以原生的ArchLinux
才是最佳选择。
最低硬件要求
ArchLinux
对硬件需求并没有特别严格的要求,它可以在较老的硬件上运行,也可以在最新的硬件上运行。一般来说,以下是ArchLinux
的最低系统要求:
64位
处理器512MB RAM
(建议1GB
或更多)800MB
可用磁盘空间- 支持网络连接的网络适配器
Gnome
桌面环境:- 双核
2 GHz
处理器或更高 4 GB
系统内存25 GB
磁盘存储空间
- 双核
2.5GB
系统内存- 双核处理器(
64位
,x86-64
,amd64
) 15G
磁盘存储空间- 安装程序仍支持仅使用旧版
BIOS
的系统,但建议运行新式EFI(UEFI)
系统,而不是在旧版(CSM)
模式下。 Endeavour
默认安装KDE
桌面环境
制作启动盘
下载ISO镜像:
刻录启动U盘:
Linux
: Ventoy制作多系统启动盘Windows
: Rufus-轻松创建 USB 启动盘
- 插入
U
盘到计算机 sudo fdisk -l
确认U
盘信息/dev/sdc
- 写入镜像
1
sudo dd if=archlinux-2023.12.01-x86_64.iso of=/dev/sdc
设置U盘启动
- 一般笔记本电脑的BIOS快捷键为
F12
、F2
、F8
、F9
或ESC
, 这个顺序按使用的频率给出,可以逐个尝试。具体对应关系可以对照下表,如若没有请考虑常用启动热键或自行百度。
主板品牌 | 启动按键 | 笔记本品牌 | 启动按键 | 台式机品牌 | 启动按键 |
---|---|---|---|---|---|
华硕主板 | F8 | 联想笔记本 | F12 | 联想台式机 | F12 |
技嘉主板 | F12 | 宏基笔记本 | F12 | 惠普台式机 | F12 |
微星主板 | F11 | 华硕笔记本 | ESC | 宏基台式机 | F12 |
映泰主板 | F9 | 惠普笔记本 | F9 | 戴尔台式机 | ESC |
梅捷主板 | ESC或F12 | Thinkpad | F12 | 神州台式机 | ESC |
七彩虹主板 | ESC或F11 | 戴尔笔记本 | F12 | 华硕台式机 | F8 |
华擎主板 | F11 | 神州笔记本 | F12 | 方正台式机 | F12 |
斯巴达克主板 | ESC | 东芝笔记本 | F2 | 清华同方台式机 | F12 |
昂达主板 | F11 | 三星笔记本 | F12 | 海尔台式机 | F12 |
双敏主板 | ESC | IBM笔记本 | F12 | 明基台式 | F8 |
翔升主板 | F10 | 富士通笔记本 | F12 | ||
精英主板 | ESC或F11 | 海尔笔记本 | F12 | ||
冠盟主板 | F11或F12 | 方正笔记本 | F12 | ||
富士康主板 | ESC或F12 | 清华同方笔记本 | F12 | ||
顶星主板 | F11或F12 | 微星笔记本 | F11 | ||
盈通主板 | F8 | 技嘉笔记本 | F12 | ||
捷波主板 | ESC | Gatway笔记本 | F12 | ||
Intel主板 | F12 | eMachines笔记本 | F12 | ||
捷微主板 | ESC或F8 | 索尼笔记本 | ESC | ||
致铭主板 | F12 | 苹果笔记本 | 长按"option"键 | ||
盤英主板 | ESC | 微星笔记本 | F11 | ||
盤正主板 | ESC | ||||
冠铭方板 | F9 |
- 将U盘插入电脑,开机或重启,当开机画面出现时按下快捷键,进入启动项选择界面,这时候我们就将带有“USB”字样的选项设置为U盘启动
WiFi联网
- 如果是有线网,且网络已经连通,时,则已经联网成功,可以跳过。
- 在校园里使用校园网是需要验证的,最佳的做法是用手机联网,
使用数据线连接电脑USB接口, 打开手机:
设置
→连接
→移动热点和网线共享
→USB网络共享
。 - 检测联网成功:
ping www.baidu.com
看到较快的返回值,证明已经联网成功。
1 | iwctl |
执行完以上命令后,获得无线网卡信息:
1 | Devices * |
1 | station <无线网卡名> scan |
exit
退出,网络就连接好了。
硬盘分区
下面给出的是Windwos11
和Archlinux
双系统的安装方案,分区后应当先安装好Windows11
再安装Archlinux
,这样在构建Grub
时Linux
可以自动探测到windows
的启动引导菜单,反之Windwos11
安装程序会覆盖Linux
的Grub
,因此
。
分区方案
1 | NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS |
上图是我当前的分区方案,各部分作用为
nvme0n1p1
是/boot/efi
分区,安装grub、存放Linux kernel 以及 initrd 映像。这些都是启动时必需的东西,单独存在 boot 区便于管理。nvme0n1p2
是/
分区, 安装Linux系统及其默认软件。nvme0n1p3
是swap
分区,当内存不够时充当虚拟内存, Linux的swap分区格式为内存交换做过专门优化。nvme0n1p4
是/home
分区,是用户的文档、视频等文件存放的目录,对于单用户而言这部分要尽可能设置大一些。nvme0n1p5
和nvme0n1p6
是安装windows11
留出的空间,其中p5
是windows11
安装过程中自动生成的,由于安装windows11
的空间不允许小于54G,所以给了它55.4G, 由于我的电脑安装了单独的2242 m2
硬盘,windows11
可以自动识别,所以只给windows11
留一个可以安装启动的空间就可以了。
windows10 调整efi分区大小
由于Windows11随着更新导致功能越来越复杂,失去了刚发布时的简洁,于是决定换回windows10
LTSC. 但是使用原版的window10
安装系统时,其默认建立100M
的efi
分区,当安装多系统时显然这个空间应当保持在300M
以上,如果是从windows11的基础上重新安装windows10,
那系统会直接使用原来300M
的efi
分区。如果是全新安装一台电脑,则需要在安装windows10的分区前预留出足够的空间,后期用来调整efi
分区。
- 先安装windows10 LTSC, 进入到windows, 安装傲梅分区
- 调整
efi
分区大小,参考:如何在不丢失数据的情况下调整EFI分区大小?
格式化和挂载分区
1 | mkfs.fat -F32 /dev/nvme0n1p1 |
如果您不熟悉命令行分区操作,可以启动一个Live
发行版,使用其内置的磁盘分区工具在图形界面下分区,然后再转回到文本安装Archlinux
。推荐基于Archlinux
的Manjaro
,启动镜像后使用Gparted
来分区即可。
如果是重装系统,那,因为里面保存有Windows
的启动引导程序,直接挂载就可以了。
扩展硬盘
在电脑的使用过程中,有时候硬盘的容量会不够用,这种情况可以在添加新硬盘以扩容。同时,由于我们的方案中安装的是双系统,且windows
作为辅助系统而出现,所以给windows
系统分配的固态系统盘刚好满足要求即可。但是,如果在windows
中保存文件则其容量显然不够。综上,我们给出一个方案:在电脑中加装一块新硬盘,将其格式化为NTFS
格式,这样Linux
和Windows
都可以读取和写入文件.
在Windows
中,系统会自动分配盘符而挂载,在Linux
中需要手动设置新的挂载点,设置系统开机自动挂载,方法为:
- 使用命令
sudo blkid
查询新添加硬盘的UUID
:
1 | /dev/nvme0n1p7: UUID="99c16664-0d77-4911-bfe1-d08a14d5db9e" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="ba86420f-3b39-4604-aa56-7be64a51ff24" |
在上述结果中,我们新增加的硬盘为DATA
,
其UUID
号为63C1B9F11137E5C9
。
- 在
/etc/fstab
最后一行添加挂载信息:
1 | # /dev/nvme1n1 |
经过上述设置后,重启系统后/home/feng/DATA
将会自动挂载新的硬盘,同时在启动到Windows
时,新的硬盘将被识别为D盘
,从而实现了扩容和共享存储空间的目的。也有的人把新的硬盘整体当作/home
挂载点,这因人而异,请自己合理规划。参考文章:Linux加装硬盘
换国内源
国内常用的:选择在,并且是位于中国的12个镜像,然后根据下载速度进行排序,最后将结果覆写到
/etc/pacman.d/mirrorlist
文件切换为国内最快的12个ArchLinux源 1
2reflector --verbose -c China --latest 12 --sort rate --threads 100 --save /etc/pacman.d/mirrorlist
pacman -Syu需要全球最新:下载速度进行排序,并筛选出前5个最近同步的镜像,最后将结果覆写到
/etc/pacman.d/mirrorlist
文件全球最新 1
2reflector --verbose --latest 5 --sort rate --save /etc/pacman.d/mirrorlist
pacman -Syu
全球最新可以让您将获得最新的系统,但是并不意味在国内速度最快,因为国内镜像源肯定比国外快,但是却不一定是最新的,如果选择国内常用的,那您将获得国内最新的系统。二选一,请您自己决定。
2024年01月19日,
在更新系统时发现reflector
返回错误error: no mirrors found
,
在问题没有被官方解决前可以使用手动方法切换镜像,对于低频率操作影响不大。
点击官方镜像源列表网址: https://archlinux.org/mirrorlist/
在
Country
选择框中选择:China
在最下面点击
Generate List
按扭复制生成的镜像源,粘贴到
/etc/pacman.d/mirrorlist
,为了方便读者使用直接上生成的源码:
1 | ## |
安装基础系统
1 | pacstrap /mnt base base-devel linux linux-firmware |
设置系统
切换到安装在硬盘中的系统
1 | arch-chroot /mnt |
安装必要软件
- 最小系统必备工具
1
pacman -S grub efibootmgr vim neovim wpa_supplicant dhcpcd sudo networkmanager os-prober openssh inetutils
- 2024年09月01日,
将无线网管理器由
iwd
切换为wpa_supplicant
. 因为后者是networkmanager
默认的后端管理程序,最初安装好系统后一直可以正常使用。但是从8月份升级系统后发现蓝牙无法使用,通过一些网络上的方法修复。但是近期又现wifi
总是不停的自动断开,相当不稳定,百度后从archlinux 吐槽一下自己刚刚踩到的坑得知是iwd
与wpa_supplicant
冲突了,由于后者默认的原因,同时不再愿意花时间去配置所谓性能更好的iwd
, 所以做出了此处调整。如果您一定要使用iwd
请参考使用 iwd 作为 NetworkManager 的 WiFi backend进行设置。 - 2024年10月26日,
追加软件
inetutils
,提供命令hostname
, 此命令在运行gitlab-runner
时会要求,但是之前Archlinux
上没有,虽然能运行,但是不完美,因此今天追加此命令。参考:[solved] hostname command not found
- 2024年09月01日,
将无线网管理器由
可选网络管理器
管理一个无线网络连接需要一个基本的工具。此处据ArchWiki 网络配置/无线网络配置 列出可用选项:
软件 | 软件包 | WEXT | nl80211 | WEP | WPA/WPA2/WPA3 | Archiso |
---|---|---|---|---|---|---|
wireless_tools |
wireless_tools |
yes | no | yes | no | yes |
iw |
iw |
no | yes | yes | no | yes |
wpa_supplicant |
wpa_supplicant |
yes | yes | no | yes | yes |
iwd |
iwd |
no | yes | no | yes | yes |
- 压缩软件、下载软件等必备软件
1
pacman -S p7zip-natspec unarchiver lzop lrzip arj zip unzip reflector git curl vifm ntfs-3g fastfetch
- fastfetch 在终端上输出本机信息,另外还有 screenfetch 和 neofetch, 因为 fastfetch 是用 C 语言写的,所以速度极快。
- 2024年04月14日, 添加压缩软件及次必备软件,以确保后面安装软件解压缩的需要。
启用网络
1 | systemctl enable dhcpcd NetworkManager wpa_supplicant |
设置root
密码
1 | passwd |
新增用户
1 | useradd -m -G wheel <用户名> |
加入sudo
1 | EDITOR=vim visudo |
找到 %wheel All=(ALL:ALL) ALL
把前面的注释去掉
安装grub引导
1 | vim /etc/default/grub |
找到 GRUB_DISABLE_OS_PROBER=false
去掉前面的注释(应该是文件的最后一行)
安装引导
1 | grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ArchLinux |
设置语言
1 | vim /etc/locale.gen |
去掉 en_US.UTF-8
和
zh_CN.UTF-8
前的注释,再执行
1 | locale-gen |
设置时区
1 | ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
设置硬件时间
1 | hwclock --systohc --utc |
安装桌面环境
桌面环境踩坑日记
2024年03月07日
Archlinux
执行更新命令sudo pacman -Syu
后桌面环境由Plasma5升级为Plasma6,
其最大的变化是显示服务器由xorg默认改为wayland,
而wayland是下一代显示服务器,比xorg更加现代。如果您的软件失效,多半与wayland有关,不过我个人测试效果尚可。
最初我从Plasma4
转到Gnome3
是因为Plasma4
经常崩溃,但是到了Plasma5
就稳定了。在使用Gnome3
的过程中,发现它也很优秀,它很干净整洁,没有过多的配置选项,美观独特,但是想要提高工作效率还必须安装一些Gnome3
的插件才行,比如hide-top-bar
、dash-to-dock
,这两个是必备插件,但是这也成为了它的致命缺点,每次Gnome3
大版本升级时,一大批插件就会挂掉,而且不能做到同步更新,插件失效的空白期是相当影响工作效率的。
2024年04月14日
在升级Archlinux
时,发现Plasma6
彻底漰溃,导致无法工作。唉,好在Gnome45的插件hide-top-bar
目前可用了,综合考虑后,由于显示效果上讲Gnome3
比Plasma
更早支持wayland
,
而Plasma6
刚刚支持wayland
,虽然效果很好,但是刚开始,太不稳定,所以再次回到Gnome3
,
工作第一,升级前需要确认好系统的稳定性。
1 | sudo pacman -S gnome gdm wqy-microhei gnome-tweaks gnome-console gnome-backgrounds gnome-calculator gnome-calendar gnome-text-editor loupe |
执行上述命令后会出现一个选择菜单,由您自己决定安装组件,对于不太确定的组件请选择安装,这样可以避免不必要的麻烦。
Gnome3包括的默认组件(2024年06月10日)
gnome-2048 | gnome-info-collect | gnome-shell-extension-arc-menu |
gnome-appfolders-manager | gnome-initial-setup | gnome-shell-extension-caffeine |
gnome-applets | gnome-keybindings | gnome-shell-extension-dash-to-dock |
gnome-autoar | gnome-keyring | gnome-shell-extension-dash-to-panel |
gnome-backgrounds | gnome-klotski | gnome-shell-extension-desktop-icons-ng |
gnome-bluetooth | gnome-latex | gnome-shell-extension-fixed-ime-list |
gnome-bluetooth-3.0 | gnome-logs | gnome-shell-extension-gsconnect |
gnome-boxes | gnome-mahjongg | gnome-shell-extension-gsconnect-git |
gnome-break-timer | gnome-maps | gnome-shell-extension-kimpanel-git |
gnome-browser-connector | gnome-menus | gnome-shell-extension-net-speed |
gnome-builder | gnome-mines | gnome-shell-extensions |
gnome-calculator | gnome-mplayer | gnome-shell-extension-vitals |
gnome-calendar | gnome-multi-writer | gnome-shell-extension-weather-oclock |
gnome-characters | gnome-music | gnome-shell-pomodoro |
gnome-chess | gnome-nettool | gnome-shell-pomodoro-debug |
gnome-clocks | gnome-nibbles | gnome-software |
gnome-color-manager | gnome-notes | gnome-sound-recorder |
gnome-common | gnome-online-accounts | gnome-subtitles |
gnome-connections | gnome-packagekit | gnome-sudoku |
gnome-console | gnome-panel | gnome-system-monitor |
gnome-contacts | gnome-photos | gnome-taquin |
gnome-control-center | gnome-pie | gnome-terminal |
gnome-desktop | gnome-podcasts | gnome-tetravex |
gnome-desktop-4 | gnome-power-manager | gnome-text-editor |
gnome-desktop-common | gnome-recipes | gnome-themes-extra |
gnome-devel-docs | gnome-remote-desktop | gnome-tour |
gnome-dictionary | gnome-robots | gnome-tweaks |
gnome-disk-utility | gnome-screenshot | gnome-usage |
gnome-epub-thumbnailer | gnome-session | gnome-user-docs |
gnome-firmware | gnome-settings-daemon | gnome-user-share |
gnome-flashback | gnome-shell | gnome-video-effects |
gnome-font-viewer | gnome-shell-docs | gnome-weather |
gnome-games | gnome-shell-extension-appindicator |
1 | sudo pacman -S xorg plasma-desktop kwallet-pam plasma-nm plasma-pa powerdevil firefox spectacle gwenview dolphin konsole |
-
Simple Desktop Display
Manager (
SDDM
)是一个显示管理器。它是KDE Plasma
和LXQt
桌面环境推荐的显示管理器。 -
sddm-kcm包
软件包(包含在
plasma
包组 用户组)提供了一个图形用户界面以在Plasma
系统设置中配置SDDM
。 - SDDM-ArchWiki
Plasma6 默认包括组件(2024年06月10日)
plasma-activities | plasma-integration | plasma-settings |
plasma-activities-stats | plasma-meta | plasma-settings-debug |
plasma-applet-window-buttons | plasma-mobile | plasma-systemmonitor |
plasma-bigscreen-git | plasma-mobile-debug | plasma-systemmonitor-git |
plasma-bigscreen-git-debug | plasma-nano-git | plasma-thunderbolt |
plasma-browser-integration | plasma-nano-git-debug | plasma-vault |
plasma-desktop | plasma-nm | plasma-wayland-protocols |
plasma-disks | plasma-pa | plasma-welcome |
plasma-firewall | plasma-pass | plasma-workspace |
plasma-framework5 | plasma-sdk | plasma-workspace-wallpapers |
安装Nvidia显卡
安装
Nvidia
软件1
sudo pacman -S nvidia nvidia-settings
如果是笔记本电脑则需要按装上
nvidia-prime
, 它的作用是切换显卡,安装成功之后,如果要使用Nvidia
独显,则在相应的命令前加上prime-run
即可。比如使用mesa-demo
包提供的glxinfo
来测试显卡是否安装成功,则使用命令prime-run glxinfo |grep OpenGL
, 如查输出Nvidia
显卡的信息,则独显安装成功。另外还可以使用nvidia-smi
来查看Nvidia
独显的使用信息,类似于任务管理器的效果。设置环境变量
/etc/environment 1
2GBM_BACKEND=nvidia-drm
__GLX_VENDOR_LIBRARY_NAME=nvidia系统启动时载入
Nvidia
模块加入这四个模块后,每次更新/etc/mkinitcpio.conf 1
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
nvidia
驱动之后需要运行一次mkinitcpio
, 这可以使用pacman
钩子实现自动化:上述操作可参考:/etc/pacman.d/hooks/nvidia.hook 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
# Uncomment the installed NVIDIA package
Target=nvidia
#Target=nvidia-open
#Target=nvidia-lts
# If running a different kernel, modify below to match
Target=linux
[Action]
Description=Updating NVIDIA module in initcpio
Depends=mkinitcpio
When=PostTransaction
NeedsTargets
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux*) exit 0; esac; done; /usr/bin/mkinitcpio -P'
文件
mkinitcpio.conf
继续往下翻,找到HOOKS
, 其上面一行为去掉括号中的/etc/mkinitcpio.conf 1
2# user and fsck hooks
HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block)kms
.重新生成
initramfs
1
sudo mkinitcpio -P
执行命令时,会出现“WARNING: Possibly missing firmware for module…”警告信息,这些信息可以忽略,因为它没有什么影响。
开启
DRM
, 在配置文件/etc/default/grub
中找到GRUB_CMDLINE_LINUX_DEFAULT
,修改如下/etc/default/grub 1
2
3
4
5
6
7
8# GRUB boot loader configuration
#GRUB_DEFAULT=0
GRUB_DEFAULT="1>2"
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet nvidia-drm.modeset=1"
GRUB_CMDLINE_LINUX=""重新生成
grub
1
2sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo cat /sys/module/nvidia_drm/parameters/modeset
注意:重启后执行第二条命令,如果得到Y
,则表示NVIDIA DRM
开启成功,否则不成功。
配置电源管理
/etc/modprobe.d/nvidia-power-management.conf 1
options nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/var/tmp
配置
Wayland
, 如果不启用wayland
则自动进入到xorg
.1
2sudo systemctl enable nvidia-suspend.service nvidia-hibernate.service nvidia-resume.service
sudo ln -s /dev/null /etc/udev/rules.d/61-gdm.rules
-
2024年07月02日, 我配置好了我的台式机,其
CPU
为AMD ryzen 7 3700X
, 其不带集成显卡,所以只能使用独立的nvidia
显卡,而按笔记本的dkms
配置,也能正常工作,但不是足够流畅(会出现画面撕裂),按教程配置好独立显卡后,运行良好。 -
2024年07月08日, 按此教程配置好
ThinkpadT490
, 工作良好,不再使用dkms
方式配置笔记本电脑。 -
2024年10月19日,
增加
HOOKS
的配置,参考NVIDIA-ArchWiki
.
一般笔记本携带的Nvidia
显卡,默认并不启动。有些较强显示需求的软件可以单独打开Nvidia
,不需要时就默认使用集成显卡,这有利于笔记本电脑节省电量。
1 | sudo pacman -S dkms nvidia-dkms nvidia-utils glxgears |
注意:在我安装完ArchLinux后,原本按nvidia官方的方法配置了显卡,但是发现系统启动后不能正常加载模块,在2024-01-01升级完系统后,更是无法启动系统,这让我误以为滚挂系统但问题绝对不会是nvidia官方显卡的使用方式,但是排查下来发现问题确实还真是它。在没有足够时间研究这个问题的时候,我决定安装Endeavour
,结果发现表现良好!于是直接借用了Endeavour
的配置方式,使用dkms
的方式使用nvidia
,
详细技术请参考:DKMS
。glxgears
命令会出现一个转动的齿轮,用来测试独立显卡是否工作。经测试均正常工作。此命令没有实质性作用,测试完成后可以删除。2024年07月08日,
dkms
一般针对自己定制的内核来安装,如果使用通用的linux
或linux-lts
则不宜使用dkms
。
安装电源管理软件
Endeavour的默认电源管理
1 | sudo pacman -S power-profiles-daemon |
高级电源管理工具TLP
对于笔记本电脑而而言,需要安装TLP
,否则会出现电源消耗过大,风扇逛转,睡眠或休眠后无法唤醒等问题,特别是睡眠无法唤醒问题会严重影响使用体验!下面根据TLP官网记录具体操作步骤:
安装软件
1
2sudo pacman -S tlp tlp-rdw smartmontools
paru --skipreview --noconfirm -S tp_smapi-dkms启动服务
1
2sudo systemctl enable tlp.service
sudo systemctl enable NetworkManager-dispatcher.service屏蔽与
TLP
冲突的服务1
sudo systemctl mask systemd-rfkill.service systemd-rfkill.socket
ThinkPads only: External Kernel Modulestp_smapi
,
显示tlp-stat
中的S.M.A.R.T
数据smartmontools
.
在2024年01月04日发现系统又一次提示登录模块错误,于是判断为这个外加的tp_smapi
,
本想直接删除这个模块,但是使用paru
找到了其dkms
版本,于是通过paru
安装了tp_smapi-dkms
,
重启后发现不再有模块登录失败的提示。
安装蓝牙服务
1 | sudo pacman -S --needed --noconfirm bluez bluez-utils pipewire-pulse bluedevil blueman |
上述命令是启动蓝牙服务,archlinux
默认不启用蓝牙服务。然后修改蓝牙配置文件/etc/bluetooth/main.conf
,找到AutoEnable=true
取消注释,使其默认启动蓝牙服务。
1 | sudo pacman -S --needed --noconfirm bluez bluez-utils pipewire-pulse bluedevil blueman |
以前的教程中安装的pulseaudio-bluetooth
与现在pipewire-pulse
冲突,但是当前的pipewire-pulse
是自动安装上的,所以从依赖角度讲它是最新的,因此不准备删除,经测试确实效果很好。
安装fwupd
升级系统固件()
ThinkPad
可以用fwupd
来更新固件,如果您的电脑可以正常工作,请勿执行此操作。
1 | sudo pacman -S fwupd |
上述第一行是安装软件fwupd
,
第二行查看是否存在更新,如果存在更新,则通过第三行的命令来更新固件,注意更新固件时请保持电脑连接电源。
2023年12月29日, 我执行了固件升级命令
sudo fwupdmgr update
, 然后我的Thinkpad T490 就更新了固件,然后直接导致了电脑再次无法唤醒睡眠!同时半解决状态的2242固态硬盘变成睡眠也无法识别出来的无法解决状态。重启电脑后直接进入到了Windows11, 在Windows11下安装Lenovo官方ThinkVantage, 然后自动检测后升级相应的BIOS组件后终于恢复了睡眠唤醒。经过这件事情,想告诫同学,如果BIOS工作正常,非必要不升级,如果要升级也请切换到Windows下使用官的固件升级软件处理。2024年01月30日, 由于升级固件后
ArchLinux
无法识别2242
硬盘,即便是没有升级BIOS前,也是需要休眠后才有识别,使用体验不佳。基于日常办公,Archlinux
已经成为我的主力,而Windows11
是作为双系统安装的,几乎不使用,所以决定将些2242
硬盘做成固态硬盘使用。同时,又测试出,如果在BIOS中开启了CSM
兼容模块,则再次出现两个系统都无法休眠唤醒问题,所以需要。
退出换根并重启
1 | exit |
重新启动后拔掉U盘
完成安装。
基础设置
配置高速DNS
要实现快速上网,选择一个高速稳定的DNS是必须的,经过测试在我当前的环境下的最快配置(IPV4不到1ms)为
厂家 | IPV4 | IPV6 |
---|---|---|
Cloudflare | 1.1.1.1 | 2606:4700:4700::1111 |
请读者根据自己的具体网络环境选择对应的DNS服务器: 免费公共 DNS 服务器大全
配置国内镜像源
在安装阶段我们已经配置了镜像源,但那是在Live
系统上做的配置,为了方便安装系统和软件。
安装好的ArchLinux
默认镜像源也是由安装阶段所设置的,刚刚安装的镜像与Live
系统不
一样,它不包括自动选择镜像的程序reflector
,
它是一个Python
编写的脚本,会自动从
https://archlinux.org/mirrors/status/
上获取镜像地址,可以通过参数筛选出自己需要的镜像地址。为了方便自己设置,需要先安装一下,然后切换到自己想要的源就可以了。
1 | sudo reflector --verbose -c China --latest 12 --sort rate --threads 100 --save /etc/pacman.d/mirrorlist |
配置国内CN源
Arch Linux 中文社区仓库是由 Arch Linux 中文社区驱动的非官方用户仓库。包含中文用户常用软件、工具、字体/美化包等。
在
/etc/pacman.conf
文件末尾添加以下两行/etc/pacman.conf 1
2[archlinuxcn]
Server = https://repo.archlinuxcn.org/$arch安装
archlinuxcn-keyring
包以导入GPG key
安装archlinuxcn-keyring 1
2
3sudo pacman -Syu
sudo pacman-key --lsign-key "farseerfc@archlinux.org"
sudo pacman -S archlinuxcn-keyring
1 | $ sudo pacman -Sy archlinuxcn-keyring |
解决方法为: 1
sudo pacman-key --lsign-key "farseerfc@archlinux.org"
安装
archlinuxcn-mirrorlist-git
包可以获得一份镜像列表安装完成后,会生成文件安装archlinuxcn-mirrorlist-git 1
sudo pacman -S archlinuxcn-mirrorlist-git
/etc/pacman.d/archlinuxcn-mirrorlist
, 其包含最新的国内镜像。在 pacman.conf 中直接引入
archlinuxcn-mirrorlist
/etc/pacman.conf末尾追加,同时注释掉Server 1
2
3[archlinuxcn]
#Server = https://repo.archlinuxcn.org/$arch
Include = /etc/pacman.d/archlinuxcn-mirrorlist编辑
/etc/pacman.d/archlinuxcn-mirrorlist
文件,去掉要引用的源前面的注释符即可。
配置arch4edu源
Arch4edu
是面向高校用户推出的非官方软件仓库,支持Arch Linux
和 Arch Linux ARM
,
主要包含高校用户常用的科研、教学及开发软件。
导入 GPG key
1
2
3sudo pacman-key --recv-keys 7931B6D628C8D3BA
sudo pacman-key --finger 7931B6D628C8D3BA
sudo pacman-key --lsign-key 7931B6D628C8D3BA在
/etc/pacman.conf
文件末尾添加以下内容1
2[arch4edu]
Server = https://mirrors.cernet.edu.cn/arch4edu/$arch上述镜像源是
CERNET
-校园网联合镜像站(mirrorz-302智能选择), 由于他的自动选择属性以及使用sudo
的安全属性,所以我设置了这个镜像站点。安装
pkgstats
帮助了解我们维护包的均势。1
sudo pacman -S pkgstats
其他
arch4edu
镜像:arch4edu-mirrorlist
Arch4edu 一个面向全球高校用户的社区源, 初衷是实验室的服务器都有装同一批软件的需求,后来干脆就做成软件源了. 支持 Arch Linux 和 Arch Linux ARM, 主要包含高校用户常用的科研、教学及开发软件。现在arch4edu主要涵盖以下方向的包:
- 机器学习工具:tensorflow, caffe, torch等等
- IDE及编辑器:android-studio, pycharm, vs code, sublime等等
- Android开发:android-studio, android-sdk, android-ndk等等
- 语音信号处理:kaldi, cmusphinx, opensmile等等
- 图像处理:opencv-git
- 通用:anaconda, zotero, atlas-lapack, openblas等等
Package Request
.
现在的更新频率是日更。由于结构是仿照archlinuxcn搭建的,所以git版本的包会及时更新。
安装中文字体
安装windows10下拷贝来的fonts字体、founder及adobe
等到系统的指定目录/usr/share/fonts/
:
1 | sudo cp -r ./Fonts/Adobe/ /usr/share/fonts/ |
设置系统为中文
要设置整个系统使用的区域设置,需要在 /etc/locale.conf
中写入 LANG
变量,以下的 zh_CN.UTF-8
应为
/etc/locale.gen
中某个未注释条目的第一列:
1 | #LANG="C.UTF-8" |
由于前面已经配置好了语言,据Local-ArchLinux,
当做完以上配置,同时重起系统后设置
→区域和语言
→语言
设置成简体中文
,
后系统仍然不能完全汉化,对于KDE Plasma
则,
这一点本人测试成功。
全局配置git
为github.com
镜像
安装
git
前面已经安装,若否请执行命令: 1
pacman -S git curl
修改全局配置文件
~/.gitconfig
~/.gitconfig 1
2
3
4
5
6
7
8
9[user]
email = fengzhenhua@outlook.com
name = fengzhenhua
: [url "https://521github.com/"]
[url "https://githubfast.com/"]
; [url "https://kkgithub.com/"]
; [url "https://github.hscsec.cn/"]
; [url "https://gitclone.com/github.com/"]
insteadOf = https://github.com/
注意:此配置全局git
为github.com
镜像是最简单的一劳永逸的方法,稍微麻烦但更加有效的方法参考:使用Git下载Github资源的有效方法
.
使用时请将我的配置中的email
和name
替换成您自己的github
帐号,方便使用git clone git@github.com:
等命令。
安装paru
或yay
安装paru
或yay
,
最新的paru
表现更好,建议安装。
- 安装
paru
1 | sudo pacman --needed --noconfirm -S paru |
- 使用
paru
时跳过审阅并自动确认安装
1 | paru --skipreview --needed --noconfirm -S foobar |
- 关闭默认审阅流程的方法: 在配置文件
/etc/paru.conf
内增加SkipReview
。参考 Paru默认关闭审阅流程
- 在
archlinuxcn
源安装
1 | sudo pacman --needed --noconfirm -S yay |
- 编译安装
1 | pacman --needed --noconfirm -S git base-devel |
- 源码安装
1 | git clone https://aur.archlinux.org/yay.git |
在2022年7月20日安装ArchLinux时发现如此安装不成功,解决方案参考:yay安装失败的解决方案。使用go语言换源解决,临时换源解决方案代码如下
1 | $ go env -w GO111MODULE=on |
配置paru
和yay
多线程下载
使用本人定制的axel
多线程下载工具可以提高下载速度,获得更佳的使用体验:
1 | sudo curl -o ParuAxel.7z https://gitlab.com/fengzhenhua/zipconf/-/raw/main/ParuAxel.7z\?inline\=false |
Paru 高级用户配置
基本命令
- paru <用户输入>:搜索并安装“用户输入”
- paru -:paru -Syu 的别名
- paru -Sua:仅升级 AUR 包。
- paru -Qua:打印可用的 AUR 更新
- paru -Gc <用户输入>:显示“用户输入”的 AUR 评论
编辑 PKGBUILD (对于高级用户)
如果你是一个有经验的 Linux 用户,你可以通过 paru 编辑 AUR 包。要做到这一点,你需要在 paru 配置文件中启用该功能,并设置你所选择的文件管理器。在此例中,我将使用配置文件中的默认值,即 vifm 文件管理器。如果你还没有使用过它,你可能需要安装它。
安装
vifm
1
sudo pacman --needed --noconfirm -S vifm
修改配置文件
/etc/paru.conf
,取消注释/etc/paru.conf 1
2
3
4[bin]
FileManager = vifm
#MFlags = --skippgpcheck
#Sudo = doas
系统会提示你审查该软件包→输入 Y 并按下回车→从文件管理器中选择 PKGBUILD →按下回车查看软件包→做出修改。你所做的任何改变都将是永久性的,下次升级软件包时,你的改变将与上游软件包合并。。
配置桌面环境
桌面环境选择请参考:8 款最佳 Linux 桌面环境推荐(2024)
- 安装
gnome3
必备插件
在安装gnome
插件前,需要先安装浏览器插件才能通过https://extensions.gnome.org
安装插件。
1 | paru --needed --noconfirm -S gnome-browser-connector gnome-shell-extension-hidetopbar-git gnome-shell-extension-dash-to-dock gnome-shell-extension-kimpanel-git gnome-shell-extension-blur-my-shell-git |
-
2022年11月01日插件
chrome-gnome-shell
更名为gnome-browser-connector
-
gnome-browser-connector
用于配合firefox
安装gnome
拓展 -
hide-top-bar
自动隐藏顶部的顶栏 -
dash-to-dock
类似于苹果系统的程序坞 -
kimpanel
输入法面板,提供与苹果系统相当的界面 -
blue-my-shell
令顶栏和程序坞随系统变色,同时按下win
徽标键后界面与苹果系统相当
- 安装
Gnome
主题
1 | paru --skipreview --needed --noconfirm -S whitesur-icon-theme whitesur-cursor-theme-git phinger-cursors |
1 | ./WhiteSur-gtk-theme/install.sh --shell -i apple -HD -c light |
GRUB
的4k
字体调大配置参考:Linux中Whitesur主题切换4k显示器设置
1 | ./WhiteSur-gtk-theme/install.sh --shell -i apple -l -c Light |
-
2024年09月03日,
升级
WhiteSur-gtk-theme
之后发现修改部分较多,其中install.sh -i apple
调整为install.sh --shell -i apple
-
2024年10月17日,
升级了
4k
屏幕,光标主题使phinger-cursors
更佳,使用whitesur-cursor-theme-git
有时候会莫名其妙的变大,于是做出了替换。
./install.sh [OPTIONS...]
(点击打开)
1 |
|
2024年08月02日,
paru
更新时提示whitesur-icon-theme-git
无人维护,于是更新为whitesur-icon-theme
.
2024年08月05日,
firefox
的alt
主题,最上面为地址栏,下面是并排的标签列,更中合理,所以本文默认采用了firefox
alt
主题。 2024年08月25日,
修复Nautilus
主题关闭、最大化、最小化等按钮无法切换为苹果主题的bug
,
方法即是./WhiteSur-gtk-theme/install.sh -l
,
默认安装暗色主题,要安装明亮主题执行./WhiteSur-gtk-theme/install.sh
-l -c Light
1 | paru --skipreview --needed --noconfirm -S whitesur-icon-theme-git |
存在的问题:
-
sddm主题不能正常工作,和之前遇到的问题类似,但是使用默认的
Breeze 微风
主题,更改其背景图片为MacSonoma-kde/sddm/images/Background-Light.jpg
后效果相差不大,区别在登录框Breeze 微风
是直角,而MacSonoma-kde
的为圆解,这点等待MacSonoma-kde
主题官方修复。 -
grub尚没有推出
MacSonoma-kde
对应的主题, 所以导致相似度不能100%还原,于是也可以采用类似的方法安装whitesur
的grub
主题,然后将背景换成Sonoma
的背景即可。 -
替换
grub-WhiteSur
主题的背景图片为MacSonoma-kde/sddm/images/Background-Light.jpg
1
sudo cp ~/MacSonoma-kde/sddm/images/Background-Light.jpg /boot/grub/themes/whitesur/background.jpg
-
系统设置
→颜色和主题
→图标
→WhiteSur-light
, 这样子系统显示为通常的Mac图标。
-
2024年03月16日发现在Plasma6的
系统配置
→全局主题
→获取新全局主题
中出现了Apple Sonoma Light
和Apple Sonoma Dark
两款高仿苹果主题,于是对两款主题进行了测试,发现基本上可用,但是细节上需要调整。 -
2024年03月08日, archlinux 系统升级后KDE-Plasma5自动升级为KDE-Plasma6, WhitSur-kde主题有些不适配Plasma6,于是决定删除WhitSur主题,使用Plasma6的默认主题。
对于桌面环境的配置,主要是配置MacOS
的WhitSur
主题,由于已经配置了ArchLinux
的CN
源和安装了Paru
也可以使用Aur
所以使用Pacman
或Paru
来安装皮肤比自行下载手动安装要好。本教程使用Aur
源安装:
1 | paru --skipreview --needed --noconfirm -S plasma5-themes-whitesur-git |
有时候在系统更新后sddm
主题不再生效,此时需要重新安装一下sddm
主题,而sddm
主题位于
WhiteSur-kde中的文件夹sddm
中,于是先克隆下这个文件目录,即
1 | git clone https://kkgithub.com/vinceliuice/WhiteSur-kde.git |
之后sddm
主题就再次启用了。
一般安装好后系统自动配置好了,同时如果有更新也可以及时更新。需要做的工作:
-
启用全局主题:
系统设置
→外观
→全局主题
→WhitSur
(选中桌面和窗口布局)。 之后系统的桌面就配置成WhitSur
主题了,但是桌面背景还是黑色的,说明这几个包设计的不是很完善,这时只要右键设置背景图片就可以了。 -
启用登录屏:
设置
→开机与关机
→登录屏幕(SDDM)
, 选择WhitSur
-
配置启动
Latte
停靠栏: 在Latte
上右键→配置Latte
,选中开机启动。然后对应布局编辑器
选择WhitSur
。 -
配置状态状态栏,安装好主题后状态栏并没有配置好,配置步骤:
状态栏上右键
→编辑模式
→更多选项
→最大化面板
,否则状态栏上的内容会显示不出来。 -
配置
Fcitx5
使用自带皮肤,完成第一步时其实就可以了。如果第一步没有输入法面板
, 那需要添加系统托盘
,此时显示就正常了。参考KDE下设置Fcitx5 -
手动安装
WhitSur
主题请参考: ArchLinux安装Plasma5 -
由于
Grub
主题使用paru
安装时不能自动配置,所以改成了手动安装。而WhiteSur-gtk-theme
仅用来设置firefox
主题,需要再安装主题。
关闭文件索引
由于文件索引会消耗大量的资源,这就导致了电脑温度过高,风扇逛转不停,而现实的使用过程中对于搜索的要求并不高,一般人都能够合理的安排自己的文件位置。于是关闭这项服务可以更好的发挥计算机性能,总体来讲利大于弊。
- 使用
gsettings
禁用tracker-miner
应用1
2gsettings set org.freedesktop.Tracker3.Miner.Files crawling-interval -2
gsettings set org.freedesktop.Tracker3.Miner.Files enable-monitors false
在Gnome45之前是命令Tracker
, 之后是Tracker3
,
于是2024年04月15日之后的新系统则用最新的命令。
- 或者禁止
tracker-*
软件启动1
2sudo sed -i "s/X-GNOME-Autostart-enabled=true/X-GNOME-Autostart-enabled=false/g" /etc/xdg/autostart/tracker-*.desktop
tracker reset -sr
在Gnome45之前清除索引命令为tracker reset --hard
,
之后的命令为tracker3 reset -sr
,
于是2024年04月15日之后的新系统必用最新的命令。
使用命令关闭
1
2
3balooctl disable
balooctl suspend
balooctl status通过图形界面关闭:点击
系统设置
→搜索
→文件搜索
→去掉启用文件索引
前的对号→右下角应用
删除多余的EFI
启动项
有时候重装系统的时候为了保留原来的启动项而不对EFI
分区重新格式化,这导致了每安装一次系统都会在EFI
分区留下一下之前的启动项。这时为了纯净可以删除之前的启动项,不过一定要仔细判别,不要删错了文件。文件目录在
1 | /boot/efi/EFI |
Linux修改启动选项grub
1 | # |
Linux下EFIBOOTMGR的使用,删除UEFI主板多余的启动项
用uefi装过几次系统后,uefi启动项就会多出好多启动项。这东西格硬盘也不好用,我们借助efibootmgr可以编辑启动项,事实上我的电脑正是这样操作的:
1 | # efibootmgr |
删除一个引导项 Manjaro
1 | efibootmgr -b 0004 -B |
添加一个引导项
1 | #efibootmgr -c -w -L “BootOptionName” -d /dev/sda -p 1 -l \\EFI\\asianux\\elilo.efi |
其中-d
参数后面是系统所在的硬盘设备名称,例如/dev/hda
、/dev/hdb
-p
参数是vfat 分区的分区编号/dev/hda1
用-p 1
/dev/sda2
用-p 2
-l
参数后面是该引导项指向的efi
启动文件在该分区上的位置。请注意使用“\”来表示目录的分级。
例如:/EFI/asianux/elilo.efi
应写成:\\EFI\\asianux\\elilo.efi
解决Linux
和Windows
时间不一致问题
日常工作中多数人使用的是Windows
,
当使用Linux
作为工作的主力时,安装双系统是一个最佳的选择,但是双系统会导致Linux
和Windows
时间不一致问题。
GMT:Greenwich Mean Time,即格林尼治标准时间,也就是世界时。GMT 以地球自转为基础的时间计量系统,但由于地球自转不均匀,导致 GMT 不精确,现在已经不再作为世界标准时间使用。
UTC:Universal Time Coordinated,即协调世界时。UTC 是以原子时秒长为基础,在时刻上尽量接近于 GMT 的一种时间计量系统。为确保 UTC 与 GMT 相差不会超过 0.9 秒,在有需要的情况下会在 UTC 内加上正或负闰秒。UTC 现在作为世界标准时间使用。
RTC:Real-Time Clock,即实时时钟,在计算机领域作为硬件时钟的简称。
世界上不同地区所在的时区是不同的,这些时区决定了当地的本地时间。比如北京处于东八区,即北京时间为 UTC + 8,如果 UTC 时间现在是上午 6 点整,那么北京时间为 14 点整。
Windows 与 Linux 看待硬件时间的方式不同。Windows 把电脑的硬件时钟(RTC)看成是本地时间,即 RTC = Local Time,Windows 会直接显示硬件时间;而 Linux 则是把电脑的硬件时钟看成 UTC 时间,即 RTC = UTC,那么 Linux 显示的时间就是硬件时间加上时区。
解决办法
既然知道了问题原因,我们就知道如何去解决,大概思路分为两种,一是让 Windows 认为硬件时钟是 UTC 时间,二是让 Linux 认为硬件时钟是本地时间。
- 以管理员身份打开 「PowerShell」,输入以下命令:
1 | Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1 |
- 或者打开「注册表编辑器」,定位到计算机目录:
1 | \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation |
- 新建一个 DWORD 类型,名称为 RealTimeIsUniversal 的键,并修改键值为 1 即可。
这里大家可以根据自己 Linux 发行版的方法来修改。我这里给出现在大多数发行版由 timedatectl 来管理时间的修改方法。
在终端中,输入以下命令:
1 | $ timedatectl set-local-rtc 1 --adjust-system-clock |
这两种方法中,本人推荐第一种方法,修改 Windows 的时间管理。因为在 Linux 系统中修改后,输入 timedatectl 命令后,会出现警告,提示你使用 RTC 时钟会导致一些程序错误;并且 Windows 也在更改时间管理方式为 UTC 时间。
系统的稳定性保障
考虑到ArchLInux
滚动升级的特性,在工作环境中我们需要一个更加稳定的系统,在前面的安装过程中虽然有锁定桌面环境的技巧支持,但是并没有锁定内核,因为内核滚挂的可能性不太大,但也不是没有。为了确保系统滚挂,需要再追加一个稳固系统的方法:安装长期支持版内核linux-lts
,
在系统滚挂的时候增加一个可选择的保障方案。
1 | sudo pacman -S linux-lts linux-lts-header |
第1条命令安装lts
内核,第2条命令重新生成grub
,
这样在启动的时候就可以选择高级
→lts
内核启动。
打开/etc/pacman.conf
文件,找到IgnorPkg
和IgnoreGroup
,
在等号后添加上桌面环境软件,确保工作环境的稳定可靠。
1 | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup |
虽然长期支持版比较稳定,但是有时候滚动升级导致严重的问题后需要回滚系统。在问题解决前不应当升级,同时在工作过程中也会安装一些必要的软件,此时保持软件和当前版本的系统相对应是一个相当稳定的解决方案。综合考虑后,使用锁定升级日期的方法,既可以回滚到稳定版本的最新状态,又可以确保任意安装相应版本的软件。
1.
在pacman
配置文件中追加上指定日期的镜像
1 |
|
前四个源是官方源及全球的存档镜像,它保存了每一天的镜像,而后面两个分别是清华大学和北京外国语大学的存档镜像,它们每周存档一次。如果您指定的日期在两个国内存档源中时则使用这两个,因为速度快。如果您的指定日期不在它们之中,则使用前四个源中的某一个都可以,2024年09月21日使用第一个官方存档库回滚系统到2024年09月18日, 这是我的电脑正常工作的最新日期,测试的速度比较快。
2. 锁定日期和解封升级
在上述配置中,注释部分锁定了仓库镜像日期为2024年9月19日
等,此时系统可以连续升级。需要锁定日期时,请将日期改为指定的日期,然后取消注释并将非日期仓库注释掉。
3. 强制更新到目标版本
1 | sudo pacman -Syyuu |
更新完成后,重新启动系统,
您现在已将所有包恢复到之前的特定日期(在我们的示例中为 2024年 9 月 19
日)。但是请注意,我们不建议使用过时的软件包,待您需要Gnome
插件或其他特定版本的软件及时跟进更新后请及时将系统升级到最新,若出现问题则再锁定到最新的稳定系统日期,等待下一次全部软件稳定后再次更新。如果操作后可以保证一直稳定使用ArchLinux
.
安装解压缩软件
1 | sudo pacman -S --needed --noconfirm p7zip-natspec unarchiver lzop lrzip arj zip unzip |
KDE
桌面,安装ark
GNOME
桌面,安装file-roller
在Linux解压缩Windows下考备过来的zip压缩文件时,不仅ark
浏览时乱码,实际解压也是乱码。根本原因是编码问题,windows下默认gb2312
与linux中默认utf-8
不兼容,
直接原因是Ark中用于zip打开和解压的插件不支持gb2312
.
解决方案为
安装。
p7zip-natspec
(cn
源中就有)1
sudo pacman -S p7zip-natspec
在
Ark
中禁用libzip
插件(该插件优先级高于p7zip
):Ark
菜单→设置→配置Ark
→插件→取消Libzip
插件对应的复选框→应用。同时应当确保p7zip
插件使用中。由于已经安装了
unarchiver
, 所以直接使用命令unar
解压zip
文件也是可以解决文件名乱码问题的,但是前述方法更加方便。其他选择,使用
unzip-natspec
或unzip-iconv
.
配置中文输入法Fcitx5
安装Fcitx5组件
1 | sudo pacman -S fcitx5 fcitx5-gtk fcitx5-qt fcitx5-configtool fcitx5-chinese-addons fcitx5-material-color fcitx5-nord |
设置Fcitx5变量
根据Environment
variables (2.1.1 Using shell initialization files),
环境变量的设置文件为/etc/environment
或/etc/profile
.
1 | XMODIFIERS=@im=fcitx |
1 | GTK_IM_MODULE=fcitx |
注意:pam-env
已经不再读取文件~/.pam_environment
,
所以不可以设置此文件。同时部分登录器(如LightDM)支持部分读取~/.xprofile
,也可以将其设置为和/etc/environment
相同的上述内容。
配置vim和neovim
如果您是Linux
初学者,或者不习惯使用vim
或neovim
,那下面这部分可以不去配置。下面的配置主要是配置neovim
和vim
安装一些工作中可以提高效率的插件,如果没有需要请省略此处配置。
1 | curl -o vim-all.7z https://gitlab.com/fengzhenhua/zipconf/-/raw/main/vim-all.7z\?inline\=false |
在安装neovim
时,由于packer.nvim
不再维护,故更新为lazy.nvim
插件管理器,安装完插件时要手动在nvim
中执行:qa
退出nvim
。
安装结束后最后一行命令删除vim-all.7z
,
nvim-all.7z
, vim
, nvim
。
安装必备依赖
1
sudo pacman -S --needed --noconfirm ctags &> /dev/null
导入初始配置
1
curl -o $HOME/.vimrc https://gitlab.com/fengzhenhua/fzhconfig/-/raw/main/vimrc_init\?inline\=false
安装插件管理器
vim-plug
官方安装法
1
2sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.kkgithub.com/junegunn/vim-plug/master/plug.vim'自动升级安装法
1
2git clone --depth 1 https://github.com/junegunn/vim-plug $HOME/.vim/vim-plug
ln -s $HOME/.vim/plugged/vim-plug/plug.vim $HOME/.vim/autoload/plug.vim
注意:已经配置vim-plug 通过命令:PlugUpdate自动更新,请勿执行:PlugUpgrade !!
安装
vim-plug
插件1
vim +PlugInstall +qall
导入完整配置
1
2rm $HOME/.vimrc
curl -o $HOME/.vimrc https://gitlab.com/fengzhenhua/fzhconfig/-/raw/main/vimrc\?inline\=false
packer
插件管理器已经于停止维护,故本教程已经切换为lazy
作为默认管理器,请放心lazy
配置更加方便、稳定、快速。但是作为学习,此处仍然保留packer
的配置方法,工作使用请参考Auto
。
安装依赖软件
1
2
3
4sudo pacman -S --needed --noconfirm neovim python3 yarn ranger
sudo pacman -S --needed --noconfirm python-pip tree-sitter-cli python-pynvim
sudo pacman -S --needed --noconfirm nerd-fonts-complete nerd-fonts-complete ttf-nerd-fonts-symbols
sudo fc-cache -vf下载
neovim
配置文件1
2git clone https://gitlab.com/fengzhenhua/fzhconfig fzhconfig
cd fzhconfig安装插件管理器
packer
1
2NeoPacker="/home/$USER/.local/share/nvim/site/pack/packer/start/packer.nvim"
git clone --depth 1 https://github.com/wbthomason/packer.nvim $NeoPacker安装配置文件
1
2
3cp -rf ./nvim /home/$USER/.config/nvim
cp ./init.vim /home/$USER/.config/nvim/init.vim
cp -rf ./vsnip /home/$USER/.vsnip安装插件
注意:插件安装完成后,请输入1
nvim +PackerSync
:qa
退出neovim
安装完整配置
1
cp ./nvim/init.vim /home/$USER/.config/nvim/init.vim
安装
vim-latex
插件1
2NeoTexPath="/home/$USER/.local/share/nvim/site/pack/packer/start/vim-latex/ftplugin/latex-suite/templates"
cp ./latex-templates $NeoTexPath更改
vim-templates
插件的默认模板1
cp ./vim-templates/* ~/.local/share/nvim/site/pack/packer/start/vim-template/templates/
Neovim健康检查
在安装Neovim
后自检发现还有一些插件的依赖程序,没有安装,执行下述命令:
1 | sudo pacman --needed --noconfirm -S wget cargo composer php luarocks ruby julia ripgrep fd jdk-openjdk wl-clipboard go xclip cpanminus python-neovim |
neovim使用clipboard粘贴板
1 | if [ $XDG_SESSION_TYPE = "wayland" ]; then sudo pacman --needed --noconfirm -S wl-clipboard ; else sudo pacman --needed --noconfirm -S xclip ; fi |
- 如果使用的是
wayland
, 安装wl-clipboard
: - 如果使用的是
xorg
, 安装xclip
解决 WARNING "Neovim::Ext" cpan module is not installed
1 | sudo pacman -S --needed --noconfirm cpanminus |
perl 无法写入到文件夹问题
1 | Perl provider (optional) ~ |
按照提示,执行第2条的配置路径和第3条的安装命令,由于配置路径到文件~/.zshrc
可以保证不必每次重装都重新设置,所以更推荐使用配置路径的方式。
1 | export PERL_BASE="/usr/local/perl" |
执行下面的命令,但是为了目录纯净将per15
隐藏,即
1
cpanm --local-lib=~/.perl5 local::lib && eval $(perl -I ~/.perl5/lib/perl5/ -Mlocal::lib)
javac命令找不到的问题
nvim
运行checkhealth
就会发出警告:javac
找不到!
注意:
模块 | 解释 |
---|---|
JRE(Java Runtime Environment) | Java程序所必须的环境,包括JVM和一些核心类库,用于运行字节码。 |
JDK(Java Development Kit) | Java程序所必须的环境,包括JRE和一些编译工具比如javac.exe。 |
openJDK | JDK的开源,有很多种实现,可以自由选择。 |
所以javac
命令找不到应当安装一下jdk-openjdk
,
这样问题就解决了。
linux下支持多个版本的jdk-openjdk
,
当安装了多个版本java
时,可以使用archlinux-java
进行选择和设置默认。
1 | sudo pacman -S jdk-openjdk |
python-pynvim 的支持问题
nvim
运行checkhealth
后出现错误
1 | Python 3 provider (optional) ~ |
解决方法为删除~/.local/lib/python*
,
然后nvim
就会调用系统安装的python-pynvim
,这样可以保证pynvim
是最新的。
vim和neovim配置fcitx5自动切换
当使用vim
或nvim
时,经学在插入模式和命令模式切换,而在命令模式需要英文输入法,特别是编辑中文文件时,每次切换都需要切换输入法特别麻烦。于是根据网络上的方法我修改得到一个更好的方法,同时原理相同在archlinux
官网上给出了更加简洁的写法,此处都列出来,供大家自由选择。
Fcitx5-ArchWiki
If you are using Vim9
, then the code should be
1 | # Only taking affect after using vim9script grammar or has `vim9script` keyword. |
If you are using neovim
, then append the above code to
~/.config/nvim/init.vim
.
It is recommended to use the fcitx.vim plugin. This plugin will keep different buffer-specific input method states in their respective insert modes.
For a simple solution, you can append the code to
~/.vimrc
:
1 | let fcitx5state=system("fcitx5-remote") |
If you are using VSCodeVim, add the following snippet into your configuration file:
1 | "vim.autoSwitchInputMethod.enable": true, |
我之前使用的方案
1 | let g:input_toggle = 0 |
注意:由于Fcitx5-ArchWiki
给出的方法更加简法,所以建议使用Fcitx5-ArchWiki
方法,而此处方法是本人多年前努力改进的办法,所以放在此处作为学习之前。
必备工具一键安装
1 | sudo pacman --needed --noconfirm -S guake thunderbird thunderbird-i18n-zh-cn libreoffice-still libreoffice-still-zh-cn calibre zotero goldendict-ng-git python-requests mplayer speech-dispatcher fdupes rmlint firefox-ublock-origin thunderbird-ublock-origin |
上述工具依次为:下拉式终端、邮件客户端、办公套装libreoffice、 电子图书库、文献管理、电子词典、视频播放、语音合成(firefox依赖)、删除重复文件、广告过滤
1 | paru --skipreview --noconfirm -S xdman-beta-bin wemeet-bin linuxqq listen1-desktop-appimage aliyunpan-gaozhangmin-bin baidunetdisk-bin |
上述工具依次为:下载工具、腾讯会议、腾讯QQ、音乐播放器、小白羊阿云盘、百度网盘
安装deb转换工具debtap
虽然archlinux
的软件包足够多,但有时遇到某些专门针对debian
或ubuntu
的软件,要在archlinux
使用它就可以借助转换工具debtap
,安装配置如下:
由于Arch仓库中不含软件
debtap
, 于是借助Aur助手paru
安装1
paru -S debtap
切换
debtap
为国内源(下述两条命令同时执行),否则因限速问题容易升级失败1
2sudo sed -i "s|http://ftp.debian.org/debian/dists|https://mirrors.ustc.edu.cn/debian/dists|g" /usr/bin/debtap
sudo sed -i "s|http://archive.ubuntu.com/ubuntu/dists|https://mirrors.ustc.edu.cn/ubuntu/dists|g" /usr/bin/debtap升级
debtap
1
sudo debtap -u
转换软件
1
sudo debtap xxxx.deb
安装转换生成的软件
1
sudo pacman -U x.tar.zst
安装配置zsh
Zsh(Z-shell)是一款用于交互式使用的shell,也可以作为脚本解释器来使用。其包含了 bash,ksh,tcsh 等其他shell中许多优秀功能,也拥有诸多自身特色。多数发行版中都默认安装了Zsh, 安装配置如下:
安装zsh和必要插件
安装zsh的和必要插件 1
sudo pacman -S --needed --noconfirm zsh nerd-fonts zsh-autosuggestions zsh-autosuggestions zsh-completions zsh-theme-powerlevel10k zsh-syntax-highlighting-git zoxide exa
zsh的配置文件
~/.zshrc 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme
# History file for zsh
HISTFILE=~/.zsh_history
# How many commands to store in history
HISTSIZE=10000
SAVEHIST=10000
# Share history in every terminal session
setopt SHARE_HISTORY
# 配置zsh-autosuggestions
ZSH_AUTOSUGGEST_STRATEGY=(history completion)
# ZSH_AUTOSUGGEST_STRATEGY=(match_prev_cmd)
# set for zsh-z-git
# source /usr/share/zsh/plugins/zsh-z/zsh-z.plugin.zsh
# set for z.lua 功能上不如zsh-z-git完善
# eval "$(lua /usr/share/z.lua/z.lua --init zsh enhanced once)"
# set for zoxide instead of z.lua
eval "$(zoxide init zsh)"
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# 开启拼写检查,带颜色
autoload U colors && colors
setopt correct
export SPROMPT="Correct $fg[red]%R$reset_color to $fg[green]%r$reset_color [Yes, No, Abort, Edit]"
# 补全大小写敏感
autoload -Uz compinit && compinit
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' '+m:{A-Z}={a-z}'
# 切换npm为淘宝的cnpm,加速下载
# alias npm=cnpm
# 配置Pel
export PERL_BASE="/usr/local/perl"
export PERL_MM_OPT="INSTALL_BASE=$PERL_BASE"
export PERL_MB_OPT="--install_base $PERL_BASE"
export PERL5LIB="$PERL_BASE/lib/perl5"
export PATH="$PERL_BASE/bin${PATH:+:$PATH}"
export MANPATH="$PERL_BASE/man${MANPATH:+:$MANPATH}"
# For a full list of active aliases, run `alias`.
# Example aliases
# alias paru="paru --needed --noconfirm"
UGIT_COMMIT="${USER}@$(fastfetch |grep Host| awk -F'(' '{print $2}'|awk -F')' '{print $1}')"
UGIT_COMMIT=$(echo $UGIT_COMMIT | sed 's/ /\-/g')
alias \
zpull="git pull" \
zpush="git add . && git commit -m "$UGIT_COMMIT" && git push" \
del='trash-put' \
nvimdiff="nvim -d" \
ip="ip -color=auto" \
e="exa --long --header --color=auto --icons -a" \
ls="exa --header --color=auto --icons " \
grep="grep --color=auto" \
diff="diff --color=auto" \
bat="bat --color=auto" \
make="colormake" \
ping="gping" \
安装配置TexLive
在ArchLinux
中包含了软件包texlive
其包括了所有的宏包,同时也有texlive-doc
软件包,其包括了所有包的说明文档,体积较大,如果电脑一直联网则可以不安装texlive-doc
,
当使用texdoc
来查阅说明文档时,它会自动连网查询。
1 | sudo pacman -S texlive texlive-langchinese texlive-doc |
注意:当安装完texlive
后,其自动安装了命令texdoc
,
这方便查询宏包说明。在我的新台式机上采用了pacman
安装方式,以取代Texlive.iso
镜像的安装方法,
因为使用pacman
管理texlvie
可以不受每年都安装一遍texlive
的麻烦,实现一劳永逸。具体问题可以参考:
Texlive-ArchWiki
由于TexLive
每年都会有新的版本,可以下载带年份的也可以下载不带年份的ISO镜像。
- 下载安装镜像
Texlive.iso
: - 挂载ISO镜像
1 | sudo mount -o loop texlive2024.iso /mnt/ |
出现选项后,输入 I 直接安装(也可以更改选项)。不出意外的话,5 分钟应该就 OK 了, 然后退出 root 用户。
- 设置环境变量
如果在安装过程中选择了建立超链接,则不必考虑环境变量,所以,这样子可方便一些。texlive-en.pdf 中说明:
If you elected to create symlinks in standard directories (described in section 3.2.4), then there is no need to edit environment variables. Otherwise, on Unix systems, the directory of the binaries for your platform must be added to the search path. (On Windows, the installer takes care of this.)
- 卸载ISO镜像并更新texlive
1 | sudo umount /mnt/ |
- 默认情况下,会自动搜索合适的镜像来更新,也可以使用
–repository
选项指定了要使用哪一个CTAN
镜像。例如使用USTC
镜像:
1 | sudo tlmgr update --self --repository http://mirrors.ustc.edu.cn/CTAN/systems/texlive/tlnet/ |
- 为了方便我们也可以直接设置
texlive
源为国内源,例如切换为清华源或华中科技大学源
1 | sudo tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet |
- 字体设置
XeTeX和LuaTeX可以直接使用系统字体, 但Texlive自带的字体不在系统的字体目录中,所以当使用XeLaTeX 编译文件时,如果使用了texlive里面带的字体,就会出错,这时需要进行如下配置,让系统可以识别texlive所带的字体就可以了.
1 | sudo cp /usr/local/texlive/2024/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf |
大版本升级。下载新的ISO镜像,然后直接删除旧版镜像或者备份
清空路径1
sudo rm -rf /usr/local/texlive/2023
重复步骤1
sudo tlmgr path remove
1-5
, 重新安装最新版本。另外也可以直接参考官方不重装升级法:Upgrade from TeX Live 2023 to 2024, 这个方法我没有测试成功,感觉还是重新安装一下吧,问题较少。如果你能够提供一个标准的安装方法,请邮件联系本人,先行谢过了。卸载旧版
TexLive20**
的其他方法- 执行内置命令
sudo tlmgr remove --all
- 直接删除对应目录:
1
2
3
4
5
6sudo rm -rf /usr/local/texlive/20**
sudo rm -rf ~/.texlive20**
sudo rm -rf /usr/local/share/texmf
sudo rm -rf /var/lib/texmf
sudo rm -rf /etc/texmf
sudo rm -rf ~/.texlive
- 执行内置命令
自定义宏包的安装路径,为了确保在使用pacman
安装texlvie
和使用镜像texlive202*.iso
安装texlive
均能使用自定义宏包,应当把自定义的宏包存放在latex
的默认路径中,此处根据使用xelate
编译文件时的输入信息确定为:
1
/usr/share/texmf-dist/tex/latex/YourPackage/xxxx.sty
安装TeXmacs
安装基本程序和建立系统字体链接,确保可以输入中文:
1
2sudo pacman -S texmacs
ln -s /user/share/fonts/Windows11 $HOME/.TeXmacs/fonts/truetype/Windows11下载官方中文字体: Chinese fonts(6.8Mb) , 将字体保存到
~/.TeXmacs
下,然后执行命令:1
2gunzip -c TeXmacs-language-fonts.tar.gz | tar xvf -
rm ~/.TeXmacs/TeXmacs-chinese-fonts.tar.gz立刻使字体生效:
1
texmacs --delete-font-cache
参考资料:Texmacs 的安装配置
安装USB无线网卡驱动
在使用有线网络台式机,如果有一个USB的无线网卡提供无线网络服务,那我们的手机、平板等设备会方便不少。偶然机会获得一个TRL8188GU
无线网卡,经过互联网查询在Archlinux
成功启用此无线网卡,实现无线网分享上网。具体可以参考我的另一篇文章Archlinux安装USB无线网卡驱动,
安装软件为:
克隆下
rtl8xxxu
的源文件:1
git clone https://github.com/a5a5aa555oo/rtl8xxxu.git
如果您使用的
USB Wifi
发射器基于RTL8188GU
或RTL8192FU
芯片,您需要首先使用命令usb_modeswitch
或eject
切换到Wifi
模式。安装构建模块需要的软件包:
gcc
,make
,linux-headers
,dkms
和其他的依赖软件。构建和安装模块
使用传统方式
make clean modules && sudo make install
使用 DKMS 方式(推荐)
sudo dkms install $PWD
基于
ArchLinux
的发行版用户在
AUR
中安装软件包: rtl8xxxu-dkms-git1
paru -S rtl8xxxu-dkms-git
为芯片
RTL8188EU/RTL8188FU/RTL8188GU/RTL8192EU/RTL8192FU
安装固件(关键)sudo make install_fw
载入模块
sudo modprobe rtl8xxxu_git
驱动rtl8xxxu-dkms-git
是为利用
Linux mac80211
堆栈而编写的各种
Realtek RTL8XXX
部件的替代驱动程序。
已知该驱动程序适用于许多 RTL8723AU
,
RL8188CU
、RTL8188RU
、RTL8191CU
和
RTL8192CU
设备
此驱动程序正在开发中,功能有限集。特别是,它还不支持 40MHz 信道
和电源管理。但是,它应该比供应商驱动程序和内核 mac80211
堆栈中的 benetifs
内存占用量小。 它可以与
drivers/staging/rtl8723au
、
drivers/staging/rtl8192u
和
drivers/net/wireless/rtlwifi
的驱动程序共存,
但您需要控制要加载的模块. 已启用RTL8XXXU_UNTESTED
。
此选项可以检测尚未由驱动程序直接测试的
Realtek 8723/8188/8191/8192 WiFi USB
设备
作者或报告由第三方处理. 引用自package:
kmod-rtl8xxxu
安装绘图软件
1 | sudo pacman --needed --noconfirm -S pinta |
此处提供两个绘图软件pinta
和drawing
,替代windows中的画图软件,个人在使用中感觉pinta
相对更好用一些。除此之外还有一款适用于KDE
桌面环境的krita
,
它比pinta
功能更加强大,但是其要求电脑有更好的性能,所以电脑性能有限的情况下安装pinta
,
足够的话建议使用krita
.
安装截图工具
1 | sudo pacman --needed --noconfirm -S flameshot |
安装图像查看器
1 | sudo pacman --needed --noconfirm -S nomacs |
安装浏览器firefox
1 | sudo pacman --needed --noconfirm -S firefox xdg-desktop-portal xdg-desktop-portal-kde |
注意:2023年12月24日发现,cn
源内去除了tor-browser
,
所以不能使用pacman
安装了,
如果执行sudo pacman -S torbrowser
将会出现一个torbrowser
的安装器,它不是浏览器本身。
安装下载软件Xtreme Download Manager
Xtreme下载管理器是一款强大的工具,能提高下载速度达500%,保存流媒体视频,恢复中断下载,并安排和转换下载。XDM与Chrome、Firefox Quantum、Opera、Vivaldi等基于Chromium和Firefox的浏览器无缝集成,接管下载并保存网络流媒体视频。内置的视频转换器可将下载的视频转换为多种格式,支持100多种设备。
1 | paru --skipreview --noconfirm -S xdman-beta-bin |
xdm官网,点开链接→解压缩→切换到解压后的文件夹
xdm-setup-7.2.11
→执行脚本安装程序.
1 | cd ./xdm-setup-7.2.11 |
安装词典软件Goldendict
1 | sudo pacman --needed --noconfirm -S goldendict-ng-git mplayer |
- 配置词典:打开软件
goldendict
→点击编辑
→词典
→设置词典软件路径。 - 配置构词法规则:点击
构词法规则
→设置好构词法路径。 - 关闭全文搜索:点击
编辑
→首选项
→全文搜索
关闭全文搜索。 - 配置播放声音:切换到
音频
→播放
→使用外部程序播放:mplayer
。
1 | #! /usr/bin/env python3 |
translatorGD脚本配置方法
在使用脚本前,请输入申请到的百度帐号和密钥,小牛的密钥
Linux中配置
命令行 1
python "/home/feng/软件/goldendict/translatorGD.py" %GDWORD%
Windows配置
安装腾讯会议和QQ
1 | paru --skipreview -S wemeet-bin linuxqq |
安装音乐播放器
1 | paru --skipreview -S listen1-desktop-appimage |
安装小白羊云盘
1 | sudo pacman -S nodejs-lts-hydrogen |
aur
中有两个版本的小白羊云盘,分别是xbydriver-bin
和aliyunpan-gaozhangmin-bin
,前者更新快一些,但是会导致一些错误,同时基本的下载也不能保证,后者更新慢一些,估计应该是作者在修复问题,这一版可以完美运行,所以此处推荐安装后者。- 使用
paru
安装electron22-bin
是因为bin
版已经编译好,不再需要系统编译,成功率更高。 - 虽然
aliyunpan-gaozhangmin-bin
依赖于nodejs-lts-hydrogen
,但是在安装成功之后使用pacman
再安装最新的nodejs
后,小白羊云盘仍然可以正确运行。
关于Windows与Linux的双系统设置
文章前述是先安装好 Windows, 然后再安装 Linux
的操作步骤。但是在使用过程中不可避免的会遇到重装 windows的情况,比如我的
ThinkpadT490 由于安装的Windows11
随着升级变的越来越不好用,于是决定重新换回 Windows10 LTSC
版本,但是在安装完成后如前所述 Windows
的安装程序会覆盖掉
Linux
的引导程序grub
.
但是Linux
系统却没有受到影响,于是要恢复双系统在grub
中选择启动,需要重新构建一下grub
。
将启动U盘插入电脑
USB
口,重启电脑使其U盘启动。由于Ventoy是多系统启动盘,原来的系统安装的是
ArchLinux
, 于是选择ArchLinux
的镜像启动。在我的电脑分区情况下执行:
这样恢复grub双系统启动 1
2
3
4
5
6
7mount /dev/nvme0n1p2 /mnt/
mount /dev/nvme0n1p1 /mnt/boot/efi
mount /dev/nvme0n1p4 /mnt/home
arch-chroot /mnt
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ArchLinux
grub-mkconfig -o /boot/grub/grub.cfg
exitLinux
系统就完成了grub
的安装, 退出系统后重新启动。此时
grub
并没有识别到windows
的启动项,进入Linux
后,再次执行命令此时1
sudo grub-mkconfig -o /boot/grub/grub.cfg
grub
识别到windows
系统,重新系统则实现了双系统的完美选择启动。
软件故障修复
SDDM启动时英文改中文
当KDE升级为Plasma6后,发现刚安装的系统启动时登录界面一直显示英文,解决方法为:
修改文件/usr/lib/systemd/system/sddm.service
,
在[Service]
下添加Environment=LANG=zh_CN.UTF-8
,
即
1 | [Unit] |
Guake终端F12失效
2024年03月08日, 升级Archlinux后,KDE桌面环境由Plasma5升级为Plasma6,
其默认启用了wayland
,
这会导致guake
的F12
快捷键失效。解决方法为:
- 打开
Guake 首选项
→键盘快捷键
→切换Guake是否可见
, 点右侧的快捷键后,再按Backspace
键取消F12
绑定。 系统设置
→键盘
→快捷键
→新增
→命令或脚本
→输入guake-toggle
或guake -v
→添加自定义快捷键
→按F12
→右下角应用
。
文件管理器Dolphin挂载双系统的Windows11 NTFS分区失败
1 | sudo pacman --needed --noconfirm -S ntfs-3g |
注意:此命令是删除了之前系统挂载NTFS硬盘时,产生的多余错误标签,
并不会格式硬盘,不会造成资料损失,放心使用。如果您并没有遇到Dolphin
无法挂载NTFS
分区的情况,请忽视此问题修复。
Grub丢失导致系统无法启动
2023年12月29日,
由于设置BIOS时,点了F9
,导致BIOS恢复了默认设置。启动项中的Grub
丢失,系统无法启动。解决方法为:插入安装系统时的启动U
盘,然后按前述安装过程依次挂载各硬盘到指定目录(),
由于ArchLinux Live
默认没有安装os-prober
,
而此程序的作用就是自动探测操作系统,于是执行命令:
1 | mount /dev/nvme0n1p2 /mnt/ |
- 播放多媒体时不出声音了
2022-06-14 在使用firefox
版本号为
V101.0.1(64位)收看视频时,发现都默认禁用了声音自动播放,这里给出设置方法。
2023-12-12 firefox
版本号 V120.0.1(64位)
再次遇到这个问题。
点击右上角三个横杠
→点击左侧隐私与安全
→
点击右侧权限
→ 向下自动播放
→
向右设置...
→
最上面所有网站的默认值
设置为音频和视频
。
- 安装 firefox-ublock 插件
2022-10-07
在新安装的Archlinux上安装此插件时,由于网络原因不能正常访问uBlock
的发布网站,但是在Archlinux
下可以使用yay
或 paru
安装,安装到firefox
的命令如下:
1 | paru --skipreview -S firefox-ublock-origin |
- 升级KDE-Plasma6后不显示
最大化
、最小化
按钮
参考Firefox-ArchWik,采用4.5 KDE integration
的第二种方法:
1 | sudo pacman --needed --noconfirm -S xdg-desktop-portal xdg-desktop-portal-kde |
不知道从何时开始,火狐Firefox禁止中国大陆IP访问商店内的广告拦截扩展页面。当打开uBlockOrigin
, AdGuard,AdBlocker 等页面时,会显示“此页面在您的地区不可用”
。所以本节记录手动安装uBlock
的方法。
- 打开
uBlock
发布页https://github.com/gorhill/uBlock/releases - 点击发页页上对应Firefox的发布链接,等待安装即可。
ThinkPad-T490 识别M2. 2248固态硬盘
在安装好TLP
之后解决了ArchLinux
无法从睡眠中唤醒的问题,意外的部分解决了M2. 2248
固态硬盘的识别问题。说其部分解决,因为系统正常启动后并不识别这个外加于WWAN
口上的固态硬盘,其在睡眠后再唤醒,文件管理器Dolphin
左侧就可以识别出此硬盘。在Windows
下启动后就是识别的,而在Linux
下部分的识别也是一大进步。
关于这个问题,或许是系统启动机制导致的,Linux
启动时会扫描硬盘识别硬件,但是这个WWAN
口本是一个无线网卡槽,所以不是标准设计,系统就没有识别。但是,睡眠后再唤醒,这期间电脑肯定又触发了某一个操作,此操作使得系统识别了这个M2. 2248
固态硬盘,只是目前我还没有确定是哪一个操作,如果把这个操作添加到开机启动中,那么这个问题也就完全解决了。当前时间, 先记录下这个问题,待后面研究透后,再来修改。
修复ASUS华硕主板在AMD CPU下的启动BUG
最近入手一台组装机,主板型为华硕TUF-GAMING-B550M
,
出厂日期为2020年,每次启动时会出现错误提示信息No irq handler for vector
,
经过文章"No
irq handler for vector" messages during boot with AMD CPU,
得到答案,这个错误提示是原来的BIOS
的BUG
,
更新到最新的BIOS
即可解决。解决方法为:
- 到华硕官网下载对应型号的
BIOS
: - 解压缩
TUF-GAMING-B550M-PLUS-WIFI-ASUS-3607.zip
到U盘
中,得到TUF-GAMING-B550M-PLUS-WIFI-ASUS-3607.CAP
- 重启系统,按
DEL
键进入到BIOS
, 再切换到Tool
选项卡,并点击ASUS EZ Flash
. 选择Storage
模式(本地更新更安全), 找到U
盘中存放的文件TUF-GAMING-B550M-PLUS-WIFI-ASUS-3607.CAP
, 稍后便开始自动更新。 - 确保电源稳定,不乱动鼠标,静等更新完毕。更新
BIOS
完成后,重新启动电脑,再次进入到BIOS
中就可以看到更新好的最新版本BIOS
版本了。 - 更新
BIOS
固件后,错误提示消失,电脑正常工作。 - 参考文章:
- 如何更新主板的BIOS(包括不同CPU世代)
- 华硕主板如何升级bios?保姆级教程来啦!, 升级前重点看一下此视频。
台式机接耳机时有嗒嗒声
在淘宝上买了一个14元的音响,连接电脑后发现有电流的噪音,于是今天暂时替换掉这个音响,转而使用蓝牙音响,此噪音消失。晚上插上耳机测试时,发现总是有规律的发出嗒嗒声,百度之后有人说是连接耳机孔的线与其他USB线的缠在一起,会有电磁感应,理论上这不可避免,但是如此有规律声响应当就是电脑运行时发出的电磁波产生的干扰。解决问题的关键应该是!真正的原因是,耳机的连线较长,它恰好充当了天线的作用!电脑工作时发现的有规律的电磁波会被它接收到,于是就有了这个有规律噪声,
而好一些的耳机在线上会有金属膜屏蔽外界信号或耳机有降噪功能,这样就不会嗒嗒声了。记住换个好点的耳机哈^_^
Nautilus卡死
这两天实然Nautilus
和Firefox
都变的很不稳定,总是卡死,今天找到问题所在:因为对系统升级或安装卸载软件,导致一些系统不再需要的软件包仍有残余,从而使一些软件变的不稳定。解决方法是,当升级或安装卸载一些软件后,要及时使用命令sudo pacman -Rns $(pacman -Qtdq)
清理掉无用的软件包。
蓝牙无法打开
由于系统升级等操作有可能造成蓝牙无法打开
, 在文章Ubuntu
20.04出现蓝牙无法打开的问题(已解决)中共找到以下四种解决方案:
1.
卸载并重新加载btusb
内核模块(支持蓝牙设备的内核模块)
1 | sudo rmmod btintel |
2024年08月02日遇到此问题,通过重新加载btusb
解决。2024年08月29日升级ArchLinux后再次遇到此问题,通过上述方法成功修复,于是做出修改。
2. 安装蓝牙工具和工具包
1 | sudo pacman -S --needed --noconfirm bluez bluez-utils pipewire-pulse bluedevil blueman |
3. 启动蓝牙服务
1 | sudo service bluetooth start |
4. 重新解除蓝牙设备的阻止
1 | rfkill block bluetooth |
硬件故障修复
电脑开机噪音变大
如果是用润滑油的风扇,那么时间用长了之后里面的润滑油会渐渐挥发掉,再加上现在气温很低,必然出现噪音的现象,建议给风扇加润滑油。打开机箱开机,仔细听听是哪个风箱发出的噪声,然后把风扇拆下,揭开风扇上的标签,会看到一个轴承,滴二滴润滑油就行了。
跟机箱内灰尘也有一定关系,建议定期除尘。
机箱外壳与机体衔接不紧,风扇在运转的时候会产生轻微振动导致外壳和机体连接不紧处产生噪音,建议重新安装机箱外壳,再不行就把外壳稍稍弄弯一点点,使得外壳与机体衔接更紧密。
电脑主机要放在一个平稳而坚固的台面上(比如地上)。
如机箱发出噪音应在适当的地方贴上泡沫塑料条,再盖紧机箱盖。
如果用户的电源噪音是由于开机的瞬间高电流造成的,可以安装滤波器或者是换用一个质量更好的电源,防止大电流冲击产生噪音。还可以购买一些具有滤波器功能的智能电源插座连接主机,以确保电脑电源不受到外界电流的干扰。
2.4G
无线键盘延迟
2.4G
无线键盘使用相当广泛,相对而言罗技、雷柏等大品牌对于无线信号处理较好,所以其不会发生无线电干扰。相对而言,一些国产的无线键盘鼠标都使用的公版2.4G
发射接收装置,对于有多个无线装备的电脑,特别是台式机后机箱的USB
插孔会导致2.4G
频段的信号发生干扰,从而导致无线信号的丢失,于是出现了漏掉字母,输入延迟等故障。解决方法很简单:使用一根USB
延长线,将2.4G
发射器放在远离主机箱前后的位置。
附录:Windows纯净版系统下载
直接下载
下载站
参考文章
- 安装教程参考
- Pacman 使用手册
- 配置国内源参考
- 最初配置: ArchLinuxCN软件仓库
- 标准配置: Arch Linux 中文社区仓库
- 配置电源管理参考
- 配置
nvim
参考
- 配置
Goldendict
参考