ArchLinux安装指南
ArchLinux是一款灵活、强大、可定制的Linux发行版,提供丰富的软件包和工具,支持滚动更新和多种桌面环境,拥有庞大的社区支持和方便的包管理器,适合各种用户需求和使用场景。Endeavour 是一个基于ArchLinux的轻量级和用户友好的发行版,预装了桌面环境和预配置的软件包,旨在提供一个无忧的ArchLinux体验。本手册给出ArchLinux及其衍生版官方网站, 提供完整可靠的安装流程和很多典型问题的有效解决方案,如果您追求省心,开箱即用,请安装Endeavour, 如果您追求简洁的极致体验,请选择ArchLinux。由于个人能力有限,出现错误在所难免,欢迎反馈问题,交流学习共同进步。
版本选择
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
才是最佳选择。
制作启动盘
下载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
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
是windwos11
安装过程中自动生成的,由于安装windwos11
的空间不允许小于54G,所以给了它55.4G, 由于我的电脑安装了单独的2242 m2
硬盘,windwos11
可以自动识别,所以只给windwos11
留一个可以安装启动的空间就可以了。
格式化和挂载分区
1 | mkfs.fat -F32 /dev/nvme0n1p1 |
如果您不熟悉命令行分区操作,可以启动一个Live
发行版,使用其内置的磁盘分区工具在图形界面下分区,然后再转回到文本安装Archlinux
。推荐基于Archlinux
的Manjaro
,启动镜像后使用Gparted
来分区即可。
如果是重装系统,那,因为里面保存有Windows
的启动引导程序,直接挂载就可以了。
换国内源
打开官方镜像源网址:https://archlinux.org/mirrors/
点击第二列
Country
, 于是各国家可用镜像按字母顺序排列,找到China
编辑
/etc/pacman.d/mirrorlist
添加国内源即可
由于换源属于一个使用频率相当低的操作,所以建议使用手动配置。
国内常用的:选择在,并且是位于中国的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
,
在问题没有被官方解决前可以使用手动方法切换镜像,对于低频率操作影响不大。
安装系统
1 | pacstrap /mnt base base-devel linux linux-firmware |
至此系统安装好,由于还没有配置,暂时无法使用。
设置系统
切换到安装在硬盘中的系统
1 | arch-chroot /mnt |
安装必要软件
1 | pacman -S grub efibootmgr vim neovim iwd dhcpcd sudo networkmanager os-prober fastfetch |
fastfetch 在终端上输出本机信息,另外还有 screenfetch 和 neofetch, 因为 fastfetch 是用 C 语言写的,所以速度极快。
启用网络
1 | systemctl enable dhcpcd NetworkManager iwd |
设置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 |
安装桌面环境
作为一名资深Linux使用都,我推荐大家使用Plasma5
,
目前它已经相当稳定。最初我从Plasma4
转到Gnome3
是因为Plasma4
经常崩溃,但是到了Plasma5
就稳定了。在使用Gnome3
的过程中,发现它也很优秀,它很干净整洁,没有过多的配置选项,美观独特,但是想要提高工作效率还必须安装一些Gnome3
的插件才行,比如hide-top-bar
、dash-to-dock
,这两个是必备插件,但是这也成为了它的致命缺点,每次Gnome3
大版本升级时,一大批插件就会挂掉,而且不能做到同步更新,插件失效的空白期是相当影响工作效率的。比如hide-top-bar
到现在已经过去二个月了,还没有适配Gnome3 V45
,
这也是直接导致我选择KDE-Plasma5
的原因,所以推荐大家工作的话还是使用KDE-Plasma5
吧,因此我把它放在了默认标签打开。
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
1 | sudo pacman -S gnome gdm wqy-microhei |
安装Nvidia显卡
安装显卡
1 | sudo pacman -S dkms nvidia-dkms nvidia-utils glxgears |
注意:在我安装完ArchLinux后,原本按nvidia官方的方法配置了显卡,但是发现系统启动后不能正常加载模块,在2024-01-01升级完系统后,更是无法启动系统,这让我误以为滚挂系统但问题绝对不会是nvidia官方显卡的使用方式,但是排查下来发现问题确实还真是它。在没有足够时间研究这个问题的时候,我决定安装Endeavour
,结果发现表现良好!于是直接借用了Endeavour
的配置方式,使用dkms
的方式使用nvidia
,
详细技术请参考:DKMS
。glxgears
命令会出现一个转动的齿轮,用来测试独立显卡是否工作。经测试均正常工作。此命令没有实质性作用,测试完成后可以删除。
安装电源管理软件
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
,
重启后发现不再有模块登录失败的提示。
ThinkPad-T490 识别M2. 2248固态硬盘
在安装好TLP
之后解决了ArchLinux
无法从睡眠中唤醒的问题,意外的部分解决了M2. 2248
固态硬盘的识别问题。说其部分解决,因为系统正常启动后并不识别这个外加于WWAN
口上的固态硬盘,其在睡眠后再唤醒,文件管理器Dolphin
左侧就可以识别出此硬盘。在Windows
下启动后就是识别的,而在Linux
下部分的识别也是一大进步。
关于这个问题,或许是系统启动机制导致的,Linux
启动时会扫描硬盘识别硬件,但是这个WWAN
口本是一个无线网卡槽,所以不是标准设计,系统就没有识别。但是,睡眠后再唤醒,这期间电脑肯定又触发了某一个操作,此操作使得系统识别了这个M2. 2248
固态硬盘,只是目前我还没有确定是哪一个操作,如果把这个操作添加到开机启动中,那么这个问题也就完全解决了。当前时间, 先记录下这个问题,待后面研究透后,再来修改。
安装蓝牙服务
KDE-Plasma5 配置BlueTooth
1 | sudo pacman -S --needed --noconfirm bluez bluez-utils pipewire-pulse bluedevil |
以前的教程中安装的pulseaudio-bluetooth
与现在pipewire-pulse
冲突,但是当前的pipewire-pulse
是自动安装上的,所以从依赖角度讲它是最新的,因此不准备删除,经测试确实效果很好。
Gnome3 配置BlueTooth
1 | sudo systemctl enable bluetooth.service |
上述命令是启动蓝牙服务,archlinux
默认不启用蓝牙服务。然后修改蓝牙配置文件/etc/bluetooth/main.conf
,找到AutoEnable=true
取消注释,使其默认启动蓝牙服务。
安装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下使用官的固件升级软件处理。
退出换根并重启
1 | exit |
重新启动后拔掉U盘
完成安装。
基础设置
配置国内镜像源
在安装阶段我们已经配置了镜像源,但那是在Live
系统上做的配置,为了方便安装系统和软件。
安装好的ArchLinux
默认镜像源也是由安装阶段所设置的,刚刚安装的镜像与Live
系统不
一样,它不包括自动选择镜像的程序reflector
,
它是一个Python
编写的脚本,会自动从
https://archlinux.org/mirrors/status/
上获取镜像地址,可以通过参数筛选出自己需要的镜像地址。为了方便自己设置,需要先安装一下,然后切换到自己想要的源就可以了。
1 | sudo pacman -S reflector |
配置国内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
sudo pacman -S archlinuxcn-keyring
安装
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 ./Fonts/Adobe/* /usr/share/fonts/Adobe/ |
设置系统为中文
要设置整个系统使用的区域设置,需要在 /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 = YourEmail
name = YourName
[url "https://hub.yzuu.cf/"]
; [url "https://hub.njuu.cf/"]
; [url "https://hub.nuaa.cf/"]
; [url "https://kkgithub.com/"]
; [url "https://gitclone.com/github.com/"]
insteadOf = https://github.com/
注意:此配置全局git
为github.com
镜像是最简单的一劳永逸的方法,稍微麻烦但更加有效的方法参考:使用Git下载Github资源的有效方法
安装paru
或yay
安装paru
或yay
,
最新的paru
表现更好,建议安装。
- 安装
paru
1 | sudo pacman -S paru |
- 使用
paru
时跳过审阅并自动确认安装
1 | paru --skipreview --needed --noconfirm -S foobar |
- 关闭默认审阅流程的方法: 在配置文件
/etc/paru.conf
内增加SkipReview
。参考 Paru默认关闭审阅流程
- 在
archlinuxcn
源安装
1 | sudo pacman -S yay |
- 编译安装
1 | pacman -S --needed 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 -S vifm
修改配置文件
/etc/paru.conf
,取消注释/etc/paru.conf 1
2
3
4[bin]
FileManager = vifm
#MFlags = --skippgpcheck
#Sudo = doas
系统会提示你审查该软件包→输入 Y 并按下回车→从文件管理器中选择 PKGBUILD →按下回车查看软件包→做出修改。你所做的任何改变都将是永久性的,下次升级软件包时,你的改变将与上游软件包合并。。
配置桌面环境
对于桌面环境的配置,主要是配置MacOS
的WhitSur
主题,由于已经配置了ArchLinux
的CN
源和安装了Paru
也可以使用Aur
所以使用Pacman
或Paru
来安装皮肤比自行下载手动安装要好。本教程使用Aur
源安装:
1 | paru --skipreview --needed --noconfirm -S plasma5-themes-whitesur-git |
一般安装好后系统自动配置好了,同时如果有更新也可以及时更新。需要做的工作:
-
启用全局主题:
系统设置
→外观
→全局主题
→WhitSur
(选中桌面和窗口布局)。 之后系统的桌面就配置成WhitSur
主题了,但是桌面背景还是黑色的,说明这几个包设计的不是很完善,这时只要右键设置背景图片就可以了。 -
启用登录屏:
设置
→开机与关机
→登录屏幕(SDDM)
, 选择WhitSur
-
配置启动
Latte
停靠栏: 在Latte
上右键→配置Latte
,选中开机启动。然后对应布局编辑器
选择WhitSur
。 -
配置状态状态栏,安装好主题后状态栏并没有配置好,配置步骤:
状态栏上右键
→编辑模式
→更多选项
→最大化面板
,否则状态栏上的内容会显示不出来。 -
配置
Fcitx5
使用自带皮肤,完成第一步时其实就可以了。如果第一步没有输入法面板
, 那需要添加系统托盘
,此时显示就正常了。参考KDE下设置Fcitx5 -
手动安装
WhitSur
主题请参考: ArchLinux安装Plasma5 -
由于
Grub
主题使用paru
安装时不能自动配置,所以改成了手动安装。而WhiteSur-gtk-theme
仅用来设置firefox
主题,需要再安装主题。
- 安装浏览器插件
在安装gnome
插件前,需要先安装浏览器插件才能通过https://extensions.gnome.org
安装插件。
1 | yay -S chrome-gnome-shell |
2022年11月01日
升级完系统发现插件gnome-shell-hidetopbar-git
不能正常工作了,于是打开安篇之前写好的文档,计划从网页安装插件。但是执行上述命令时发现找不到了!!然后通过
GNOME
Shell browser integration Installation Guide
找到答案。因为这个插件更名了,于是执行如下命令解决问题:
1 | yay -S gnome-browser-connector |
或者使用命令
1 | $ git clone https://aur.archlinux.org/gnome-browser-connector.git |
之后安装插件 dash-to-dock
和 hide-top-bar
基本完成操作。
- 安装
Gnome
主题
1 |
yay -S whitesur-gtk-theme-git whitesur-icon-theme-git cursor-theme-macos-big-sur |
注意此安装Grub主题必须切换到root权限。如果更像苹果系统则,请再安装图标插件
Logo Menu
,这样子左上角的Archlinux
标志将会换成Mac
标志,同时增加了对应的菜单。
- Dash-To-Dock 升级Gnome 42-
在我使用Manjaro作为主力办公的时候,于2021年7月7日升级时发现此拓展失效,通过浏览器无法安装。同时于2022年04月10日升级ArchLinux后发现此拓展在Gnome42版本下失效,于今日在dash-to-dock的用户评论中发现了解决方案https://github.com/tau-OS/dash-to-dock,于是通过gitee克隆后顺利安装,由于此拓展的重要性,所以专门记录其手动安装。
- 将插件dash-to-dock 直接clone到本地
1 | $ git clone git@gitee_key_one:fengzhenhua/dash-to-dock.git |
- 安装编译插件所需的软件及设置环境变量
1 | # pacman -S sassc |
- 编译安装插件
1 | # exit |
关闭文件索引
由于文件索引会消耗大量的资源,这就导致了电脑温度过高,风扇逛转不停,而现实的使用过程中对于搜索的要求并不高,一般人都能够合理的安排自己的文件位置。于是关闭这项服务可以更好的发挥计算机性能,总体来讲利大于弊。
关闭KDE Plasma5
文件索引!
使用命令关闭
1
2
3balooctl disable
balooctl suspend
balooctl status通过图形界面关闭:点击
系统设置
→搜索
→文件搜索
→去掉启用文件索引
前的对号→右下角应用
关闭Gnome3
文件索引
使用
gsettings
禁用tracker-miner
应用同时删除旧数据1
2gsettings set org.freedesktop.Tracker.Miner.Files crawling-interval -2
gsettings set org.freedesktop.Tracker.Miner.Files enable-monitors falsetracker reset --hard
或者禁止
tracker-*
软件启动1
2
3sudo sed -i "s/X-GNOME-Autostart-enabled=true/X-GNOME-Autostart-enabled=false/g" /etc/xdg/autostart/tracker-*.desktop
tracker reset --hard
tracker reset --hard
删除多余的EFI
启动项
有时候重装系统的时候为了保留原来的启动项而不对EFI
分区重新格式化,这导致了每安装一次系统都会在EFI
分区留下一下之前的启动项。这时为了纯净可以删除之前的启动项,不过一定要仔细判别,不要删错了文件。文件目录在
1 | /boot/efi/EFI |
修改启动选项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 |
或者打开「注册表编辑器」,定位到
计算机\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 时间。
安装解压缩软件
Ark
是KDE
桌面环境默认的归档管理器,支持插件设置,允许你创建一个压缩包,查看压缩文件的内容,解压压缩包的内容到你所选定的目录。它能处理多种格式,包括
tar、gzip、bzip2、zip、rar 和 7z等。 1
sudo pacman -S ark p7zip-natspec unarchiver lzop lrzip arj zip unzip
File Roller
是GNOME
桌面环境的默认归档管理器,不支持插件设置,允许你创建一个压缩包,查看压缩文件的内容,解压压缩包的内容到你所选定的目录。它能处理多种格式,包括
tar、gzip、bzip2、zip、rar 和 7z等。 1
sudo pacman -S file-roller p7zip-natspec unarchiver lzop lrzip arj zip unzip
在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
1 | sudo pacman -S fcitx5-git fcitx5-gtk-git fcitx5-qt5-git fcitx5-qt4-git fcitx5-qt5-git fcitx5-qt6-git |
配置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
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
插件1
vim +PlugInstall +qall
导入完整配置
1
2rm $HOME/.vimrc
curl -o $HOME/.vimrc https://gitlab.com/fengzhenhua/fzhconfig/-/raw/main/vimrc\?inline\=false
注意:已经配置vim-plug 通过命令:PlugUpdate自动更新,请勿执行:PlugUpgrade !!
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/
解决 WARNING "Neovim::Ext" cpan module is not installed
1
2
3sudo pacman -S --needed --noconfirm cpanminus
sudo cpanm -n Neovim::Ext
cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
Neovim健康检查
在安装Neovim
后自检发现还有一些插件的依赖程序,没有安装,执行下述命令:
1 | sudo pacman -S wget cargo composer php luarocks ruby julia ripgrep fd |
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-fresh libreoffice-fresh-zh-cn calibre zotero goldendict-ng-git python-requests mplayer speech-dispatcher |
上述工具依次为:下拉式终端、邮件客户端、办公套装libreoffice、 电子图书库、文献管理、电子词典、视频播放、语音合成(firefox依赖)
1 | paru --skipreview --noconfirm -S xdman-beta-bin wemeet-bin linuxqq listen1-desktop-appimage aliyunpan-gaozhangmin-bin |
上述工具依次为:下载工具、腾讯会议、腾讯QQ、音乐播放器、小白羊阿云盘
安装配置TexLive
由于TexLive
每年都会有新的版本,可以下载带年份的也可以下载不带年份的ISO镜像。
- 下载安装镜像
Texlive.iso
: - 挂载ISO镜像
1 | sudo mount -o loop texlive2021.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/2021/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf |
问题修复
文件管理器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/ |
安装截图工具
1 | sudo pacman -S flameshot |
安装图像查看器
1 | sudo pacman -S nomacs |
安装浏览器firefox
1 | sudo pacman -S firefox |
注意:2023年12月24日发现,cn
源内去除了tor-browser
,
所以不能使用pacman
安装了,
如果执行sudo pacman -S torbrowser
将会出现一个torbrowser
的安装器,它不是浏览器本身。
- 播放多媒体时不出声音了
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 |
不知道从何时开始,火狐Firefox禁止中国大陆IP访问商店内的广告拦截扩展页面。当打开uBlockOrigin
, AdGuard,AdBlocker 等页面时,会显示“此页面在您的地区不可用”
。所以本节记录手动安装uBlock
的方法。
- 打开
uBlock
发布页https://github.com/gorhill/uBlock/releases - 点击发页页上对应Firefox的发布链接,等待安装即可。
安装下载软件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 -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 | paru --skipreview -S aliyunpan-gaozhangmin-bin |
注意:aur
中有两个版本的小白羊云盘,分别是xbydriver-bin
和aliyunpan-gaozhangmin-bin
,前者更新快一些,但是会导致一些错误,同时基本的下载也不能保证,后者更新慢一些,估计应该是作者在修复问题,这一版可以完美运行,所以此处推荐安装后者。
参考文章
- 安装教程参考
- Pacman 使用手册
- 配置国内源参考
- 最初配置: ArchLinuxCN软件仓库
- 标准配置: Arch Linux 中文社区仓库
- 配置电源管理参考
- 配置
nvim
参考
- 配置
Goldendict
参考