萌妹子都能看懂的VMware Workstation安装Arch Linux和Cinnamon桌面教程

Arch Linux

前言

前段时间把服务器的操作系统换成了Arch Linux,后面一直想把桌面系统也换成Arch Linux。因为对游戏有需求,所以我的Linux都安装在虚拟机中。本来准备直接在VMware Workstation中安装Antergos或者Manjaro这类开箱即用的基于Arch Linux的发行版,但是作为一个爱折腾的人,这样便少了很多乐趣。正好难得有一个闲暇的周末,于是准备动手安装Arch Linux,并安装Cinnamon桌面环境。安装的时候才发现,这一路上还是有很多坑的,还好凭借着Arch Linux官方Wiki和我那过了四级的英语阅读能力,最终还是把这些问题解决了。现将折腾过程记录如下,不为教会萌妹子(标题党),只为让自己和后来的新人少走弯路。

安装

整个过程分为三步:Arch Linux基本系统的安装、Cinnamon桌面环境的安装、必要软件的安装与其他优化。

安装Arch Linux基本系统

这一部分照着官方Wiki来,基本上不会出什么问题。我在新建VMware Workstation虚拟机时,系统类型先选“Ubuntu 64位”,这样默认会添加SATA光驱,并开启加速3D图形等,创建完成后,再将系统类型修改为“其他 Linux 3.x 内核64位”。我给虚拟机分配了8GB内存,4个CPU核心,以及50GB硬盘,同时用EFI替换掉传统的BIOS引导。这个配置对于日常工作与开发来说绰绰有余。

检查网络连接

一般如果网络连接用的NAT模式的话,开机后应该就会有网络了,可以用以下命令检查网络是否通畅:

1
ping mrx.one -c 4

更新系统时间

首先启用ntp,确保系统时间正确:

1
timedatectl set-ntp true

建立硬盘分区

然后直接新建硬盘分区,在这里我使用的是有GUI的cfdisk:

1
cfdisk /dev/sda

由于我使用的是EFI引导,所以需要一个EFI分区。除此之外,还分了一个根分区和一个交换分区。需要注意的是,cfdisk默认会从2048扇区开始分区,因此实际可用容量为50GB - 2MB。最终我的分区方案是2GB的/boot分区,40GB的/分区,和8GB的swap分区:

1
2
3
4
Device Start End Sectors Size Type
/dev/sda1 2048 4196351 4194304 2G EFI System
/dev/sda2 4196352 88078335 83881984 40G Linux root (x86-64)
/dev/sda3 88078336 104857566 16779231 8G Linux swap

其实/boot没必要分这么大,但是强迫症的我还是分了2GB,主要是让根分区恰好为整数。40GB的根分区,真实大小是40 * 1024 - 2 = 40958MB,分完根分区后刚好剩下和内存大小相同的8GB空间,用来当作交换分区。

格式化分区

分完区后就是格式化操作了,由于我是用的EFI引导,所以EFI分区需要格式化成FAT32格式(具体可见官方Wiki):

1
2
3
4
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mkswap /dev/sda3
swapon /dev/sda3

挂载分区

格式化完成之后,将分区挂载到/mnt。先挂载根分区,再挂载EFI分区:

1
2
3
mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot

选择镜像

由于国内网络环境,连接国外源可能会很慢,所以有必要换成国内镜像。只需要修改mirrorlist文件,注释掉其他源,保留国内源即可:

1
vim /etc/pacman.d/mirrorlist

安装基本系统

选择好国内源后,便可以开始基本系统的安装。我同时安装了base-develVim

1
pacstrap /mnt base base-devel vim

生成fstab

等待安装完成后,使用genfstab命令生成fstab文件:

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

Chroot

接下来chroot到新安装的系统。chroot也就是将该目录变成/

1
arch-chroot /mnt

设置时区

然后将系统时区设为东八区:

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

同时使用hwclock设置硬件时钟,并调整时间偏移:

1
hwclock --systohc

设置Locale

接下来需要进行一些语言和地区相关的配置。由于我使用的是英语,因此只配置了英语语言。如果使用中文的话可以额外增加中文的配置。先编辑locale.gen文件,解除en_US.UTF-8 UTF-8的注释。如果需要中文,同时解除zh_CN.UTF-8 UTF-8的注释:

1
vim /etc/locale.gen

然后执行以下命令生成locale信息:

1
locale-gen

然后还需要设置LANG环境变量:

1
vim /etc/locale.conf

在该文件中添加以下内容:

1
LANG=en_US.UTF-8

设置主机名

我的主机名设置的是archlinux。编辑hostname文件,写入主机名:

1
vim /etc/hostname

同时在hosts文件中配置主机名对应的IP:

1
vim /etc/hosts

archlinux改为你自己的主机名:

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

修改Root用户密码

