Loading

Archlinux安装(超详细)

Archlinux安装与美化全流程

本文是自己写的并且搬运少部分https://arch.icekylin.online/prologue.html的内容

一. 镜像制作

1. 下载

Arch官方下载界面

阿里云镜像站下载

注意:官网下载页面下拉可以看多很多国家的镜像源!

⚠️ 注意:

请确保下载最新的安装镜像!因为 archlinux 是滚动发行版,不存在使用旧的安装镜像安装旧版本的说法。

2.镜像烧录

准备一个 2G 以上的 U 盘,刻录一个安装盘。

2.1 Windows

Windows 下推荐使用 VentoyRufus 或者 Power ISOEULA 进行 U 盘刻录。三者皆为免费使用的软件。具体操作请自行查阅,都非常简单除此之外,如果你还嫌麻烦,还可以使用更为简单的安装盘制作工具 balenaEtcher

2.2 Linux

Linux 下同样可以使用 Ventoy 和 balenaEtcher,具体步骤可参阅 Ventoy(推荐) 以及 balenaEtcher

也可以直接用 dd 命令进行刻录,具体步骤可参阅 dd 命令

下面是使用 Rufus 进行镜像烧录

下载好 Rufus 后打开,插入要写入的U盘

然后选择要烧录系统的U盘(设备没有可选项?勾上显示USB外置硬盘即可!)

选择要烧录的镜像

分区类型选择GPT格式

目标系统类型选择UEFI

文件系统选择FAT

点击开始并以ISO镜像模式写入即开始镜像烧录

注意:烧录镜像默认会格式化U盘,请提前备份好数据!

二. USB启动安装

1.启动到 Live 环境

根据ArchWiki介绍,Arch是不支持安全启动的,而一般电脑默认开启安全启动,所以需要先到BIOS里面关闭安全启动( Secure Boot ),注意需要先关闭Windows的快速启动。

#关闭 BIOS 设置中的 Secure Boot
在类似名为 security(安全)的选项卡中,找到一项名为Secure Boot(安全启动,名称可能略有差异)的选项,选择 Disable 将其禁用。

设置好以后将刚才烧录的U盘插入电脑,然后开机,在开机的时候,按下 F2 / F8 / F10 / DEL 等(取决与你的主板型号,具体请查阅你主板的相关信息)按键,进入主板的 BIOS 设置界面。进入Live环境。选择第一项 Arch Linux install medium (x86_64, UEFI) 开始加载安装程序,如果不是类似界面,请检查BIOS设置或者U盘烧录是否正确。

正式进入 Arch 的 U盘系统后,对于没有怎么接触过Arch的人可能比较惊讶,为什么不是图形界面?没错,Arch 安装镜像只包含了系统一些基础组件,并没有图形界面,需要用户安装好系统之后自行安装,这样虽然麻烦,但是却给了用户更多的选择,可定制化程度更高。

2.正式安装

2.1 禁用 reflector 服务

2020 年,archlinux 安装镜像中加入了 reflector 服务,它会自己更新 mirrorlist(软件包管理器 pacman 的软件源)。在特定情况下,它会误删某些有用的源信息。这里进入安装环境后的第一件事就是将其禁用。也许它是一个好用的工具,但是很明显,因为地理上造成的特殊网络环境,这项服务并不适合启用。

1.通过以下命令将该服务禁用:

systemctl stop reflector.service

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

systemctl status reflector.service

2.2 检查是否UEFI启动

ArchLinux 只支持UEFI模式启动的电脑,所以第一步便是检查当前电脑是否为UEFI启动,在终端输入以下命令。如果出现大量文件则正常否则该电脑可能不支持安装ArchLinux。

ls /sys/firmware/efi/efivars
# 提示:如果没有报错就是支持UEFI
若输出了一堆东西(efi 变量),则说明已在 UEFI 模式。否则请确认你的启动方式是否为 UEFI。

2.3 连接网络

防止网卡被禁用,使用以下命令解除网卡禁用:

rfkill unblock all

usb直连:ArchLinux安装需要下载一些软件,需要保证网络通畅,ArchLinux不会默认连接网络,建议手机开usb热点电脑连接,不用额外配置。

wifi 连接:输入 iwctl 进入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 连接界面

测试网络是否连接成功:

ping www.baidu.com -n

2.4 更新系统时间

更新系统时间是有必要的,因为下载软件是服务器会验证系统时间,如果时间不正确,可能出现下载失败的情况,输入以下命令同步系统时间为准确时间:

timedatectl set-ntp true # 将系统时间与网络时间进行同步
timedatectl status		 # 查看系统时间状态,检查是否成功 看到(system clock synchronized :yes)这一句就是成功了

2.5 换源

为保证安全与方便,Linux系统绝大多数软件都是在官方网站下载的,但是ArchLinux官方网站在国外,国内访问的话有点慢,国内有专门的镜像站可以直接从国内服务器下载软件包,就相当于在官网下载的并且镜像站都是每天更新,软件包也是最新的。

ℹ️ 提示

如果不会使用 vim 编辑器,请参阅 这里vim 编辑器在安装和配置系统的过程中还需要使用多次。

# 备份原来的配置文件
cp -a /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak

# 编辑配置文件
vim /etc/pacman.d/mirrorlist

# ---------------下面为vim操作,不同于终端-------------

# 找到第一个 Server=... 的行在该行上一行写入以下内容
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 # 阿里云镜像站

# --------------------------------------------------
#也可以按/,搜索China,找到中科大的镜像源,然后2dd 剪切2行,再按GG回到第一行,按 p 粘贴

更新软件包

pacman -Syy

2.6 硬盘分区

分区就是为了上面讲到的挂载,不同分区有不同的大小,呈现在文件系统里面就是不同目录有不同大小,下面是我安装 ArchLinux 时的分区情况:

# efi + gpt
/分区:      150G   挂载目录: /	类型:Linux filesystem    作用:存放系统其他文件
/home分区: 300G   挂载目录:/home    类型:Linux Home      作用:存放用户文件,/home/用户名 为指定用户根目录
boot分区:   1G	挂载目录: /boot    类型:EFI System      作用:引导文件存放
swap分区:   16G   挂载目录:无        类型:Linux Swap      作用:系统恢复分区,系统挂起或内存不足时可能会被当作 ROM 使用

# biso + mbr
/分区:      150G   挂载目录: /		类型:Linux     作用:存放系统其他文件
/home分区: 300G   挂载目录:/home     类型:Linux      作用:存放用户文件,/home/用户名 为指定用户根目录
swap分区:   16G   挂载目录:无        类型:Linux Swap      作用:系统恢复分区,系统挂起或内存不足时可能会被当作 ROM 使用

自己可以根据自己的具体情况合理分配,不过我还是建议 /boot 分区不小于800M,/分区不小于30G,这是Arch官方推荐情况。

下面命令用来查看系统的分区情况:

#查看磁盘分区
lsblk
#分区
fdisk -l

我的ArchLinux安装到 /dev/nvme0n1 (后面的p1 p2这些就是分区,外接U盘一般为/dev/sdx1 /dev/sdx2等),输入 cfdisk /dev/nvme0n1 进入分区界面

cfdisk /dev/nvme0n1

# ----------------------cfdisk界面---------------------

