在 XPS 15 9560 上安装 Arch Linux

记录下安装Arch Linux的大致过程

Nvidia 显卡没有安装成功

安装流程大致参考了wiki上的Installation guide(可选中文简体)
中文论坛安装指南

准备安装介质

使用U盘重装系统,需要准备一个空白的U盘,确切来说是一个你不需要里面数据的U盘。我下载的时候安装镜像的大小是571MB。

Arch Linux Downloads下载安装镜像。推荐使用BitTorrent下载,也可以直接通过下载页面下方的中国的镜像下载。建议下载完成之后校验下。

Linux环境有dd命令可以直接制作安装U盘。详细说明

1
dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress oflag=sync

windows环境也有对应的工具。印象里直接用微软官方的Windows USB/DVD Download Tool就可以制作安装U盘。具体的步骤可以参考制作Win7安装U盘的过程

UEFI设置

根据wiki上关于XPS 15 9560相关说明,安装前需要修改一些UEFI设置。

Windows 10中可以通过下面的方法进入UEFI
TODO忘记这个选项在哪里了

  • 将硬盘的SATA Mode从默认的RAID改为AHCI。如果需要继续进入已有的Windows,那么需要看看这个SOLUTION
  • 将__TODO__忘记是什么了Thorough改成POST Behaviour
  • 关闭secure boot

我没有安装双系统,后面的设置都是安装Arch Linux单系统来说明的

安装环境配置

插上U盘,重启。在出现Dell的图标的时候一直不停按F12,直到出现进度条。之后就进入Boot Menu,选择带USB字样的选项,进入安装环境。

屏幕是4K的分辨率,默认字体小,看着要眼瞎。所以先改字体

1
setfont latarcyrheb-sun32

安装过程需要联网

1
wifi-menu

通过ping确保网络

1
ping t.cn -c 4

baidu现在连确定网络的功能都没有了

同步时间

1
timedatectl set-ntp true

选择软件仓库服务器,用国内的镜像下载速度会快很多

1
sed -i '/China/!{n;/Server/s/^/#/};t;n' /etc/pacman.d/mirrorlist

本来还需要验证启动模式,但是我这里确定是EFI就不写了,要看可以去看前面的参考。

分区&格式化

用的是EFI,那就需要一个EFI 系统分区Arch Linux本身需要一个分区分配给根目录/。以防万一计划分一个内存大小的SWAP分区

使用lsblk确定SSD的磁盘名称

1
lsblk

结果中带’nvme’字样的就是笔记本的SSD。其他以’loop’结尾的可以忽略。

然后使用parted或者cfdisk进行分区。安装的是Arch Linx单系统,直接删除原有的分区表,直接新建就可以了。具体过程可以看参考中的GIF

分区大小格式路径说明
nvme0n1p1512M--EFI 系统分区
nvme0n1p216G--交换分区
nvme0n1p3160.5G--根分区

首先格式化EFI 系统分区,根据wiki上的EFI 系统分区

1
mkfs.fat -F32 /dev/nvme0n1p1

格式化交换分区

1
2
mkswap /dev/nvme0n1p2
swapon /dev/nvme0n1p2

格式化根分区,用的还是传统的EXT4

1
mkfs.ext4 /dev/nvme0n1p3

格式化完成后使用lsblk查看有没有错

分区大小格式路径说明
nvme0n1p1512MFat32-EFI 系统分区
nvme0n1p216G[SWAP][SWAP]交换分区
nvme0n1p3160.5GEXT4-根分区

安装系统

安装前先挂载分区到对应路径

1
2
3
mount /dev/nvme0n1p3 /mnt
mkdir -p /mnt/boot/EFI
mount /dev/nvme0n1p1 /mnt/boot/EFI

使用lsblk查看有没有错

分区大小格式路径说明
nvme0n1p1512MFat32/mnt/boot/EFIEFI 系统分区
nvme0n1p216G[SWAP][SWAP]交换分区
nvme0n1p3160.5GEXT4/mnt根分区