执行passwd,并输入两次密码:

1
passwd

创建新用户

非常不建议使用root用户登录!因此有必要创建一个其他用户:

1
useradd -m -G wheel -s /bin/bash acris

-G参数将该用户加到额外的wheel组中,稍后可以给这个组执行sudo命令的权限。-s参数制定了默认的shell为bash,其实无所谓,因为我一般会很快切换到zsh

修改新创建用户的密码,照样是输入两次:

1
passwd acris

接下来需要允许该用户所在的wheel组有执行sudo命令的权限,此时请不要直接修改/etc/sudoers文件,而是要使用这个命令:

1
visudo

然后解除wheel组前面的注释:

1
2
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL

配置Bootloader

因为我用的是UFI引导,所以bootloader使用的是systemd-boot。同时,因为我是使用的Intel的CPU,所以一并安装并配置了intel-ucode

1
2
pacman -S intel-ucode
bootctl --path=/boot install

接下来配置systemd-boot

1
vim /boot/loader/loader.conf

修改为以下内容:

1
2
3
default arch
timeout 5
editor 0

然后使用blkid命令查看根分区的PARTUUID,并写进systemd-boot的配置文件中:

1
blkid -s PARTUUID -o value /dev/sda2

返回的PARTUUID为:d75dae0d-9e8e-40d2-9825-33750136c25c,然后新建配置文件:

1
vim /boot/loader/entries/arch.conf

写入以下内容,注意不要写错刚刚得到的PARTUUID

1
2
3
4
5
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options root=PARTUUID=d75dae0d-9e8e-40d2-9825-33750136c25c rw

由于我安装了intel-ucode,所以第三行也把它配置进去了。如果不是Intel的CPU,则不需要安装intel-ucode,也不需要第三行的配置。

至此,bootloader已经安装完成了。接下来进行一些其他配置。

安装yaourt

至于什么是yaourt在这里就不再赘述了,在我看来它就是一个AUR的包管理器,并且完全可以替代pacman

要安装它很简单,只要添加archlinuxfr的源,然后安装就行了。需要注意的是,yaourt不能以root身份使用,所以这里安装完成了,到时候会用上面新建的用户登录,再使用该命令。还有一点就是以非root用户使用时,无需加sudo命令,需要管理员权限时,yaourt会自动弹出输入密码的提示。

添加archlinuxfr源:

1
vim /etc/pacman.conf

在最底部加上以下内容:

1
2
3
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

然后安装yaourt

1
pacman -Syu yaourt

新手第一次使用yaourt安装AUR库中的软件时可能会有点懵逼,一般安装AUR的软件时,会弹出是否编辑PKGBUILD,一般情况下不需要编辑,按n即可。有些软件会询问你是否要编辑xxxxx.install安装脚本,一般情况下也直接按n就好。当询问是否继续编译或者安装软件时,则需要按y

设置dhcpcd开机自启

接下来让dhcpcd.service开机自启,不然装完重启后无法上网:

1
systemctl enable dhcpcd.service

退出安装环境

至此,基本系统的安装以及完成了。不出意外的话,一会儿重新开机就能看到登录界面了。在此之前,先退出安装环境,并卸载挂载的分区:

1
2
exit
umount -R /mnt

接下来关机,并且移除掉VMware Workstation挂载的ISO镜像,然后重新开机即可:

1
poweroff

安装Cinnamon桌面环境

重新开机以后,不出意外应该看到了登录界面。此时用之前新创建的用户登录,然后开始安装Cinnamon桌面环境。

生成用户文件夹

先安装xdg-user-dirs,用于生成用户目录下的 DocumentsDownloadsMusicPictures 等等文件夹:

1
2
3
yaourt -S xdg-user-dirs
xdg-user-dirs-update
ls

不出意外的话,使用ls命令应该可以看到生成的那些文件夹了。这里我们使用了之前安装的yaourt命令。用法和pacman基本一致。

安装oh-my-zsh

最好先安装oh-my-zsh,否则安装其他软件后再安装它,会出现很多奇怪的问题,比如.bashrc里面的配置没有同步到.zshrc等,反正早安装不会吃亏就对了。安装oh-my-zsh需要先安装一些必要软件:

1
yaourt -S git zsh wget curl

安装完git别忘记设置它:

1
2
git config --global user.name "YOUR NAME"
git config --global user.email "YOUR EMAIL ADDRESS"

然后安装oh-my-zsh

1
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

安装过程中会让你输入密码,然后你就会发现已经切换到zsh了。安装完成后最好先exit再重新登录一下,这样下次登录时默认就是zsh了。

然后安装bash-completionzsh-completions

1
yaourt -S bash-completion zsh-completions

安装open-vm-tools