# cfdisk 是图形化的分区,比fdisk简单很多
# 下面有一行操作文件,通过左右方向键可以移动到不同选项。上下方向键可以选择不同分区进行操作
# [New]选项为新建分区,将方向键选择到未分配的分区,选择[New]选项,回车后会提示新分区大小,输入大小即可创建一个新的分区
# [Quit]可以退出 cfdisk ,并且不保存修改,也就是之前做的操作一律作废
# [Help]选项可以查看 cfdisk 帮助
# [Write]选项才是真的执行写入操作,使用后会对操作的磁盘执行写入,以前做的修改会生效
# [Type]选项可以改变分区类型,boot分区选择EFI分区类型,根分区和home分区选ext4类型,swap分区选择Linux swap类型

分区可以按照上面列出的方案,swap可以不要,但是 boot分区、根分区和home分区是必须的。分好后记得选择 [Write] 写入之后再选择 [Quit] 退出,分区错误可以选择 [Delete] 删除分区之后重新分配,写入前请再三检查,特别是选择双系统安装的,不要把其他系统数据删除了。分区完成后输入 fdisk -l 查看分区。

2.7 格式化分区

上面的操作只是分区,需要进行格式化,不同分区需要不同的格式。格式化分区会删除所有数据,千万小心操作!

一般分区都有跟分区(/)、交换分区(swap)、引导分区(boot)

格式化根分区和home分区:根分区和home分区都是Linux常见的 ext4 格式

Btrfs格式可以看这个

# <disk> 为你刚才分区时指定的分区,如果忘记可以使用 fdisk -l 查看
mkfs.ext4 /dev/<disk> 

# 例如:
# mkfs.ext4 /dev/nvme0n1p1
# mkfs.ext4 /dev/nvme0n1p2

格式化boot分区:引导分区采用的是FAT格式

# <disk> 为你刚才分区时指定的分区,如果忘记可以使用 fdisk -l 查看

mkfs.fat -F 32 /dev/<disk> 或者 mkfs.vfat /dev/sda1

# 例如:
# mkfs.fat -F 32 /dev/nvme0n1p3

格式化swap分区:交换分区不需要挂载,采用特定格式

mkswap /dev/<device>

# 例如:
# mkswap /dev/nvme0n1p4

2.8 挂载分区

根据上面的分区方案,将不同分区挂载到不同目录

# 假设分区方案为:
# 根分区     ->   /         ->  /dev/nvme0n1p1
# home分区   ->   /home     ->  /dev/nvme0n1p2
# boot分区   ->   /boot     ->  /dev/nvme0n1p3
# swap分区   ->   不挂载    ->   /dev/nvme0n1p4
# Linux分区由根分区开始,所以必须先挂载根目录 才能挂载其他目录,然后创建文件夹,挂载

# 挂载 / 目录
mount /dev/nvme0n1p1 /mnt

# 创建 /home 目录
mkdir /mnt/home
mount /dev/nvme0n1p2 /mnt/home # 挂载 /home 目录

# 创建 /mnt/boot 目录
mkdir /mnt/boot
mount /dev/nvme0n1p3 /mnt/boot # 挂载 /mnt/boot 目录

# 挂载交换分区
swapon /dev/nvme0n1p4 

使用 df 命令复查挂载情况:

df -h

使用 free 命令复查 Swap 分区挂载情况:

free -h # -h 选项会使输出以人类可读的单位显示

2.9 安装系统

1.主要安装基本系统和几个待会需要用到的工具。等待安装完成,如果没有报错可以进行下一步,通过如下命令使用 pacstrap 脚本安装基础包:

#往/mnt目录里安装系统
#其中最基础的四个包是base base-devel linux linux-firmware
#linux-lts (lts:稳定版)
# 如果内核安装了稳定版,那么独显也要是稳定版的,要不然就会发生问题(我也不知道什么问题)
pacstrap /mnt base base-devel linux linux-firmware 
vim git dhcpcd e2fsprogs iwd

如果用了旧版镜像导致无法下载,一般显示GDP密钥出错,出现“User is unknown trust, installation failed“。先要安装最新密钥pacman -S archlinux-keyring。如果不是这个问题,就更新一下签名:pacman-key --refresh-keys

📑 命令参数说明:

  • base-devel —— base-develAUR 包的安装过程中是必须用到的
  • linux —— 内核软件包,这里建议先不要替换为其它内核

2.通过如下命令使用 pacstrap 脚本安装其它必要的功能性软件:

pacstrap /mnt dhcpcd iwd vim sudo bash bash-completions ntfs-3g gvfs-mtp

📑 命令参数说明:

  • bash —— bash-completions 如果你是 zsh 的爱好者,请把这两个包换成zsh-completion

2.10 生成文件系统表

fstab 用来定义磁盘分区。它是 Linux 系统中重要的文件之一。使用 genfstab 自动根据当前挂载情况生成并写入 fstab 文件。文件系统表主要用于系统启动时自动挂载分区,不然系统无法正常启动!执行以下命令生成

# 生成 fstab文件 (用 `-U` 或 `-L` 选项设置 UUID 或卷标)
# efi + gpt
genfstab -U /mnt >> /mnt/etc/fstab
# biso + mbr
genfstab -p /mnt >> /mnt/etc/fstab
# 查看是否生成
cat /mnt/etc/fstab

到这一步基本系统安装已经完成,但是还没有对系统进行配置,所以现在还没到关机重启的时候。执行以下命令进入到我们安装的系统,对系统进行配置

arch-chroot /mnt

此时,原来安装盘下的 /mnt 目录就变成了新系统的 / 目录。同时,可以发现命令行的提示符颜色和样式也发生了改变。

2.11 设置时区

设置上海为时区,并同步硬件时钟

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 同步硬件时钟
hwclock --systohc

2.12 本地化

程序和库如果需要本地化,需要依赖 local区域设置 ,local明确规定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准。有两种办法,任选方案(1)和(2)中一个就行,推荐使用方法(1)

(1)在这两个文件设置:locale.gen 与 locale.conf。