安装基础软件包组base和基础开发包组base-devel,后者用于安装AUR中的软件

1
pacstrap -i /mnt base base-devel

如果有选项默认回车就可以了。
如果之前修改软件仓库服务器用了国内的镜像,安装很快就会完成。

至此,Arch Linux可以算是安装完成了。但是并不能作为日常使用。接下来需要进行基本的配置和安装必要的软件,包括桌面环境

基本配置

生成分区表。检查一下生成的文件是否正确

1
2
genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab

使用arch-chroot进入新系统。接下来的配置都在新系统里进行

1
arch-chroot /mnt

设置时区

1
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

同步硬件时间

1
hwclock --systohc

区域设置

1
nano /etc/locale.gen

去除en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8前的#,保存退出nano
生成locale

1
locale-gen

设置默认 locale

1
echo 'LANG=zh_CN.UTF-8'  > /etc/locale.conf

主机名设置,这里直接设置为xps

1
2
echo xps > /etc/hostname
nano /etc/hosts

输入以下内容,保存退出

1
2
3
127.0.0.1 localhost
::1 localhost
127.0.1.1 xps.localdomain xps

安装引导程序。这里直接使用传统的GRUB

1
2
3
pacman -S dosfstools grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg

设置root密码
重要,必须记住的密码

1
passwd

按提示输入密码

日常使用的话,基于安全原因不使用高权限的root用户。新建用户作为日常使用。这里以archie作为用户名。

1
2
useradd -m -g users -G wheel -s /bin/bash archie
passwd archie

按提示输入密码。日常使用就以archie用户配合设置的密码登录。日常使用中偶尔需要root权限,这里配置sudo用来临时提权

1
EDITOR=nano visudo

找到Uncomment to allow members of group wheel to execute any command这行,删除下一行的#,保存退出。
关于sudo的用法和更多配置参考

桌面环境

尝试使用独立显卡,但是失败了。这里只记下了只使用核显的方法。如果跳过这一步会导致XPS开关机挂起

1
nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT追加acpi_rev_override=1。加完之后该行差不多就是这个样子

1
GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_rev_override=1"

使用xorg作为图形界面的接口。这里偷懒直接全部安装了,反正存储不是特别紧张

1
pacman -S xorg

不喜欢gnome,所以安装KDE Plasma,顺手装上中文语言包

1
pacman -S plasma-meta kde-l10n-zh_cn

安装显示管理器sddm

1
pacman -S sddm

sddm默认不需要配置,直接启用就可以了

1
systemctl enable sddm

这样开机就能启动图形环境了,前面已经配置了中文环境,但是没有中文字体。不安装字体就会显示“豆腐”

1
pacman -S noto-fonts-cjk noto-fonts-emoji

网络配置

XPS 15 9560没有网口,这里直接安装无线的相关包

1
pacman -S iw wpa_supplicant dialog 

安装网络管理包,这里貌似要安装gnome的才有用,原因存疑

1
pacman -S networkmanager

接下来重启进入新系统

1
2
exit
reboot

这里关机重启XPS可能会挂起,长时间无响应。长按电源键直接关机。然后按电源键开机进入新系统。安装用的U盘可以拔掉了

进入系统之后,会发现显示的字体特别小,而且没有无线网络。按下Ctrl+Alt+F2,进入tty2,用root帐号登录。
先按照之前的步骤设置字体。

查看端口

1
ip link show

显示的结果中带wlp项就是无线,这里以wlp3s0为例。上线无线端口,并开启管理服务

1
2
ip link set wlp3s0 up
systemctl enable NetworkManager

按下Ctrl+Alt+F1,回到图形界面。
打开系统设置->显示和监控->显示,设置缩放显示到合适的大小,4K屏的XPS设置250%差不多。确定并应用。

然后重启,应该可以看到显示的字体可以看了,也可以在默认的右下角设置无线网络连接了。

安装必要软件

Arch Linux安装软件一般都需要连接网络。先连接网络。
现在图形环境没有终端,先安装终端。

