Arch官方下载界面
阿里云镜像站下载
注意:官网下载页面下拉可以看多很多国家的镜像源!
使用 Rufus 进行镜像烧录,下载好 Rufus 后打开,插入要写入的U盘
然后选择要烧录系统的U盘(设备没有可选项?勾上显示USB外置硬盘即可!)
选择要烧录的镜像
分区类型选择GPT格式
目标系统类型选择UEFI
文件系统选择FAT
点击开始并以ISO镜像模式写入即开始镜像烧录
注意:烧录镜像默认会格式化U盘,请提前备份好数据!
根据ArchWiki介绍,Arch是不支持安全启动的,而一般电脑默认开启安全启动,所以需要先到BIOS里面关闭安全启动( Secure Boot ),注意需要先关闭Windows的快速启动。
设置好以后将刚才烧录的U盘插入电脑,然后开机,进入Live环境。选择第一项 Arch Linux install medium (x86_64, UEFI) 开始加载安装程序,如果不是类似界面,请检查BIOS设置或者U盘烧录是否正确。
正式进入 Arch 的 U盘系统后,对于没有怎么接触过Arch的人可能比较惊讶,为什么不是图形界面?没错,Arch 安装镜像只包含了系统一些基础组件,并没有图形界面,需要用户安装好系统之后自行安装,这样虽然麻烦,但是却给了用户更多的选择,可定制化程度更高。
ArchLinux 只支持UEFI模式启动的电脑,所以第一步便是检查当前电脑是否为UEFI启动,在终端输入以下命令。如果出现大量文件则正常否则该电脑可能不支持安装ArchLinux。
ls /sys/firmware/efi/efivars
防止网卡被禁用,使用以下命令解除网卡禁用:
rfkill unblock all
usb直连:ArchLinux安装需要下载一些软件,需要保证网络通畅,ArchLinux不会默认连接网络,建议手机开usb热点电脑连接,不用额外配置。
wifi 连接:输入 iwctl 进入wifi连接界面:
iwctl
-------------下面为iwctl界面,不同于终端-----------
[iwd] help # 输入help回车可以查看使用说明
[iwd] device list # 回车后可以查看当前网卡设备,一般为 wlan0
[iwd] station <device> scan # 替换为上面的网卡设备,这条命令可以让网卡扫描wifi设备
[iwd] station <device> get-networks # 会车后可以显示当前可连接网络
[iwd] station <device> connect <wifi name> # 连接wifi, 为上面获取的wifi名称
password: # 如果wifi为加密wifi,输入密码回车
[iwd] quit # 退出 wifi 连接界面
测试网络是否连接成功:
ping www.baidu.com -n
更新系统时间是有必要的,因为下载软件是服务器会验证系统时间,如果时间不正确,可能出现下载失败的情况,输入以下命令同步系统时间为准确时间:
timedatectl set-ntp true # 同步时间
timedatectl status # 查看系统时间状态
为保证安全与方便,Linux系统绝大多数软件都是在官方网站下载的,但是ArchLinux官方网站在国外,国内访问的话有点慢,国内有专门的镜像站可以直接从国内服务器下载软件包,就相当于在官网下载的并且镜像站都是每天更新,软件包也是最新的。这里推荐两个镜像站,一个是阿里巴巴的镜像站,一个是华为的镜像站。
# 备份原来的配置文件
cp -a /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
# 编辑配置文件
vim /etc/pacman.d/mirrorlist
# ---------------下面为vim操作,不同于终端-------------
# 找到第一个 Server=... 的行在该行上一行写入以下内容
Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch
#上面第一个为华为云镜像站,第二个为阿里云镜像站
# --------------------------------------------------
更新软件包
pacman -Syy
分区就是为了上面讲到的挂载,不同分区有不同的大小,呈现在文件系统里面就是不同目录有不同大小,下面是我安装 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 分区不小于500M,/分区不小于30G,这是Arch官方推荐情况。
下面命令用来查看系统的分区情况:
fdisk -l
我的ArchLinux安装到 /dev/nvmeon1 (后面的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 查看分区。
上面的操作只是分区,需要进行格式化,不同分区需要不同的格式。格式化分区会删除所有数据,千万小心操作!
格式化根分区和home分区:根分区和home分区都是Linux常见的 ext4 格式
mkfs.ext4 /dev/<disk>
# 例如:
# mkfs.ext4 /dev/nvme0n1p1
# mkfs.ext4 /dev/nvme0n1p2
格式化boot分区:引导分区采用的是FAT格式
# 为你刚才分区时指定的分区,如果忘记可以使用 fdisk -l 查看
mkfs.fat -F 32 /dev/<disk>
# 例如:
# mkfs.fat -F 32 /dev/nvme0n1p3
格式化swap分区:交换分区不需要挂载,采用特定格式
mkswap /dev/<device>
# 例如:
# mkswap /dev/nvme0n1p4
根据上面的分区方案,将不同分区挂载到不同目录
# 假设分区方案为:
# 根分区 -> / -> /dev/nvme0n1p1
# home分区 -> /home -> /dev/nvme0n1p2
# boot分区 -> /boot -> /dev/nvme0n1p3
# swap分区 -> 不挂载 -> /dev/nvme0n1p4
# Linux分区由根分区开始,所以先挂载根分区,然后创建文件夹,挂载
mount /dev/nvme0n1p1 /mnt
mkdir /mnt/home
mount /dev/nvme0n1p2 /mnt/home
mkdir /mnt/boot
mount /dev/nvme0n1p3 /mnt/boot
swapon /dev/nvme0n1p4
主要安装基本系统和几个待会需要用到的工具。等待安装完成,如果没有报错可以进行下一步
pacstrap /mnt base base-devel linux linux-firmware vim git dhcpcd e2fsprogs iwd
文件系统表主要用于系统启动时自动挂载分区,不然系统无法正常启动!执行以下命令生成
# efi + gpt
genfstab -U /mnt >> /mnt/etc/fstab
# biso + mbr
genfstab -p /mnt >> /mnt/etc/fstab
# 查看是否生成
cat /mnt/etc/fstab
到这一步基本系统安装已经完成,但是还没有对系统进行配置,所以现在还没到关机重启的时候。执行以下命令进入到我们安装的系统,对系统进行配置
arch-chroot /mnt
设置上海为时区,并同步硬件时钟
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 同步硬件时钟
hwclock --systohc
程序和库如果需要本地化,需要依赖 Local ,Local明确规定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准。
生成 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
# 这里可以换成自己想要的名字
echo "ArchLinux" >> /etc/hostname
# 将 下面hostname换成自己的主机名,与 /etc/hostname 里面的名字一样
echo -e "127.0.0.1 localhost\n::1 localhost\n127.0.1.1 hostname.localdomain hostname" >> /etc/hosts
虽然现在可以使用root大哥,但是新系统里面我们还不知道root大哥的密码,使用下面的命令更改root密码
# 会提示输入两次密码,关乎系统安全请牢记
passwd root
需要安装 Linux 引导加载程序,才能在安装后启动系统
安装微码:
# 查看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
安装引导:
# --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
grub2默认禁用了 os-prober ,如果你是选择的双系统或多系统安装,需要手动开启该选项,os-prober 可以检查其他硬盘上的其他系统引导,如果不开启,可能无法识别其他系统,如果你是全盘单系统安装,可以忽略这个选项
# 需要开启 os-prober 执行下面命令
echo "GRUB_DISABLE_OS_PROBER=false" >> /etc/default/grub
生成引导配置文件:
grub-mkconfig -o /boot/grub/grub.cfg
如果出现错误,请回头检查命令是否输入错误或者配置是否出错,安装时的一点错误都可能成为你无法开机的原因或者以后使用时的bug。如果检查没有问题,那么我们就可以进行最后的一点设置了。
ArchLinux 使用 systemd 管理后台服务,我们希望开机之后自动连接网络,所以需要下载联网程序并设置开机自启动:
# 下载wifi 管理
pacman -S dhcpcd iwd networkmanager
# 设置开机自启动
systemctl enable dhcpcd
systemctl enable iwd
systemctl enable NetworkManager
开机之后会显示一个终端的登陆界面,由于我们刚才安装时没有新建用户,默认只有一个root用户,所以我们直接使用 root 和 root 密码登录。运行以下命令新建用户:
# 为你自己的用户名,登录用,注意用户名必须全小写
useradd -m -G wheel -s /bin/bash <username>
# 设置用户密码
passwd <username>
# 赋予用户 sudo 权限
chmod 777 /etc/sudoers
vim /etc/sudoers
--------------------
# 找到
# Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL
# 上面这两行,然后输入 i 进入编辑模式,删掉 %wheel行前的 "#" 号
# 保存退出
chmod 440 /etc/sudoers
到了这里ArchLinux的安装也就到了尾声,接下来你只需要退出安装程序,然后取消挂载分区,重启选择Arch系统就可以进入ArchLinux了
# 退出arch root 安装环境
exit
# 取消挂载
umount -R /mnt
# 重启并拔出U盘
reboot
没插网线重启后wifi记得重新连接!
开机之后会显示一个终端的登陆界面,开始安装kde。必须需要提一句,安装桌面环境需要在普通用户下安装,如果你刚创建完用户,还请重启后用普通用户登录在进行接下来的教程。
窗口图形系统有两种选择——Xorg和Wayland。虽然可以使用 Wayland 启动 KDE Plasma,但仍存在一些缺失的功能和已知问题。建议使用 Xorg 以获得最完整和稳定的体验。
执行下面命令安装 Xorg 的一些组件(提示全部回车确认):
sudo pacman -S xorg-server xorg-apps xorg-xinit xorg-xclock xterm
安装完成后,可执行 startx
命令测试 Xorg 是否正常工作。(执行 exit 退出 Xorg 测试界面)
# 执行下面命令安装 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/)
# sddm 开机自启
sudo systemctl enable sddm
# 启用 SDDM,进入桌面环境
sudo systemctl start sddm
进入桌面后、可通过Alt + Enter快捷键弹出全局搜索框,可以快速搜索打开想要打开的应用,本人打开应用程序99%都是使用这种方式,非常快速便捷!!!
如果之前网络是由iwd终端连接wifi的,此刻需要在 iwd 终端忘记之前的连接。否则每次开机都会终端自动连接Wifi导致页面网络管理器不可用
iwd
# 列出以前连接过的网络
[iwd]# known-networks list
# 忘记已知的网络
[iwd]# known-networks 网络名 forget
# 最后点击页面的网络图标连接网络即可
# 进入桌面环境后,按 Ctrl+Alt+T 可打开终端。执行下面命令安装 Firefox
sudo pacman -S firefox
# 一次性安装常用中文字体
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后面会安装)
yay -S ttf-fira-code
# 打开 System Settings -> Regional Settings -> Language(modify)
# 点击 Add More languages,往下翻找到简体中文点击 Add
# 点击简体中文一栏右侧的向上箭头,将简体中文的优先级置顶,然后点击 apply
# 点击左侧的 Formats,然后点击右侧的 Region
# 在搜索框里输入 zh_CN,点击 简体中文(中国)
# 然后再点击右下角的apply。注销后重新登录,即可看到中文界面
现在越来越多的人开始用高分屏了,设置一个合适的全局缩放率就很有必要了。
在系统设置的显卡与显示器 -> 显示器配置中可以调节全局缩放率(注销后重新登录生效)。
配置
# Arch Linux可以安装安装fcitx5 实现输入中文,具体步骤如下(一路回车即可)
sudo pacman -S fcitx5-im
sudo pacman -S fcitx5-chinese-addons fcitx5-rime
# fcitx5-chinese-addons 包含了大量中文输入方式:拼音、双拼、五笔拼音、自然码、仓颉、冰蟾全息、二笔等
# fcitx5-rime 对经典的 Rime IME 输入法的包装,内置了繁体中文和简体中文的支持
# 然后在环境变量配置文件/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
键盘-英语(美国)
# 安装蓝牙并启动蓝牙服务
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
添加国内源
# 编辑配置文件
vim /etc/pacman.d/mirrorlist
# ---------------下面为vim操作,不同于终端-------------
# 找到第一个 Server=... 的行在该行上一行写入以下内容
Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch
为了系统的稳定,官方关闭了32位软件以及aur软件库,但是仅仅只依靠官方源中的软件时不够用的,这里我们要打开这两个库
vim /etc/pacman.conf
去掉[multilib]一节中两行的注释,来开启 32 位库支持。在文档结尾处加入下面的文字,来开启 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
库中的软件
官方仓库的软件实在是太少了,哪里有更丰富的软件源呢?答案是 AUR(Arch 用户软件仓库,全称 Arch User Repository)。AUR 是为用户而建、由用户主导的 Arch 软件仓库。
从 AUR 安装软件包,需要先安装 AUR Helper,这里以最有名的 yay 为例。yay 是一个用 Go 语言开发的 AUR Helper,具有高级依赖解决、PKGBUILD 下载、AUR 包名自动补全、移除生成依赖等功能。使用下面命令安装 yay(Binary 版本,无需自己编译)
pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
makepkg -si
注意:执行 yay 的所有命令时,前面不需要加 sudo
以下操作对
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 # 清理所有的缓存文件
openssh # ssh 链接远程服务器
peek # GIF录制
tree # 玩 Linux 的朋友都知道该命令
python-pip # Python 用户必备
neovim # vim 党福音
neofetch # 查看系统信息
screenkey # 显示按下的键
figlet # 生成一个 logo
iputils # 允许用户使用 ping 命令
wget # 下载工具
# 启动 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
# 安装 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 google-chrome # google 浏览器
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 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/ 上查询。
首先,安装显卡驱动。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这一项
# 右键可以切换显卡,之后会自动注销; 你也可以打开设置进行设置。
官网wiki
当前系统环境是 archlinux+kde plasma5
,touchegg和libinput-gestures都可以触控板需求,但是在实际配置过程中touchegg存在很多问题一直都没能解决,而libinput-gestures基本没有太大的问题。所以使用libinput-gestures。
kde是X.Org桌面环境,aur上维护了一个基于X.Org Server的驱动xf86-input-libinput-git很方便。而下面所说的X11 client在我这里就是kde plasma5。
驱动程序libinput在linux生态提供了很多驱动,本文使用的驱动是libinput,它负责分析内核从输入设备得到的数据发送给桌面环境,桌面环境根据不同的数据进行反馈。
术语解释
# setting -> 输入设备 -> 触摸板
手指轻触 轻触点击、轻触拖拽
双指轻触 右击(三指轻触中键点击)
# 确保当前用户在输入组中具有读取触摸板设备的权限
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 + 提示依赖名
# 然后重新运行自动启动
libinput有两种配置方式:
libinput安装后默认的配置文件在/usr/share/X11/xorg.conf.d
目录下,如何你安装多个驱动会存在多个文件:
[monap@ArchLinux ~]$ 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,解释下几个重要的配置参数:
鼠标左键
,2个手指点击对应鼠标中键
,3个鼠标点击对应鼠标右键
调试
[monap@ArchLinux ~]$ 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)]
# 这里面有一个值很重要Device Node (xxx):"/dev/input/event8"
# 后面使用libinput命令行时会用到这个路径
[monap@ArchLinux ~]$ 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
[monap@ArchLinux ~]$ 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)
这里可能会报没有
libgtk-4.so.1
的错误,安装gtk4即可:yay -S gtk4
# 这时会出现一个GUI画面帮助检测
libinput debug-gui --device /dev/input/event8
配置好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 包 转换后安装,这时候就需要 debtab 工具来转换。
# 安装
yay -S debtap
# 更新
sudo debtap -u
# 下载好待转换的 deb 包,将其转换,以下步骤一路回车即可
sudo debtap ~/Downloads/包名.deb
# 安装转换后的包
sudo pacman -U ~/Downloads/包名.pkg.tar.zst
个人主页查看
在 设置 -> 外观中下载各种美化插件!!
如果没有访问,则需要手动去 主题官网 下载各类美化效果的压缩包,然后解压到下面的目录中即可
~/.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/ # 壁纸
在
系统设置 -> 外观
中 可以应用我们下载下来的各种美化插件!
我的方案:
# 删除原始默认面板菜单
右击下方图标面板 -> 进入编辑模式 -> 删除面板
# 下载 latte-dock
sudo pacman -S latte-dock
# 启动 dock
latte-dock
# 右击 dock 栏,配置 latte、选择布局编辑器,选择 extended
# 右击 dock 栏,编辑停靠栏、点击高级 逐项按自己需求设置
# 面板添加电池组件
# 桌面右击 -> 添加组件 -> 搜索电池 -> 拖动到面板合适的位置即可
当打开一个应用之后,可以在 dock 栏中右击该应用的图标,然后将其固定在 dock 栏上。我们还需要一个类似 MAC 系统的 launchpad 程序,可以右击 dock 栏然后添加部件,点击右上角的 Get New Widgets。
搜索 OSXLaunchpad 下载并添加,然后将它添加到 dock 栏上。
加完成后,在 OSXLaunchpad 上单击右键,然后配置 OSXLaunchpad 向下面这样设置:
Konsole配置
# 打开Konsole -> 设置 -> 配置konsole
标签栏 -> 外观 -> 显示 -> 勾选永不
配置方案 -> 新建并命名为custom、勾选默认配置方案
外观 -> Breeze 微风 -> 编辑 -> 透明度10%
外观 -> 字体 -> 选择 -> 设置字体大小为12
# 设置 -> 显示工具栏 -> 取消勾选主工具栏、会话工具栏
# 设置 -> 取消勾选菜单栏(可通过右击终端设置中打开菜单栏)
下拉式终端 yakuake
# 第一次打开会让设置下拉终端快捷键 -> 按自己方便设置即可
# 该终端也Konsole共享系统配置,不用再对系统配置作更改
# 设置yakuake独有配置
# 打开yakuake(面板会有终端小图标出现)、右击
# 宽度:100%
# 高度:100%
# 配置yakuake
# 窗口 -> 取消勾选显示标d题栏、取消勾选显示标签栏
# 外观 -> 勾选隐藏边框
# 设置开机自启动
# 设置 -> 开机与关机 -> 自动启动 -> 添加 -> 添加应用程序 -> 系统 -> Yakuake
Typora 最新版已经收费,可以在官网下载以前的版本并手动安装,下面是最后一个免费版本:
下载完成后手动安装:
$ sudo tar -xvf ~/Downloads/Typora-linux-x64-1.0.3.tar.gz -C /usr/local
$ sudo mv /usr/local/bin/Typora-linux-x64 /usr/local/typora
添加可视化启动程序,在 ~/.local/share/applications 下新建以下文件,Typora 内部自己有 PNG 图片,所以不需要额外下载,直接复制粘贴以下内容即可:
$ vim ~/.local/share/applications/typora.desktop
[Desktop Entry]
Type=Application
Name=Typora
Exec=/usr/local/typora/Typora
Icon=/usr/local/typora/resources/assets/icon/[email protected]
Terminal=false
Categories=program;InstantMessaging
# 直接Typora官网下载最新deb包
# 利用前面安装的deb包转换工具安装即可
# 创建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会自动创建桌面图标,下次启动就可以直接以快捷方式启动!
arch 系的 Linux 无法保存 vscode 里 github 的登录状态,需要下载一个插件进行解决
yay -S qtkeychain gnome-keyring
更多Linux相关优化与软件攻略请参考个人笔记:常用Linux软件-工具