编辑 vim /etc/locale.gen,然后去掉 en_US.UTF-8 UTF-8 以及 zh_CN.UTF-8 UTF-8 行前的注释符号(#):

接着执行 locale-gen 以生成 locale 信息:

# 更新locale
locale-gen

然后创建 locale.conf 文件,并编辑设定 LANG 变量,比如:

vim /etc/locale.conf
LANG=en_US.UTF-8

(2)在这两个文件设置:locale.gen 与 locale.conf。

先生成 local 信息:

# 取消注释
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
# 生成 Local
locale-gen

创建 locale.conf 文件,并编辑设定 LANG 变量

# 这里不建议将 en_US.UTF-8 改为zh_CN.UTF-8 ,这样会导致终端乱码! 
echo "LANG=en_US.UTF-8" >> /etc/locale.conf
echo "LANG=en_US.UTF-8" >> /etc/profile

2.13 主机名与hosts配置

# 这里可以换成自己想要的名字,将主机名写入/etc/hostname
echo "ArchLinux" >> /etc/hostname
# 将 下面hostname换成自己的主机名,与 /etc/hostname 里面的名字一样
echo -e "127.0.0.1  localhost\n::1  localhost\n127.0.1.1 ArchLinux.localdomain  ArchLinux" >> /etc/hosts

如果不想使用命令,也可以直接用vim创建文件:

利用vim创建hostname文件:

vim /etc/hostname
ArchLinux(主机名)

创建hosts文件:

vim /etc/hosts
127.0.0.1   localhost
::1         localhost
127.0.1.1   ArchLinux.localdomain	ArchLinux

2.14 设置root密码

虽然现在可以使用root,但是新系统里面我们还不知道root的密码,使用下面的命令更改root密码

# 会提示输入两次密码,关乎系统安全请牢记
passwd root

2.15 安装引导程序

需要安装 Linux 引导加载程序,才能在安装后启动系统

安装intelamd

# 查看cpu型号
cat /proc/cpuinfo
# amd 电脑安装
pacman -S amd-ucode
# intel 电脑安装
pacman -S intel-ucode

配置grub:

# Arch使用grub2管理引导,安装相关程序

# efi + gpt
pacman -S grub efibootmgr efivar os-prober

# biso + mbr
pacman -S grub efivar os-prober

📑 命令参数说明:

  • -S 选项后指定要通过 pacman:

    包管理器安装的包:

    • grub —— 启动引导器
    • efibootmgr —— efibootmgrgrub 脚本用来将启动项写入 NVRAM
    • os-prober —— 为了能够引导 win10,需要安装 os-prober 以检测到它

安装引导:

# --bootloader-id=name  其中 name 可以更改为自己想要的名称,建议简短明确
# efi + gpt

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch --recheck

# biso + mbr

grub-install --target=i386-pc /dev/nvme0n1
#说明
grub-install *安装grub*

--target=x86_64-efi      *目标架构x86架构64位 efi启动方式  若不确定使用uname -a 可以查看*

--efi-directory=/boot      *就是我sda1挂载的/boot位置*,将 grubx64.efi 安装到之前的指定位置(EFI 分区)

--bootloader-id=Arch     *这里的Arch名字可以自行更改 甚至这一段都可以不用写*

接下来使用 vim 编辑 /etc/default/grub 文件:

vim /etc/default/grub

进行如下修改:

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

grub2默认禁用了 os-prober ,如果你是选择的双系统或多系统安装,需要手动开启该选项,os-prober 可以检查其他硬盘上的其他系统引导,如果不开启,可能无法识别其他系统,如果你是全盘单系统安装,可以忽略这个选项

# 需要开启 os-prober 执行下面命令
echo "GRUB_DISABLE_OS_PROBER=false" >> /etc/default/grub

生成引导配置文件:

grub-mkconfig -o /boot/grub/grub.cfg

如果出现错误,请回头检查命令是否输入错误或者配置是否出错,安装时的一点错误都可能成为你无法开机的原因或者以后使用时的bug。如果检查没有问题,那么我们就可以进行最后的一点设置了。

2.16 配置开机启动项

ArchLinux 使用 systemd 管理后台服务,我们希望开机之后自动连接网络,所以需要下载联网程序并设置开机自启动:

# 下载wifi 管理
pacman -S dhcpcd iwd networkmanager
pacman -S vim sudo bash-completion  iproute2  neofetch yay zsh fish
# 设置开机自启动
systemctl enable dhcpcd
systemctl enable iwd
systemctl enable NetworkManager

2.17 新建用户

开机之后会显示一个终端的登陆界面,由于我们刚才安装时没有新建用户,默认只有一个root用户,所以我们直接使用 root 和 root 密码登录。运行以下命令新建用户:

# <username> 为你自己的用户名,登录用,注意用户名必须全小写
useradd -m -G wheel -s /bin/bash <username>

# 设置用户密码
passwd <username>

📑 命令参数说明:

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

使用 vim 编辑器通过 visudo 命令编辑 sudoers 文件:

EDITOR=vim visudo # 这里需要显式的指定编辑器,因为上面的环境变量还未生效

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

#%wheel ALL=(ALL) ALL

📑 这里稍微解释一下:

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

2.18 结束

到了这里ArchLinux的安装也就到了尾声,接下来你只需要退出安装程序,然后取消挂载分区,重启选择Arch系统就可以进入ArchLinux了

# 退出arch root 安装环境
exit
# 取消挂载
umount -R /mnt
# 重启并拔出U盘
reboot

三. 安装图形界面 KDE

没插网线重启后wifi记得重新连接!

设置开机自启并立即启动 dhcp 服务,即可连接网络:

systemctl enable --now dhcpcd # 设置开机自启并立即启动 dhcp 服务
ping www.baidu.com # 测试网络连接

喜欢i3的可以看这篇文章

1.窗口图形系统 Xorg

开机之后会显示一个终端的登陆界面,开始安装kde。必须需要提一句,安装桌面环境需要在普通用户下安装,如果你刚创建完用户,还请重启后用普通用户登录在进行接下来的教程。

窗口图形系统有两种选择——Xorg和Wayland。虽然可以使用 Wayland 启动 KDE Plasma,但仍存在一些缺失的功能和已知问题。建议使用 Xorg 以获得最完整和稳定的体验。

执行下面命令安装 Xorg 的一些组件(提示全部回车确认):

sudo pacman -S xorg-server xorg-apps xorg-xinit xorg-xclock xterm

安装完成后,可执行 startx 命令测试 Xorg 是否正常工作。(执行 exit 退出 Xorg 测试界面)

2.KDE Plasma

# 执行下面命令安装 KDE Plasma(提示全部回车确认):
sudo pacman -S plasma

# 如果你想一次性安装全部 KDE 应用,可执行下面命令(可选)
sudo pacman -S kde-applications

# 下面是安装个人喜欢的一些 KDE 应用
sudo pacman -S dolphin konsole kate kdeconnect ark gwenview filelight kcalc kdenlive krita kdiskmark

# (KDE 全部应用详见 https://apps.kde.org/zh-cn/)

3. 启用登录管理器 SDDM

# sddm 开机自启
sudo systemctl enable sddm
# 启用 SDDM,进入桌面环境
sudo systemctl start sddm

进入桌面后、可通过Alt + Enter快捷键弹出全局搜索框,可以快速搜索打开想要打开的应用,本人打开应用程序99%都是使用这种方式,非常快速便捷!!!

4.设置网络管理器

如果之前网络是由iwd终端连接wifi的,此刻需要在 iwd 终端忘记之前的连接。否则每次开机都会终端自动连接Wifi导致页面网络管理器不可用

sudo systemctl disable iwd # 确保 iwd 开机处于关闭状态,因为其无线连接会与 NetworkManager 冲突
sudo systemctl stop iwd # 立即关闭 iwd
sudo systemctl enable --now NetworkManager # 确保先启动 NetworkManager,并进行网络连接。若 iwd 已经与 NetworkManager 冲突,则执行完上一步重启一下电脑即可
ping www.bilibili.com # 测试网络连通性
iwd
# 列出以前连接过的网络
[iwd]# known-networks list
# 忘记已知的网络
[iwd]# known-networks 网络名 forget

# 最后点击页面的网络图标连接网络即可

5.浏览器及字体下载

# 进入桌面环境后,按 Ctrl+Alt+T 可打开终端。执行下面命令安装 Firefox
sudo pacman -S firefox

# 一次性安装常用中文字体
wqy-microhei # 文泉驿
adobe-source-sans-fonts  # 思源黑体
harmonyos-sans-git  # 鸿蒙黑体
ttf-misans  # MiSans

sudo pacman -S wqy-microhei wqy-microhei-lite wqy-bitmapfont wqy-zenhei ttf-arphic-ukai adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts

# 开发人员最喜欢的字体没有之一
yay -S ttf-fira-code

6.KDE 界面改成中文

# 打开 System Settings -> Regional Settings -> Language(modify)

# 点击 Add More languages,往下翻找到简体中文点击 Add

# 点击简体中文一栏右侧的向上箭头,将简体中文的优先级置顶,然后点击 apply

# 点击左侧的 Formats,然后点击右侧的 Region

# 在搜索框里输入 zh_CN,点击 简体中文(中国)

# 然后再点击右下角的apply。注销后重新登录,即可看到中文界面

7. 设置显示器全局缩放率

现在越来越多的人开始用高分屏了,设置一个合适的全局缩放率就很有必要了。
在系统设置的显卡与显示器 -> 显示器配置中可以调节全局缩放率(注销后重新登录生效)。

四. 基本设置

1. 中文输入法

安装字体

# 英文字体
pacman -S ttf-dejavu
# 文泉驿正黑矢量字体
pacman -S wqy-zenhei
# 
pacman -S wqy-microhei
# Emoji 字体
pacman -S noto-fonts-emoji

配置

# Arch Linux可以安装安装fcitx5 实现输入中文,具体步骤如下(一路回车即可)
sudo pacman -S fcitx5-rime # 对经典的 Rime IME 输入法的包装,内置了繁体中文和简体中文的支持
sudo pacman -S fcitx5-im # 输入法基础包组
sudo pacman -S fcitx5-chinese-addons # 官方中文输入引擎
sudo pacman -S fcitx5-anthy # 日文输入引擎
sudo pacman -S fcitx5-pinyin-moegirl # 萌娘百科词库。二刺猿必备
sudo pacman -S fcitx5-pinyin-zhwiki # 中文维基百科创建的词库
sudo pacman -S fcitx5-material-color # 输入法主题

# fcitx5-chinese-addons 包含了大量中文输入方式:拼音、双拼、五笔拼音、自然码、仓颉、冰蟾全息、二笔等


# 然后在环境变量配置文件/etc/environment中添加如下内容
# /etc/environment
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
# 配置完成之后重启电脑或者注销

# 然后配置自动启动,提供以下3种方法,第一个不行,试第2个,然后第3个
# 1. 如果,支持XDG桌面环境,例如KDE,GNOME, Xfce,默认重启后即可

# 2. 在~/.config/autostart目录下添加fcitx-autostart.desktop文件,
#    可以从目录etc/xdg/autostart中复制

# 3.对于i3-wm,可以在配置文件~/.config/i3/config中添加如下代码
exec_always --no-startup-id fcitx5

# 输入法模块: 
# 在只安装 fcitx5 和 输入法引擎 的情况下您可能依然可以正常输入
# 但是安装对应的 输入法模块 后您将获得更加舒适的体验:

fcitx5-qt  # 对 Qt5 程序的支持
fcitx5-gtk # 对 GTK 程序的支持
fcitx5-qt4-gitAUR # 对 Qt4 程序的支持
# 提示: 一般情况下,只安装 fcitx5-qt 和 fcitx5-gtk 就行了

# 词库
# 对于 Fcitx5 的中文输入法, 目前在仓库里提供了数个词库:
fcitx5-pinyin-zhwiki # felixonmars 根据中文维基百科创建的词库。适用于 拼音输入法

# idea不能输入中文的问题
# 在IDEA的bin目录下的idea.sh文件的前面加上
export XIM="fcitx"
export XIM_PROGRAM="fcitx"
export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"

添加中文输入法

setting -> 语言和区域设置 -> 输入法
# 去掉默认的输入法
# 添加输入法并应用(默认通过快捷键 ctrl + space 切换中英文)
Pinyin
键盘-英语(美国)

2. 蓝牙

# 安装蓝牙并启动蓝牙服务
sudo pacman -S bluez bluez-utils
sudo systemctl enable bluetooth.service
sudo systemctl start bluetooth.service

# 使用Bluetoothctl进入蓝牙控制台
# Bluez是Linux系统上的蓝牙协议栈,自带了很多有用的工具,Bluetoothctl就是其一。
bluetoothctl --help              # 查看帮助命令
bluetoothctl -v                  # 查看蓝牙版本

# 使用Bluetoothctl连接蓝牙案例
bluetoothctl                     # 进入蓝牙管理工具环境
# [bluetooth]# power on                打开蓝牙
# [bluetooth]# agent on                开启
# [bluetooth]# scan on                 扫描蓝牙设备
# [bluetooth]# pair xx:xx:xx:...       配对该设备
# [bluetooth]# trust xx:xx:xx:...      信任该设备
# [bluetooth]# connect xx:xx:...       连接该设备
# [bluetooth]# disconnect xx:xx:...    断开蓝牙
# [bluetooth]# help                    查看帮助信息
# [bluetooth]# show                    查看本机蓝牙信息
# [bluetooth]# discoverable yes        设置蓝牙可被发现
# [bluetooth]# info xx:xx:xx:...       查看该蓝牙设备的信息

# 安装蓝牙音频
sudo pacman -S pulseaudio-bluetooth
# 蓝牙图形化管理工具安装
sudo pacman -S bluedevil

3. pacman 32位运行库与ArchLinuxCN库的支持,以及一些镜像源

# 编辑配置文件,添加以下软件源
vim /etc/pacman.d/mirrorlist
# ---------------下面为vim操作,不同于终端-------------
# 中科大源
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
# 阿里源
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch
# 清华源
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
# 华为源
Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch
# 163源 (i686 和 x86_64)
Server = http://mirrors.163.com/archlinux/$repo/os/i686

为了系统的稳定,官方关闭了32位软件以及aur软件库,但是仅仅只依靠官方源中的软件时不够用的,这里我们要打开这两个库

sudo vim /etc/pacman.conf
multilib

去掉[multilib]一节中两行的注释,来开启 32 位库支持。

#取消掉 # 号
[multilib]
Include = /etc/pacman.d/mirrorlist
Arch Linux CN

在文档结尾处加入下面的文字,来开启 ArchLinuxCN 源。

[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch

执行 sudo pacman -Syyu 更新pacman数据库

然后需要安装 archlinuxcn-keyring 包以导入 GPG key

sudo pacman -S archlinuxcn-keyring

有时候因为密钥环的问题,导致这一步安装报错,可以依次执行下面的命令

sudo pacman -Syyu
sudo pacman -S haveged
sudo pacman -Syu haveged
sudo systemctl start haveged
sudo systemctl enable haveged

sudo rm -fr /etc/pacman.d/gnupg
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman-key --populate archlinuxcn

# 如果 系统长时间不更新,可能也会出现问题
# 更新密钥
pacman-key --refresh-keys
# 注意:keyserver如果是国外的更新很慢,以下是其他kerserker服务,可以指定更新服务器:
sudo pacman-key --refresh-keys --keyserver http://pgp.mit.edu

然后再重新安装,即可解决问题

最后安装 yay 用来下载archlinuxcn库中的软件

sudo pacman -S yay
BlackArch 镜像源

Arch Linux 添加 BlackArch 镜像源:

#Arch Linux 添加 BlackArch 镜像源
sudo vim /etc/pacman.conf

# 在最后面添加如下几行
[blackarch]
SigLevel = Never
# 国内镜像源
Server = https://mirrors.ustc.edu.cn/blackarch/$repo/os/$arch
#Server = https://mirrors.tuna.tsinghua.edu.cn/blackarch/$repo/os/$arch
安装 BlackArch GPG 密钥
sudo pacman -S blackarch-keyring
同时建议安装 blackarch-mirrorlist 包
yay -S blackarch-mirrorlist

# 取消当前所在区域的镜像源注释
sudo vim /etc/pacman.d/blackarch-mirrorlist
# 如:
# China
Server = https://mirror.sjtu.edu.cn/blackarch/$repo/os/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/blackarch/$repo/os/$arch
Server = https://mirrors.ustc.edu.cn/blackarch/$repo/os/$arch
# 修改 /etc/pacman.conf
sudo vim /etc/pacman.conf
# 重新修改 [blackarch] 让其优先使用 blackarch-mirrorlist
[blackarch]
#SigLevel = Never
#Server = https://mirrors.ustc.edu.cn/blackarch/$repo/os/$arch
Include = /etc/pacman.d/blackarch-mirrorlist
Chaotic-AUR

Chaotic-AUR 中包含一些经过编译的 AUR 软件

导入 Chaotic-AUR 的 Pacman 密钥并安装 mirrorlist

pacman-key --recv-key FBA220DFC880C036 --keyserver keyserver.ubuntu.com
pacman-key --lsign-key FBA220DFC880C036
pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'

然后在 /etc/pacman.conf 最下方加入以下两行

[chaotic-aur]
Include = /etc/pacman.d/chaotic-mirrorlist 

然后更新软件源

sudo pacman -Sy

如果速度过慢可以尝试使用反代服务

Clansty

同样也是一些编译后的 AUR 软件

/etc/pacman.conf 最下方加入:

[Clansty]
SigLevel = Never
Server = https://repo.lwqwq.com/archlinux/$arch
Server = https://pacman.ltd/archlinux/$arch
Server = https://repo.clansty.com/archlinux/$arch

然后更新软件源

sudo pacman -Sy

4.安装 AUR(yay)(添加CN源之后可以之间安装yay,此步骤可以省略)

官方仓库的软件实在是太少了, AUR(Arch 用户软件仓库,全称 Arch User Repository)里有许多软件。AUR 是为用户而建、由用户主导的 Arch 软件仓库。

从 AUR 安装软件包,需要先安装 AUR Helper,这里以最有名的 yay 为例。yay 是一个用 Go 语言开发的 AUR Helper,具有高级依赖解决、PKGBUILD 下载、AUR 包名自动补全、移除生成依赖等功能。添加archlinuxcn源之后使用下面命令安装 yay(Binary 版本,无需自己编译)

sudo pacman -S yay

底下是使用git下载

pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
makepkg -si

注意:执行 yay 的所有命令时,前面不需要加 sudo

5. pacman/yay 常用操作

以下操作对 yay 同样适用

# 1.系统更新
#   对整个archLinux进行更新
pacman -Syu
#   如果你已经使用 pacman -Sy 将本地的包数据库与远程的仓库进行了同步,也可以只执行:
pacman -Su
#   如提示冲突,可强制更新(dd跳过所有检查)
pacman -Syudd

# 2.安装包
pacman -S 包名                   # 你也可以同时安装多个包, 只需以空格分隔包名即可
pacman -Sy 包名                  # 与上面命令不同的是,该命令将在同步包数据库后再执行安装
pacman -Sv 包名                  # 在显示一些操作信息后执行安装
pacman -U  包名.tar.gz           # 安装本地包,其扩展名为 pkg.tar.gz

# 3.删除包
pacman -R 包名                   # 该命令将只删除包,不包含该包的依赖
pacman -Rs 包名                  # 在删除包的同时,也将删除其依赖
pacman -Rd 包名                  # 在删除包时不检查依赖

# 4.搜索包
pacman -Ss 关键字                # 这将搜索含关键字的包
pacman -Qi 包名                  # 查看有关包的信息
pacman -Ql 包名                  # 列出该包的文件

# 5.其他用法
sudo pacman -R $(pacman -Qdtq)  # 清除系统中无用的包
pacman -Sw 包名                  # 只下载包,不安装
pacman -Sc                      # Pacman下载的包文件位于 /var/cache/pacman/pkg/ 目录
                                # 该命令将清理未安装的包文件
pacman -Scc                     # 清理所有的缓存文件

6. pacman安装 常用软件

openssh               # ssh 链接远程服务器
peek                  # GIF录制
tree                  # 玩 Linux 的朋友都知道该命令
python-pip            # Python 用户必备
neovim                # vim 党福音
neofetch              # 查看系统信息
screenkey             # 显示按下的键
figlet                # 生成一个 logo
iputils               # 允许用户使用 ping 命令
wget                  # 下载工具
chromium			  # Chromium
firefox				  # Firefox
intellij-idea-community-edition		# IntelliJ IDEA Community Edition
pycharm-community-edition			# PyCharm Community Edition
libreoffice-fresh libreoffice-fresh-zh-cn 	  # 办公套件LibreOffice

# udisk2 udiskie : 自动挂载U盘修改
# ntfs-3g : 读取ntfs格式磁盘
# dolphin : 文件管理器
sudo pacman -S udisks2 udiskie ntfs-3g  dolphin

# 开机自启自动挂载U盘
systemctl enable udisks2

# 启动 ssh 服务
systemctl start sshd
systemctl enable sshd

# Virtualbox 安装与配置
#   需要安装linux-headers
sudo pacman -S linux-headers
#   确认linux内核版本,确保linux-headers的版本和linux版本相同
uname -r
#   安装 virtualbox,执行命令后,会提示选择安装virtualbox软件类型,选择virtualbox-host-dkms
sudo pacman -Syu virtualbox
#   安装virtualbox-guest-iso
sudo pacman -S virtualbox-guest-iso
# 把当前用户增加到vboxusers组
sudo usermod -G  vboxusers -a  myuser 
#pip更换国内镜像源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
sudo pacman -S ntfs-3g # 使系统可以识别 NTFS 格式的硬盘
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 firefox chromium # 安装常用的火狐、chromium 浏览器
sudo pacman -S ark # 压缩软件。在 dolphin 中可用右键解压压缩包
sudo pacman -S packagekit-qt5 packagekit appstream-qt appstream # 确保 Discover(软件中心)可用,需重启
sudo pacman -S gwenview # 图片查看器
sudo pacman -S steam # 游戏商店。稍后看完显卡驱动章节再使用

7. yay 常用软件

# 安装 AUR 软件
yay -S 包名

# 使用 yay 安装下面软件之前,请先确保基础打包工具(base-devel)已经安装
yay -S base-devel

# 防火墙
yay -S firewalld
systemctl enable --now firewalld

# 常用 aur 软件
# ===> 编程软件
yay -S visual-studio-code-bin  #  Visual Studio Code 
yay -S intellij-idea-ultimate-edition intellij-idea-ultimate-edition-jre  # idea
yay -S pycharm-professional		# PyCharm Professional
yay -S intellij-idea-ultimate-edition		# IntelliJ IDEA Ultimate Edition

# ===> 浏览器
yay -S google-chrome  # google 浏览器
yay -S microsoft-edge-stable-bin # edge 浏览器
# ===> 办公软件

yay -S wps-office-cn wps-office-mui-zh-cn ttf-wps-fonts #  WPS Office

# ===> 社交软件
yay -S icalingua++ # Icalingua++(第三方Linux QQ)
yay -S deepin-wine-tim  # win tim
yay -S deepin-wine-wechat  # win 微信
yay -S com.tencent.weixin # 微信

# ===> 实用工具
yay -S wemeet-bin			 # 腾讯会议
yay -S utools                # uTools搜索
yay -S flameshot             # 火焰截图
yay -S motrix-bin            # 下载工具
yay -S kdiskmark-git         # 磁盘检测工具
yay -S gimp                  # 图像处理
yay -S kdenlive              # 视频后期
yay -S baidunetdisk-electron # 百度盘
yay -S xunlei-bin            # 迅雷
yay -S netease-cloud-music   # 网易云
yay -S obs-studio            # obs
yay -S p7zip                 # 压缩
yay -S unrar                 # 压缩

所有 AUR 软件可在 https://aur.archlinux.org/ 上查询。

8. 显卡驱动与双显卡切换

首先,安装显卡驱动。mesa是所有开源显卡驱动的基础,一般都要安装。

# 查看显卡型号
# 自带核显
lspci |grep VGA
# 查看其它独显
lspci |grep -i nvida

这里,我们尽量给安装完整,有几大功能:OpenGL, vulkan, vaapi, vdpau, opencl. 32位的程序也要使用并安装相应的驱动 (请先更新pacman 32运行库)。系统是archlinux,用的官方内核。

Intel显卡驱动安装:

sudo pacman -S mesa xf86-video-intel vulkan-intel
sudo pacman -S libva-intel-driver libvdpau-va-gl intel-compute-runtime
sudo pacman -S lib32-vulkan-intel lib32-mesa intel-gpu-tools
# mesa    3D driver
# xf86-video-intel    2d driver
# libva-intel-driver    vaapi 视频硬解码库
# libvdpau-va-gl    vdpau 视频硬解码库,以vaapi为基础的翻译层
# intel-compute-runtime    opencl
# intel-gpu-tools    用sudo intel_gpu_top观察Intel显卡负载

nvidia显卡驱动安装:(yay软件在archlinuxcn里面,添加源就可安装)

# 闭源驱动:
sudo pacman -S nvidia nvidia-prime nvidia-settings nvidia-utils opencl-nvidia
sudo pacman -S lib32-nvidia-utils lib32-opencl-nvidia libva-vdpau-driver
# nvidia    内核所属,记得更新驱动也要更新linux内核:sudo pacman -Syu
# nvidia-utils    opengl, vulkan, vdpau
# opencl-nvidia    opencl, cuda driver
# nvidia-prime    用"prime-run $cmd"启动程序运行于nvidia上
# libva-vdpau-driver    vaapi 视频硬解码库,以vdpau为基础的翻译层
 
# 开源驱动:(2d性能和闭源驱动相当,3d性能可能是闭源的一半,不支持opencl)
yay -S nouveau-fw
sudo pacman -S mesa xf86-video-nouveau lib32-mesa libva-mesa-driver mesa-vdpau
# xf86-video-nouveau    2d driver
# nouveau-fw    nvidia官方firmware,视频硬解需要
# libva-mesa-driver    vaapi 视频硬解码库
# mesa-vdpau    vdpau 视频硬解码库

AMD显卡驱动安装:

sudo pacman -S mesa xf86-video-amdgpu vulkan-radeon libva-mesa-driver mesa-vdpau
sudo pacman -S opencl-mesa lib32-vulkan-radeon lib32-mesa
# xf86-video-amdgpu    2d driver
# vulkan-radeon    vulkan
# opencl-mesa    opencl

# 开源驱动性能和闭源驱动差不了多少,就不考虑闭源。这方面AMD更好。

如果要在Linux下工作,那么不推荐买nvidia显卡;如果只是为了打游戏,那么推荐买nvidia显卡。轻度办公和游戏,核显足够了。看视频的话,整个多核心带核显CPU就行。

Virtualbox(显卡)驱动安装:

sudo pacman -S virtualbox-guest-utils mesa lib32-mesa
systemctl enable --now vboxservice

Vmware(显卡)驱动安装:

sudo pacman -S mesa xf86-video-vmware xf86-input-vmmouse open-vm-tools lib32-mesa
systemctl enable --now vmtoolsd
systemctl neable --now vmware-vmblock-fuse

硬件无关的opencl库:

sudo pacman -S pocl

驱动安装完了,但是不知道如何使用。建议先sudo mkinitcpio -P再重启后,才会启动驱动。

要检查驱动的功能,可以如下方法:

sudo pacman -S --needed vulkan-tools libva-utils vdpauinfo mesa-demos lib32-mesa-demos

# 64位的opengl信息
glxinfo -B
# 32位的opengl信息
glxinfo32 -B
# 使用glxinfo命令可以查看当前正在使用的显卡。
# Intel
glxinfo | grep "OpenGL renderer"
OpenGL renderer string: Mesa Intel(R) UHD Graphics 630 (CFL GT2)
# 切换NVIDIA显卡后
glxinfo | grep "OpenGL renderer"
OpenGL renderer string: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2

# vulkan信息汇总
vulkaninfo --summary
# vaapi信息
vainfo  # 注意:闭源nvidia驱动会导致该命令不可用
# vdpau信息
vdpauinfo

此外,可能还需要切换显卡,要用这项功能,安装optimus-manager软件包:

具体详情参照Optimus-manager的GitHub页面

yay -S optimus-manager

# 命令行切换显卡
optimus-manager --switch nvidia   # 切换到 Nvidia GPU
optimus-manager --switch integrated  # 切换到集成 GPU 并关闭 Nvidia GPU

UI界面:我使用的是kde桌面环境,所以我的安装过程是

sudo pacman -S bbswitch 
yay -S optimus-manager-qt-kde

# 安装完成后就可以在任务栏上找到Optimus Manager Qt这一项
# 右键可以切换显卡,之后会自动注销; 你也可以打开设置进行设置。

五. 触控板设置

1.前言

官网wiki

当前系统环境是 archlinux+kde plasma5touchegglibinput-gestures都可以触控板需求,但是在实际配置过程中touchegg存在很多问题一直都没能解决,而libinput-gestures基本没有太大的问题。所以使用libinput-gestures

kdeX.Org桌面环境,aur上维护了一个基于X.Org Server的驱动xf86-input-libinput-git很方便。而下面所说的X11 client在我这里就是kde plasma5

驱动程序libinputlinux生态提供了很多驱动,本文使用的驱动是libinput,它负责分析内核从输入设备得到的数据发送给桌面环境,桌面环境根据不同的数据进行反馈。

术语解释

touchpad:通常意义上的触摸板。
clickpad:指底部没有按钮的touchpad,参考clickpad。clickpad中通过不同手指数量的点击行为来模拟鼠标左键、中键、右键点击。这些都可以配置或者关闭。
click:点击,本文语境中之物理按钮的“按压”和“释放”。
Clickpad software button behavior:clickpad上软按钮的行为,详情见Clickpad software button behavior。

2.基本设置

# setting -> 输入设备 -> 触摸板
手指轻触      轻触点击、轻触拖拽
双指轻触      右击(三指轻触中键点击)

3.安装libinput 与 xdotool

# 确保当前用户在输入组中具有读取触摸板设备的权限
sudo gpasswd -a $USER input

# install basic libinput and xf86-input-libinput
sudo pacman -S libinput xf86-input-libinput

# 安装 xdotool 和 libinput-gestures
yay -S xdotool libinput-gestures

# 开机自动启动
libinput-gestures-setup autostart
# 试一下三指上下滑动成功了不,如果不成功就重启一下,如果重启了还不成功就用
sudo libinput-gestures
# 试一下,如果提示少依赖,根据提示sudo apt-get install + 提示依赖名
# 然后重新运行自动启动

4.配置

libinput有两种配置方式:

使用配置文件的永久配置方式
使用xinput命令行工具,针对运行时(runtime)进行实时配置,主要用来调试。

libinput安装后默认的配置文件在/usr/share/X11/xorg.conf.d目录下,如何你安装多个驱动会存在多个文件:

ls /usr/share/X11/xorg.conf.d/
10-nvidia-drm-outputclass.conf  10-quirks.conf  40-libinput.conf  50-vmmouse.conf

这里安装了4个驱动所以会有4个配置文件,默认情况下kde会根据文件前缀数字的大小决定优先使用哪个配置文件,数字越大优先级越高。

我们需要把默认配置文件复制到/etc/X11/xorg.conf.d/目录下:

sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/40-libinput.conf

下面是文件中touchpad部分的配置:

Section "InputClass"
        Identifier "touchpad"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "Tapping" "on"
        Option "ButtonMapping" "1 3 0 4 5 6 7"
        Option "TappingButtonMap" "lmr"
        Option "DisableWhileTyping" "on"
        Option "TappingDrag" "on"
EndSection

详细参数和解释见libinput man page: based on X.Org input dirver,解释下几个重要的配置参数:

Option “Tapping” “on”:手指点击touchpad发送鼠标点击事件
Option “TappingButtonMap” “lmr”:1个手指点击对应鼠标左键,2个手指点击对应鼠标中键,3个鼠标点击对应鼠标右键
Option “ButtonMapping” “1 3 0 4 5 6 7”,按钮映射,详情见libinput#Button_Mapping,这里笔者关闭了3指对应的左键
Option “DisableWhileTyping” “on”:打字时不检测touchpad事件,防止用户不小心触碰touchpad引起不必要的影响
Option “TappingDrag” “on”:开启点击拖拽
调试
1.确定touchpad设备
终端输入:xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ELAN962C:00 04F3:30F5 Mouse               id=11   [slave  pointer  (2)]
⎜   ↳ ELAN962C:00 04F3:30F5 Touchpad            id=12   [slave  pointer  (2)]
⎜   ↳ SYNA7813:00 06CB:1A1A                     id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Video Bus                                 id=8    [slave  keyboard (3)]
    ↳ Power Button                              id=9    [slave  keyboard (3)]
    ↳ HD Camera: HD Camera                      id=10   [slave  keyboard (3)]
    ↳ Huawei WMI hotkeys                        id=14   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=15   [slave  keyboard (3)]
2.查看touchpad的详细配置
# 这里面有一个值很重要Device Node (xxx):"/dev/input/event8" 
# 后面使用libinput命令行时会用到这个路径
终端输入:xinput list-props "ELAN962C:00 04F3:30F5 Touchpad"
        ...
        libinput Left Handed Enabled (328):     0
        libinput Left Handed Enabled Default (329):     0
        libinput Send Events Modes Available (299):     1, 1
        libinput Send Events Mode Enabled (300):        0, 0
        libinput Send Events Mode Enabled Default (301):        0, 0
        Device Node (302):      "/dev/input/event8"
        Device Product ID (303):        1267, 12533
        libinput Drag Lock Buttons (330):       <no items>
        libinput Horizontal Scroll Enabled (331):       1
        libinput Scrolling Pixel Distance (332):        15
        libinput Scrolling Pixel Distance Default (333):        15
        libinput High Resolution Wheel Scroll Enabled (334):    1
3.使用libinput debug-events 监控touchpad事件
终端输入:libinput debug-events --device /dev/input/event8
-event8   DEVICE_ADDED            ELAN962C:00 04F3:30F5 Touchpad    seat0 default group1  cap:pg  size 115x70mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on dwtp-on
 event8   POINTER_MOTION          +0.023s        -0.40/  0.62 ( -2.00/ +3.10)
 event8   POINTER_MOTION          +0.031s        -1.29/  2.67 ( -4.00/ +8.26)
 event8   POINTER_MOTION          +0.039s        -4.28/  6.80 (-13.00/+20.65)
 event8   POINTER_MOTION          +0.047s        -8.56/ 12.72 (-25.00/+37.16)
4.使用libinput debug-gui 监控touchpad事件

这里可能会报没有 libgtk-4.so.1 的错误,安装gtk4即可:yay -S gtk4

# 这时会出现一个GUI画面帮助检测
libinput debug-gui --device /dev/input/event8
  1. libinput-gestures 配置

配置好touchpad和手势后,下面利用 libinput-gestures 来解析touchpad的数据,然后执行相关的操作。这里主要用到xdotool,xdotool是模拟键盘/鼠标输入和窗口管理等的命令行工具。libinput-gestures依赖xdotool。

libinput-gestures安装后会有默认的配置,位置在/etc/libinput-gestures.conf,用户可以在~/.config/libinput-gestures.conf配置自己的配置。这里我根据自己的需要修改了相关配置如下:

# Switch to next desktop
gesture swipe right 4   xdotool key ctrl+F1
# Switch to prev desktop
gesture swipe left 4 xdotool key ctrl+F2

# Present windows (current desktop)
gesture swipe down 3 xdotool key ctrl+F9
# Present windows (all desktop)
gesture swipe down 4 xdotool key ctrl+F10

# Show desktop
gesture swipe up 3 xdotool key super+d
# Show desktops grid
gesture swipe up 4 xdotool key ctrl+F8

主要思想是针对不同的手势触发相关的快捷键,快捷键的配置则可以在系统偏好设置→快捷键中设置。下图是我在plasma5中的切换桌面的快捷键配置:

# 配置快捷键:setting -> KWin 
切换到上一个桌面                       Ctrl + F1
切换到下一个桌面                       Ctrl + F2
显示/应玚窗口平铺(当前桌面)            Ctrl + F9      
显示/应玚窗口平铺(全部桌面)            Ctrl + F10
显示虚拟桌面网格                       Meta + F8
暂时显示桌面                          Meta + D

添加虚拟桌面:

# 工作区行为 -> 虚拟桌面 -> 按自己需求添加任意个

TODO

  • 通过捏和(pinch in/pinch out)来放大/缩小网页(对标macbook)
  • 网页的前进/后退(对标macbook)
  • 待添加…

六. 转换deb包

可能一些软件需要我们手动将 deb 包 转换后安装,这时候就需要 debtab 工具来转换。

# 安装
yay -S debtap

# 更新
sudo debtap -u

# 下载好待转换的 deb 包,将其转换,以下步骤一路回车即可
sudo debtap ~/Downloads/包名.deb

# 安装转换后的包
sudo pacman -U ~/Downloads/包名.pkg.tar.zst

七. KDE 桌面美化

KDE商店

也可参考这个博客

1. 官网下载

在 设置 -> 外观中下载各种美化插件!!

如果没有访问,则需要手动去 主题官网 下载各类美化效果的压缩包,然后解压到下面的目录中即可

~/.local/share/plasma/look-and-feel/  # 存放全局主题
~/.local/share/plasma/desktoptheme/   # 存放 plasma 视觉风格
~/.local/share/plasma/plasmoids/      # 存放插件
~/.local/share/aurorae/themes/		  # 存放窗口装饰
~/.local/share/color-schemes/		  # 存放颜色
~/.local/share/icons/				  # 存放图标
~/.local/share/fonts/				  # 存放字体
~/.local/share/sddm/themes/			  # 欢迎屏幕
~/.local/share/backgrounds/			  # 壁纸

系统设置 -> 外观 中 可以应用我们下载下来的各种美化插件!

我的方案:

  • 桌面右击-配置桌面和壁纸-获取新壁纸:Linux Cheatsheet Wallpaper-Arlinux_Linux.png

  • 全局主题使用:系统自带 Breeze 微风深色-只勾选了外观布局

  • 应用程序风格:Oxygen 轻氧

  • 光标:ArchCusorTheme

  • 欢迎屏幕:Smokey Arch Blue

  • 工作区行为-锁屏-外观配置:Arlinux_Linux

  • 工作区行为-最近文件:不要记住

  • 开机与关机-登陆屏幕(SDDM):sweet

2. dock栏

# 删除原始默认面板菜单
右击下方图标面板 -> 进入编辑模式 -> 删除面板

# 下载 latte-dock
sudo pacman -S latte-dock

# 启动 dock 
latte-dock

# 右击 dock 栏,配置 latte、选择布局编辑器,选择 extended
# 右击 dock 栏,编辑停靠栏、点击高级 逐项按自己需求设置

# 面板添加电池组件
# 桌面右击 -> 添加组件 -> 搜索电池 -> 拖动到面板合适的位置即可

3.系统托盘

当打开一个应用之后,可以在 dock 栏中右击该应用的图标,然后将其固定在 dock 栏上。我们还需要一个类似 MAC 系统的 launchpad 程序,可以右击 dock 栏然后添加部件,点击右上角的 Get New Widgets

搜索 OSXLaunchpad 下载并添加,然后将它添加到 dock 栏上。

加完成后,在 OSXLaunchpad 上单击右键,然后配置 OSXLaunchpad 向下面这样设置:

  • 快捷键:meta + a
  • 设置自定义背景图

4.grub美化

下载地址

5.插件

wallpaper-engine-kde-plugin

安装好之后,将原本windows的壁纸copy到linux的~/.local/share/Steam目录,然后在插件里浏览此目录,原本windows存放的壁纸在Steam/steamapps/workshop/content/

6.icons

Candy icons

7.主题

win10主题

八. 终端美化

Konsole配置

# 打开Konsole -> 设置 -> 配置konsole
标签栏 -> 外观 -> 显示 -> 勾选永不
配置方案 -> 新建并命名为custom、勾选默认配置方案
外观 -> Breeze 微风 -> 编辑 -> 透明度10%
外观 -> 字体 -> 选择 -> 设置字体大小为12

# 设置 -> 显示工具栏 -> 取消勾选主工具栏、会话工具栏

# 设置 -> 取消勾选菜单栏(可通过右击终端设置中打开菜单栏)

🚀 zsh

zsh 基本兼容 bash,但相比 bash,又有诸多优点:

  1. 更强大的 tab 补全
  2. 更智能的切换目录
  3. 大小写字母自动更正
  4. 更强大的 alias 命令
  5. 丰富多彩的主题
  6. 可以集成各种类型的插件

🍧 碎碎念

当然,也有很多人对 bash 爱的深沉,这些都看个人喜好啦。

可以参考这篇文章进行美化

zsh终端美化 powerlevel10k配置

1.通过以下命令安装 zsh 相关的包:

sudo pacman -S zsh zsh-autosuggestions zsh-syntax-highlighting zsh-completions

📑 相关包说明:

2.安装 autojump插件:

sudo pacman -S autojump

3.更改账户的默认 Shell:

chsh -l # 查看安装了哪些 Shell
chsh -s /usr/bin/zsh # 修改当前账户的默认 Shell

4.注销并重新登录 > 打开终端,此时会弹出如下界面进行设置:

zsh_step-5

  • 按下 0 将创建一个只包含注释的 ~/.zshrc 文件,在下次启动时不会再次弹出设置选项。
  • 按下 1 即可进入设置:
Please pick one of the following options:

(1)  Configure settings for history, i.e. command lines remembered
     and saved by the shell.  (Recommended.)

(2)  Configure the new completion system.  (Recommended.)

(3)  Configure how keys behave when editing command lines.  (Recommended.)

(4)  Pick some of the more common shell options.  These are simple "on"
     or "off" switches controlling the shell's features.

(0)  Exit, creating a blank ~/.zshrc file.

(a)  Abort all settings and start from scratch.  Note this will overwrite
     any settings from zsh-newuser-install already in the startup file.
     It will not alter any of your other settings, however.

(q)  Quit and do nothing else.  The function will be run again next time.

根据提示完成设置即可。也可以创建一个只包含注释的 ~/.zshrc 文件以使用默认值。

ℹ️ 提示

root 账户需要手动创建 root/.zshrc 文件。

ℹ️ 提示

若希望重新设置,只需要把 ~/.zshrc 文件删掉即可。

5.为了让插件生效,需要修改 ~/.zshrc。使用 vim 编辑 ~/.zshrc 文件:

vim ~/.zshrc

将以下内容分别添加到需要设置 zsh 账户的 ~/.zshrc 中:

source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
source /usr/share/autojump/autojump.zsh

zsh_step-6

6.关闭并重新打开终端,测试一下:

zsh_step-7

提示

可能需要:

🔗 相关链接:

关于 zsh 的美化请参阅 系统美化

oh_my_zsh

可以参考这篇文章

Zim

Zim 是一个 zsh 的模块化配置框架

安装
wget -nv -O - https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh
配置

Zimfw 的配置文件为 ~/.zimrc

使用任意文本编辑器打开它,配置文件的编写格式为:

zmodule [module name] # 模块在 zimfw 官方组织
zmodule [author]/[module name] # 模块在 Github 上
zmodule https://[host]/[author]/[module name].git # 模块在其他 Git 仓库中

在添加好模块后,可以通过 zimfw install 命令安装,本文同样提供模块推荐

在之后可以通过 zimfw update 更新模块,通过 zimfw upgrade 更新 Zim 本体

模块推荐

部分内容来自 Zim 官方网站

下拉式终端 yakuake

# 第一次打开会让设置下拉终端快捷键 -> 按自己方便设置即可

# 该终端也Konsole共享系统配置,不用再对系统配置作更改

# 设置yakuake独有配置
# 打开yakuake(面板会有终端小图标出现)、右击
#   宽度:100%
#   高度:100%
#   配置yakuake
#      窗口 -> 取消勾选显示标d题栏、取消勾选显示标签栏
#      外观 -> 勾选隐藏边框

# 设置开机自启动
# 设置 -> 开机与关机 -> 自动启动 -> 添加 -> 添加应用程序 -> 系统 -> Yakuake

九. 其他软件安装

1. Typora

方式一:二进制包

Typora 最新版已经收费,可以在官网下载以前的版本并手动安装,下面是最后一个免费版本两种下载方法:

下载完成后手动安装:

sudo tar xzvf Typora-linux-x64.tar.gz 
cd bin
sudo cp -ar Typora-linux-x64 /opt
cd /opt/Typora-linux-x64/
#启动
./Typora

为了能够在任意位置启动软件,得设置一下环境变量

sudo gedit ~/.bashrc

打开.bashrc配置文件,添加:

#Typora环境变量
export PATH=$PATH:/opt/Typora-linux-x64

保存后关闭文件,source一下,让配置生效

source ~/.bashrc

这样我们在任意终端中输入“Typora”再回车,就可以打开软件了

添加可视化启动程序,在cd /usr/share/applications下新建以下文件,Typora 内部自己有 PNG 图片,所以不需要额外下载,直接复制粘贴以下内容即可:

[Desktop Entry]
Name=Typora
Comment=Typora
Exec=/opt/Typora-linux-x64/Typora
Icon=/opt/Typora-linux-x64/resources/app/asserts/icon/icon_256x256.png
Terminal=false
Type=Application
Categories=Developer;

设置在.md文件上右键能够选择用Typora打开,进入终端

sudo gedit ~/.config/mimeapps.list

然后在文件的[Added Associations]一栏下面加上一行

sudo text/markdown=typora.desktop;
方式二:deb包
# 直接Typora官网下载最新deb包

# 利用前面安装的deb包转换工具安装即可

2. Navicat

# 创建AppImage、二进制格式软件存放目录
mkdir -p ~/Application/{AppImage,binary}

# 下载
cd ~/Application/AppImage
wget http://download.navicat.com.cn/download/navicat16-premium-cs.AppImage

# 赋权
chmod +x navicat16-premium-cs.AppImage

# 执行
./navicat16-premium-cs.AppImage

# 第一次通过上面方式启动后Navicat会自动创建桌面图标,下次启动就可以直接以快捷方式启动!

十. 常见Bug解决

1. VScode Git保持登录状态

arch 系的 Linux 无法保存 vscode 里 github 的登录状态,需要下载一个插件进行解决

yay -S qtkeychain gnome-keyring
posted @ 2023-01-23 19:18  vconlln  阅读(13337)  评论(2编辑  收藏  举报