在 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
| 分区 | 大小 | 格式 | 路径 | 说明 |
|---|---|---|---|---|
| nvme0n1p1 | 512M | - | - | EFI 系统分区 |
| nvme0n1p2 | 16G | - | - | 交换分区 |
| nvme0n1p3 | 160.5G | - | - | 根分区 |
首先格式化EFI 系统分区,根据wiki上的EFI 系统分区1
mkfs.fat -F32 /dev/nvme0n1p1
格式化交换分区1
2mkswap /dev/nvme0n1p2
swapon /dev/nvme0n1p2
格式化根分区,用的还是传统的EXT41
mkfs.ext4 /dev/nvme0n1p3
格式化完成后使用lsblk查看有没有错
| 分区 | 大小 | 格式 | 路径 | 说明 |
|---|---|---|---|---|
| nvme0n1p1 | 512M | Fat32 | - | EFI 系统分区 |
| nvme0n1p2 | 16G | [SWAP] | [SWAP] | 交换分区 |
| nvme0n1p3 | 160.5G | EXT4 | - | 根分区 |
安装系统
安装前先挂载分区到对应路径1
2
3mount /dev/nvme0n1p3 /mnt
mkdir -p /mnt/boot/EFI
mount /dev/nvme0n1p1 /mnt/boot/EFI
使用lsblk查看有没有错
| 分区 | 大小 | 格式 | 路径 | 说明 |
|---|---|---|---|---|
| nvme0n1p1 | 512M | Fat32 | /mnt/boot/EFI | EFI 系统分区 |
| nvme0n1p2 | 16G | [SWAP] | [SWAP] | 交换分区 |
| nvme0n1p3 | 160.5G | EXT4 | /mnt | 根分区 |
安装基础软件包组base和基础开发包组base-devel,后者用于安装AUR中的软件1
pacstrap -i /mnt base base-devel
如果有选项默认回车就可以了。
如果之前修改软件仓库服务器用了国内的镜像,安装很快就会完成。
至此,Arch Linux可以算是安装完成了。但是并不能作为日常使用。接下来需要进行基本的配置和安装必要的软件,包括桌面环境
基本配置
生成分区表。检查一下生成的文件是否正确1
2genfstab -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-8和zh_CN.UTF-8 UTF-8前的#,保存退出nano
生成locale1
locale-gen
设置默认 locale1
echo 'LANG=zh_CN.UTF-8' > /etc/locale.conf
主机名设置,这里直接设置为xps1
2echo xps > /etc/hostname
nano /etc/hosts
输入以下内容,保存退出1
2
3127.0.0.1 localhost
::1 localhost
127.0.1.1 xps.localdomain xps
安装引导程序。这里直接使用传统的GRUB了1
2
3pacman -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
2useradd -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
安装显示管理器sddm1
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
2exit
reboot
这里关机重启XPS可能会挂起,长时间无响应。长按电源键直接关机。然后按电源键开机进入新系统。安装用的U盘可以拔掉了
进入系统之后,会发现显示的字体特别小,而且没有无线网络。按下Ctrl+Alt+F2,进入tty2,用root帐号登录。
先按照之前的步骤设置字体。
查看端口1
ip link show
显示的结果中带wlp项就是无线,这里以wlp3s0为例。上线无线端口,并开启管理服务1
2ip link set wlp3s0 up
systemctl enable NetworkManager
按下Ctrl+Alt+F1,回到图形界面。
打开系统设置->显示和监控->显示,设置缩放显示到合适的大小,4K屏的XPS设置250%差不多。确定并应用。
然后重启,应该可以看到显示的字体可以看了,也可以在默认的右下角设置无线网络连接了。
安装必要软件
Arch Linux安装软件一般都需要连接网络。先连接网络。
现在图形环境没有终端,先安装终端。
切换到tty2,登录
安装konsole1
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
3git 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 | rm -rf ~/.cache/yay/shadowsocksrr-libev-git/shadowsocksrr-libev-git |
然后手动安装1
2cd ~/.cache/yay/shadowsocksrr-libev-git
makepkg -si
这样应该可以顺利安装
根据代理服务商提供的配置编写配置文件,启动SSR1
ssrr-local -c ssrconfig.json
这样就在本地开启了socket代理服务,这里以端口号1080为例
启动后会占用一个输出窗口,新开一个窗口/标签用于输入接下来的命令
SSR本身只提供了Socket代理,更多的情况下,需要的是http代理。这里使用了polipo
安装polipo1
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 | cd ~ |
启动polipo1
polipo -c .poliporc
设置系统代理
打开系统设置->网络窗格下的设置->代理,选择使用手动配置的代理服务器,HTTP 代理填入本地127.0.0.1,端口填入默认的8123
打开chromium,可是应该可以访问Google了。在chrome 应用商店中安装Proxy SwitchyOmega,并设置代理。
日常使用的时候,SSR开机启动,polipo不启动,chromium由Proxy SwitchyOmega控制网络流量使用SSR开启的socket代理
打开系统设置->开机和关机->自动启动->添加程序,输入ssrr-local,点击确定。在属性页中选择应用程序,命令输入启动SSR的命令。应用退出。
软件安装
中文输入法用fcitx1
yay -S fcitx-im fcitx-cloudpinyin kcm-fcitx
默认全选就可以了
配置输入法1
nano ~/.xprofile
加入一下内容,保存退出1
2
3export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
这样重启后应该就可以输入中文了。
打开Fcitx设置->附加组件设置->点击云拼音的右边按钮来设置->云拼音选择百度
视频播放用bomi1
yay -S bomi-git
bomi安装会出错,先安装bomi-git版本
桌面环境用的KDE是基于qt的,所以日常用的软件也选用基于qt的。
压缩/解压工具用ark,图片浏览用Nomacs,dock 启动器用Latte,截图工具用Spectacle,下载用aric2,聊天用telegram,看手机通知用kde connect,图形化的编辑器用vscode1
yay -S ark nomacs latte-dock spectacle aria2 telegram-desktop kdeconnect visual-studio-code-bin
aria2的用法以后再说