使用VMware Workstation安装其他系统的话,都会装一个VMware Tools的软件,这个软件相当于是一个驱动包,装完后图形性能、跨机器复制粘贴、文件拖拽等功能才能使用。VMware官方推荐在Linux系统上使用VMware Tools的开源实现:open-vm-tools。在此之前,也有一些必要软件需要安装:

1
yaourt -S mesa lsb-release xf86-input-vmmouse xf86-video-vmware

接下来安装open-vm-tools

1
yaourt -S open-vm-tools gtkmm

如果不安装gtkmm,等安装完桌面环境以后,跨机器复制、文件拖拽貌似不会生效~

接下来让open-vm-tools开机自启。貌似Arch Linux上安装的绝大部分软件默认都不会开机自启:

1
2
sudo systemctl enable vmtoolsd.service
sudo systemctl enable vmware-vmblock-fuse.service

安装X桌面和LightDM显示管理器

装完open-vm-tools后,现在就要开始安装桌面环境了。首先要安装xorg-server,这是一切图形界面的前提条件。因为我们使用LightDM来实现登录,所以没必要安装xorg-xinit,同时安装好LightDMlightdm-gtk-greeter以及其设置工具:

1
yaourt -S xorg-server lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings

如果你要使用lightdm-webkit2-greeter,记得一定要修改LightDM配置文件,指定greeter-session,不然无法启动LightDM。当然这里我就直接用lightdm-gtk-greeter了,虽然默认界面有点丑,但是配置一下了还是蛮好看的。

安装完成记得设置开机自启:

1
sudo systemctl enable lightdm.service

安装Cinnamon和必要软件

Cinnamon应该算是我最喜欢的桌面环境了吧,安装完Display Manager以后,接下来就可以安装Cinnamon桌面了:

1
yaourt -S cinnamon nemo-fileroller gnome-terminal unzip unrar p7zip zip gnome-keyring gnome-system-monitor gnome-screenshot screenfetch

除了Cinnamon桌面,还安装了终端、解压软件、任务管理器、截图等软件,还有在终端查看系统信息的screenfetch,执行后会出现一个美美的Arch Linux的LOGO。

安装完Cinnamon后,需要将Network Manager设置为开机自启。否则无法使用网络管理相关功能:

1
sudo systemctl enable NetworkManager.service

接下来安装Cinnamon需要的打印、蓝牙,声音文件,还有Cinnamon设置面板需要用到的必须的软件,还有很好看的Arc图标和主题:

1
yaourt -S system-config-printer gtk3-print-backends blueberry orca mousetweaks cinnamon-sound-effects arc-gtk-theme arc-icon-theme

然后安装输入设备驱动:

1
yaourt -S xf86-input-evdev xf86-input-keyboard xf86-input-mouse xf86-input-void libinput

为了修改菜单图标为Arch Linux的图标,还有登录界面使用Arch Linux官方壁纸等,可以安装下面两个软件,安装完成后所有资源都在/usr/share/archlinux目录下:

1
yaourt -S archlinux-artwork archlinux-wallpaper

然后安装一些好看的中英文字体:

1
yaourt -S ttf-dejavu adobe-source-code-pro-fonts ttf-ubuntu-font-family noto-fonts noto-fonts-emoji noto-fonts-cjk wqy-microhei wqy-bitmapfont wqy-zenhei

恩,到这里Cinnamon桌面环境应该安装OK了,那么就重启吧,希望重启以后能看到那不太漂亮的登录界面~ :smile:

1
sudo reboot

提醒一下:登录的时候,记得一定要先在右上角选择会话那里,选择Cinnamon!

安装常用软件以及其他优化

如果你的Cinnamon桌面已经安装完毕,那么可以继续往下,否则,还是认真看看上面哪一步做错了。

系统美化

主题、字体、菜单图标、登录界面等,都可以按照你的个人喜好去调整,我也不再细说。

安装Rime输入法

首先,输入法是必不可少的。对于我来说,我比较喜欢使用Rime输入法:

1
yaourt -S fcitx-im fcitx-configtool fcitx-rime

安装完成后,可以在Menu里面找到Fcitx启动,然后打开Fcitx Configuration,添加Rime即可。下次开机时,Fcitx会自动启动。

装完输入法,还需要进行一些额外的配置,否则在有些地方(如Intellij IDEA)无法输入中文:

1
vim ~/.xprofile

然后写入以下内容:

1
2
3
4
# Fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

安装并启用Shadowsocks代理

除了输入法,当然还有重要软件要装:

1
yaourt -S shadowsocks-libev simple-obfs

然后新建配置文件:

1
2
sudo mkdir /etc/shadowsocks
sudo vim /etc/shadowsocks/config.json

编辑好配置文件后,启用代理,并设置开机自启:

1
2
sudo systemctl start shadowsocks-libev@config.service
sudo systemctl enable shadowsocks-libev@config.service