切换到tty2,登录

安装konsole

1
pacman -S konsole

安装完后,exit退出tty2,在图形界面应该可以打开konsole。之后的命令在konsole中执行。

安装文件管理器、浏览器

1
pacman -S dolphin chromium

代理配置

Arch Linux的软件一般的在pacman仓库中,还有一些在AUR中。这里安装yay作为AUR Helper用来安装AUR中的软件。yay本身在AUR中,这里依照github上的说明手动安装

1
2
3
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

yay可以方便地安装AUR中的软件。之后软件的安装和更新都可以使用yay

为了“翻墙”,需要SSR客户端。SS原本也可以,但是代理服务商只提供了SSR,这里就装SSR

1
yay -S shadowsocksrr-libev-git

这个会安装失败,原因是编译的时候把warn当作error来对待了。我fork了一份源码,修改了,暂时可以用这个
修改PKGBUILD,使源码指向fork的分支

1
nano ~/.cache/yay/shadowsocksrr-libev-git/PKGBUILD

修改14行的源码地址为如下的分支

‘shadowsocksrr-libev-git::git+https://github.com/whitecodes/shadowsocksr-libev.git
删除已有的git信息和源码

1
2
rm -rf ~/.cache/yay/shadowsocksrr-libev-git/shadowsocksrr-libev-git
rm -rf ~/.cache/yay/shadowsocksrr-libev-git/src

然后手动安装

1
2
cd ~/.cache/yay/shadowsocksrr-libev-git
makepkg -si

这样应该可以顺利安装

根据代理服务商提供的配置编写配置文件,启动SSR

1
ssrr-local -c ssrconfig.json

这样就在本地开启了socket代理服务,这里以端口号1080为例

启动后会占用一个输出窗口,新开一个窗口/标签用于输入接下来的命令

SSR本身只提供了Socket代理,更多的情况下,需要的是http代理。这里使用了polipo
安装polipo

1
yay -S polipo

复制配置

1
cp /etc/polipo/config .poliporc  

编辑配置

1
nano ~/.poliporc

找到parent SOCKS proxy字段,修改为

socksParentProxy = “localhost:1080”
socksProxyType = socks5
我使用了on-disk cache,找到该字段,修改为
diskCacheRoot = “~/.polipo-cache/“
建立文件夹

1
2
cd ~
mkdir .polipo-cache

启动polipo

1
polipo -c .poliporc

设置系统代理
打开系统设置->网络窗格下的设置->代理,选择使用手动配置的代理服务器HTTP 代理填入本地127.0.0.1,端口填入默认的8123

打开chromium,可是应该可以访问Google了。在chrome 应用商店中安装Proxy SwitchyOmega,并设置代理。

日常使用的时候,SSR开机启动,polipo不启动,chromiumProxy SwitchyOmega控制网络流量使用SSR开启的socket代理
打开系统设置->开机和关机->自动启动->添加程序,输入ssrr-local,点击确定。在属性页中选择应用程序命令输入启动SSR的命令。应用退出。

软件安装

中文输入法用fcitx

1
yay -S fcitx-im fcitx-cloudpinyin kcm-fcitx

默认全选就可以了
配置输入法

1
nano ~/.xprofile

加入一下内容,保存退出

1
2
3
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

这样重启后应该就可以输入中文了。
打开Fcitx设置->附加组件设置->点击云拼音的右边按钮来设置->云拼音选择百度

视频播放用bomi

1
yay -S bomi-git

bomi安装会出错,先安装bomi-git版本

桌面环境用的KDE是基于qt的,所以日常用的软件也选用基于qt的。
压缩/解压工具用ark,图片浏览用Nomacs,dock 启动器用Latte,截图工具用Spectacle,下载用aric2,聊天用telegram,看手机通知用kde connect,图形化的编辑器用vscode

1
yay -S ark nomacs latte-dock spectacle aria2 telegram-desktop kdeconnect visual-studio-code-bin 

aria2的用法以后再说