最近尝试了一下在我的联想拯救者笔记本上安装 Archlinux 搭配 XFCE4 桌面环境,现记录一下安装过程。 ### 声明:本安装过程仅供参考,不喜勿看,谢绝喷子! # 安装基本系统 1.制作安装媒体: 在 [archlinux 官网](www.archlinux.org)下载了 iso 后,可以刻录光盘或者使用优盘。如果要制作U盘,在 Linux 下可以用 dd if=xxx.iso of=/dev/sdb bs=4M ,在Windows下可以使用 USBWriter 或者 rufus。 2. 优盘或者光盘启动后,先用 “ip link” 指令查看网络设备的名称。如果使用有线网络,则使用如下操作: ```` ip link set <设备名> up # 启用网络设备(如enp3s0f1) dhcpcd <设备名> # 自动获取IP地址 ip addr add /<子网掩码如24> dev <设备名> # 手动设置IP地址 ip route add default via <网关地址> #设置网关 ```` 如果是手动设置IP地址,需要编辑 /etc/resolv.conf,加入DNS地址,“nameserver xx.xx.xx.xx”。 3. 如果使用的是无线网络,首先要保证不被 rfkill 屏蔽,因此需要执行如下命令: ``` rfkill unblock wifi ``` 然后配置无线连接,先运行 **iwctl** 命令,然后进行如下配置: ``` device list # 查看网络接口名称 station [device] scan # 扫描网络,device是你上一步看到的名称,比如 wlan0 station [device] get-networks # 查看可用的SSID station [device] connect SSID # 连接到网络,会自动提示你输入密码 ``` 4. 使用 fdisk 或 cfdisk 来分区,例如: fdisk /dev/sda ,如果是固态硬盘,则用 fdisk /dev/nvme0n1 分区完毕后用 mkfs 格式化普通分区,用 mkswap 制作交换分区,例如: ``` mkfs.ext4 /dev/nvme0n1pX # 其中X和Y是分区的编号,如果是机械硬盘,则是 /dev/sda1 之类的 mkswap /dev/nvme0n1pY swapon /dev/nvme0n1pY ``` 5. 挂载分区到 /mnt 目录下,需要首先挂载根分区,例如: ``` mount /dev/nvme0n1pX /mnt mkdir /mnt/home && mount /dev/nvme0n1pZ /mnt/home #如果有用到UEFI分区,则需要挂载efi分区到 /boot/efi, 如 mkdir -p /mnt/boot/efi && mount /dev/nvme0n1p1 /mnt/boot/efi ``` 6. 编辑 /etc/pacman.d/mirrorlist ,把自己喜欢的速度比较快的镜像放在前面,然后执行如下命令来安装基本系统: ``` pacstrap /mnt base base-devel linux linux-firmware # 也可以选择安装 long-term support 版的内核,命令如下: pacstrap /mnt base base-devel linux-lts linux-firmware ``` 7. 执行如下命令生成 fstab , ``` genfstab -U /mnt >> /mnt/etc/fstab ``` 8. chroot 后安装基本软件: ``` arch-chroot /mnt /bin/bash pacman -S sudo nano ``` 9. 编辑 /etc/locale.gen ,把需要的 locale 前面的#去掉,然后执行 locale-gen 。 10. 设置默认 locale,通常设置为英文环境,例如: ``` echo LANG=en_US.UTF-8 > /etc/locale.conf export LANG=en_US.UTF-8 ``` 11. 设定时区并对时: ``` ln -sf /usr/share/zoneinfo/Asia/Chongqing /etc/localtime # 时区根据自己的需要来选择 hwclock --systohc ``` 12. 设定主机名,执行: ``` echo 主机名 > /etc/hostname ``` 13. 编辑 /etc/mkinitcpio.conf ,在 MODULES 中加入自己需要的模块 ,然后执行如下命令: ``` mkinitcpio -p linux # 如果之前用的是 long-time support 内核,则执行如下命令: mkinitcpio -p linux-lts ``` 14. 安装 Grub2,执行如下命令: ``` # 我是intel的CPU,因此需要ucode,有其他操作系统需要安装os-prober,如果是UEFI,则还需要安装 efibootmgr pacman -S intel-ucode grub os-prober efibootmgr # 使用 mbr 方式则执行下面的命令安装 Grub grub-install --target=i386-pc --recheck /dev/sda # 使用 uefi 方式则执行下面的命令安装 Grub grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=archlinux ``` 新版的 grub2 不会默认调用 os-prober 来探测 Windows 系统,如果需要的话,可以编辑 /etc/default/grub 文件,在其中加入如下内容: ``` GRUB_DISABLE_OS_PROBER=false ``` 然后执行如下命令来生成 grub 菜单: ``` grub-mkconfig -o /boot/grub/grub.cfg ``` 15. 执行 **passwd** 命令,修改 root 密码 # 安装 X 及 XFCE4 1. 加入一个普通用户,命令如下: ``` useradd -m -G users,audio,lp,optical,storage,video,wheel,power -s /bin/bash 普通用户名 passwd 普通用户名 ``` 2. 把该用户加入 sudo 用户名单,编辑 /etc/sudoers ,取消掉 %wheel ALL=(ALL) ALL 这一行之前的注释井号。 3. 安装声卡驱动,命令如下: ``` sudo pacman -S alsa-utils alsa-oss ``` 4. 安装X,命令如下: ``` pacman -S xorg-server xorg-xinit dbus nvidia nvidia-prime xf86-input-evdev xf86-input-synaptics ``` 注意:如果安装的是 long-term support 内核,这里需要安装的就不是 nvidia 而是 **nvidia-lts** 。 5. 安装常用字体,命令如下: ``` pacman -S ttf-dejavu ttf-bitstream-vera wqy-zenhei ttf-arphic-ukai ttf-arphic-uming opendesktop-fonts ttf-inconsolata ttf-ubuntu-font-family adobe-source-code-pro-fonts xorg-mkfontscale ``` 6. 安装 xfce4 及一些常用软件,命令如下: ``` pacman -S xfce4 xfce4-goodies pulseaudio pavucontrol lightdm-gtk-greeter accountsservice gvfs gvfs-mtp gvfs-afc ntfs-3g exfat-utils p7zip file-roller git systemctl enable lightdm ``` 7. 安装 fcitx 小企鹅输入法,命令如下: ``` pacman -S fcitx fcitx-configtool fcitx-gtk2 fcitx-gtk3 ``` 如果要安装 fcitx5,则执行如下命令: ``` pacman -S fcitx5-im fcitx5-chinese-addons ``` 安装完成后,编辑 ~/.xprofile 文件,写入如下内容: ``` export LC_ALL="zh_CN.UTF-8" export XMODIFIERS=@im=fcitx export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx fcitx -d ``` 8. 安装 NetworkManager 网络管理器,命令如下: ``` pacman -S networkmanager network-manager-applet gnome-keyring systemctl enable NetworkManager.service ``` 9. 退出 chroot 环境后卸载挂载的分区,执行如下命令: ``` exit # 卸载掉所有挂载的分区,如 home 、user等。 umount /mnt/boot/efi umount /mnt/home umount /mnt reboot ``` # 安装常用软件(下面的命令都需要用 sudo 来执行) 1. 安装媒体播放软件:我用的是 mpv 播放视频,deadbeef 播放音乐,gpicview 来看图,因此我会执行如下命令: ``` pacman -S mpv deadbeef curl faad2 ffmpeg flac imlib2 libcddb libcdio libmad libsamplerate libsndfile libvorbis libzip libx11 wavpack zlib gpicview ``` 2. 安装浏览器:我用的是 chromium ,因此执行如下命令: ``` pacman -S chromium ``` 3. 安装文本编辑器:请根据自己的需要安装,我主力用 emacs,偶尔也会用到 vim 。 ``` pacman -S gvim emacs ``` 我还会安装一个轻量级的文本编辑器 l3afpad, 而不用 mousepad,安装完后建立一个软链接: ``` ln -s /usr/bin/l3afpad /usr/bin/leafpad ``` 4. 安装 mariadb 数据库,执行如下命令: ``` pacman -S mariadb mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql mysql_secure_installation ``` 5. 安装 wps-office ,我会安装 [AUR中的wps-office-cn](https://aur.archlinux.org/packages/wps-office-cn/): ``` git clone https://aur.archlinux.org/wps-office-cn.git cd wps-office-cn makepkg -si ``` 安装后的 wps 默认是英文界面的,需要修改 /usr/share/applications/ 目录下所有 wps 相关的 .desktop 文件,在 **Exec 一行加入 env LANG=zh_CN** ,比如对于WPS表格: ``` Exec=env LANG=zh_CN /usr/bin/et %F ``` 6. 安装 texlive ,执行如下命令: ``` pacman -S texlive-bin texlive-core texlive-langchinese texlive-latexextra texlive-science ``` 7. 安装蓝牙管理器,命令如下: ``` rfkill unblock bluetooth pacman -S bluez bluez-utils blueman systemctl enable bluetooth.service ``` 重启后就可以自己进行配对了。如果需要命令行配对,可以参考 [archwiki 上的相关内容](https://links.jianshu.com/go?to=https%3A%2F%2Fwiki.archlinux.org%2Ftitle%2FBluetooth) # 简单美化 1. 在面板中删除基本的开始菜单,换成 whisker-menu 。 2. 去 [xfce-look](https://www.xfce-look.org/) 下载相应的主题(theme)、图表(icon)和鼠标指针(cursors),通过“设置-外观”进行安装。 3. 在“设置-外观”和“设置-窗口管理器”选择相应的样式。 简单配置后外观如下: ![简单美化后](https://upload-images.jianshu.io/upload_images/2615257-9f0f5cbf8f274ce6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 4. 喜欢更漂亮的 dock 的可以安装 plank ,不过我个人觉得默认的 dock 就够用了。 5. 喜欢类似 Mac OS 的 albert 的朋友可以从 AUR 安装 [albert-git](https://aur.archlinux.org/packages/albert-git/) 或者 [albert-minimal](https://aur.archlinux.org/packages/albert-minimal/) 并自行配置。我个人觉得默认的 appfinder(热键是Alt+F3)就够用了。 6. 如果喜欢类似 Mac OS 的全局菜单,可以考虑从 AUR 安装 vala-panel ,在此不再赘述。 # Troubleshooting 1. 关闭烦人的 beep 声音,以免重启关机的时候叫,可以执行下面的命令: ``` xset -b ``` 2. 如果pacman更新时出现 PGP Error: no data 错误,那可以按照如下操作: ``` sudo rm -R /var/lib/pacman/sync sudo pacman -Syu ``` 其他方法可以参考 [Archwiki 上的相关内容](https://wiki.archlinux.org/title/PC_speaker#Disable_PC_Speaker)