启动代理后,除了在Chrome上安装Switch Omega等软件外使用代理,还可以设置系统代理,这里需要使用genpac来根据gfwlist.txt生成PAC文件。由于Arch Linux默认使用Python 3,而genpac不兼容Python 3,因此需要安装python2-pip

1
2
yaourt -S python2-pip
sudo pip2 install genpac

genpac的使用方法可以参考官方文档

生成PAC文件后,还需要在System Settings -> Network -> Network Proxy中进行设置,Method选择Automatic,Configuration URL填写PAC文件地址。如file:///home/acris/Softwares/GenPAC/proxy.pac

开发工具

对于一个程序猿来说,常用软件当然是一些开发工具了。我个人用的较多的开发工具主要是JetBrains家族的,这些软件AUR都有提供,直接使用yaourt搜索即可,例如:

1
yaourt -Ss intellij

不过我是直接从JetBrians官网下载解压后使用,两种方法都可以,具体取决于个人喜好。需要提一下的是,Cinnamon默认很多快捷键会和JetBrains家族的IDE冲突,我的做法是把系统的快捷键都取消了,反正也用不着。另外Fcitx的一些快捷键也会和IDE冲突,例如Ctrl + Space,所以我改成了Super + Space,这些地方都需要自己去慢慢配置。

JDK、Node.js等工具AUR也有提供,但我个人偏好于使用sdkmannvm来进行管理。
其他的像File Zilla,Postman等,我是直接从AUR安装:

1
yaourt -S filezilla postman-bin

文本编辑器的话,大神们喜欢用Vim,但是我觉得gedit也蛮好用的:

1
yaourt -S gedit

当然,你若是喜欢Atom、VSCode、Sublime Text等工具的话,AUR也可以满足你。

安装其他常用软件

浏览器个人钟爱Chrome:

1
yaourt -S google-chrome

Markdown编辑器,首选Typora:

1
yaourt -S typora

如果需要办公,可以安装LibreOffice:

1
yaourt -S libreoffice-fresh

邮件客户端可以用Mozilla出品的Thunderbird:

1
yaourt -S thunderbird

音乐客户端当然是网易云音乐了:

1
yaourt -S netease-cloud-music

视频播放器可以使用VLC:

1
yaourt -S vlc

偶尔有图片编辑需求的话,当然是Linux下大名鼎鼎的GIMP了:

1
yaourt -S gimp

如果只是查看图片,可以安装Linux Mint出品的Pix:

1
yaourt -S pix

还有更多更多软件,AUR基本上都可以满足你。除了滚动更新的特性和丰富的Wiki以外,Arch Linux的另一大特点就是强大的AUR仓库。

最后,献上两张成品图(点击可以查看大图):

Login Screen

Desktop

总结

在VMware Workstation中安装Arch Linux和Cinnamon桌面环境的教程到此便结束了,如果安装过程遇到其他问题,可以去ArchWiki或者通过谷歌寻找答案,当然也可以在下面留言,如果我会的话当然乐意解答。

从我一天多时间的踩坑经验来说,以下几点是容易出错的:

  • 安装完系统无法启动?看看是不是粗心大意把PARTUUID配置错了。
  • 安装完系统没有设置dhcpcd开机自启,导致无网络。
  • 安装完open-vm-tools没有设置开机自启,导致重启后不生效。
  • 安装完open-vm-tools后没有安装gtkmm,导致跨机器复制粘贴、文件拖拽不可用。
  • 如果你偏爱lightdm-webkit2-greeter,一定要在LightDM配置文件中指定greeter-session
  • 安装完输入法在部分程序(如Intellij IDEA)中无法输入?需要手动在~/.xprofile中配置变量。
  • Shadowsocks无法启动?记得用shadowsocks-libev@config.service,@符号后面是配置文件的名称。
  • 登录后黑屏,Cinnamon崩溃?先看~/.xssession-errors里面有没有和libinput相关的错误?有的话尝试安装libinput,还不行的话我也无解了。
  • IDE的快捷键被占用?去改掉系统和输入法的快捷键吧~

其他未解决的问题:

  • 安装鼠标光标主题后,在设置中选择鼠标主题时,不显示预览图,貌似是Cinnamon的BUG,暂时无解。

本文虽为VMware Workstation安装Arch Linux Cinnamon的教程,但是应该同样适用于其他环境,只需将安装open-vm-tools那一步,换成安装其他环境的驱动即可(未经测试,出错勿怪哈)。

由于Arch Linux的Wiki更新较为频繁,建议用此文章结合官方Wiki一起安装。文章虽然写的不太好,但是希望有了我的前车之鉴,以及我不断填坑总结出来的这份安装教程,大家能够少走弯路,一次成功~


参考资料:

Acris Liu wechat
关注Mr.X微信公众号
打赏,是超越赞的一种表达。