VMware Workstation安装Arch Linux和xfce桌面教程

为什么80%的码农都做不了架构师?>>>   hot3.png

本文永久地址:https://my.oschina.net/bysu/blog/1577013

参考:

https://blog.mrx.one/2017/03/20/How-to-install-Arch-Linux-with-Cinnamon-desktop-on-VMware-Workstation/

http://blog.csdn.net/jaina_proudmoore/article/details/52589135

前言

虚拟机vmware中安装archlinux,断断续续地搞了几天,总是装不上。都快放弃了。看了上述第一篇文章,终于跨过了那一步——让我挂了无数次的地方(pacstrap /mnt bas)。每每到这样都会报:pacman: error while loading shared libraries: libcurl.so.59: cannot open shared object file: No such file or library.的错误,简直让我无以奔溃。都是安装教程做的,可是我的就是报错,百度相关报错信息无果。今天死马当活马医,终于成功了。下面的步骤根据本人实际安装进行修改。

安装Arch Linux基本系统

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

检查网络连接

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

ping www.baidu.com   #ping通之后,按Ctrl+c键关闭当前命令


更新系统时间

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

timedatectl set-ntp true


建立硬盘分区

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

cfdisk /dev/sda


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

fdisk /dev/sda

1.先输入小写字母o,删除所有分区
2.输入n,创建一个新的分区
3.输入p,设为主分区,相对扩展分区而言
4.输入1,或者直接回车,默认为1
5.直接回车,默认起始位置2048
6.输入+100M,然后回车。我这个是用作boot分区,所以无需太大
7.输入n,创建一个新的分区
8.输入p,设为主分区,相对扩展分区而言
9.输入2,或者直接回车,默认为2
10.直接回车,默认起始位置
11.输入+4G,然后回车。我这个是用作swap分区
12.输入n,创建一个新的分区
13.输入p,设为主分区,相对扩展分区而言
14.输入3,或者直接回车,默认为3
15.直接回车,默认起始位置
16.直接回车,默认所有剩余的空间。我这个是用作根分区,所以50G的空间,除掉boot分区和swap分区,剩余的全部给它


格式化分区

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

mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda3
mkswap /dev/sda2
swapon /dev/sda2


挂载分区

格式化完成之后,将分区sda3挂载到/mnt。有些人可能是sda1,视你的根分区是哪个而定。先挂载根分区,再挂载其他分区(如果有其他分区的话,可以在/mnt中先创建目录,然后再挂载其他相应的分区。如下):

mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot


选择镜像

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

vi /etc/pacman.d/mirrorlist


安装基本系统

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

pacstrap /mnt base base-devel


生成fstab

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

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


Chroot

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

arch-chroot /mnt


设置时区

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

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


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

hwclock --systohc


设置Locale

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

vim /etc/locale.gen


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

locale-gen


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

echo LANG=en_US.UTF-8 > /etc/locale.conf
#因为我的没有locale.conf这个文件,所以通过上面的方式新建一个这样的文件

 

设置主机名

由于/etc中,我的又没有hostname文件,所以通过以下方式写入主机名:

echo 主机名 > /etc/hostname

将改为你自己的主机名:

vi /etc/hosts

#  
127.0.0.1    localhost.localdomain  主机名   
::1          localhost.localdomain  localhost


修改Root用户密码

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

passwd


创建新用户

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

useradd -m -G wheel -s /bin/bash 你的用户名

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

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

passwd 你的用户名


增加/etc/sudoers文件的写属性

chmod u+w /etc/sudoers

编辑sudoers文件

root ALL=(ALL) ALL  #在这一行下面复制一行
新建的用户名 ALL=(ALL) ALL

安装启动引导器grub:

安装 grub 包,并执行 grub-install 已安装到 MBR:

pacman -S grub
grub-install --target=i386-pc --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

须根据实际分区自行调整 /dev/sda, 切勿在块设备后附加数字,比如

/dev/sda1 就不对

10、卸载分区并重启系统

离开 chroot 环境:

exit

卸载分区

umount /mnt/boot /mnt

重启计算机:

reboot

配置ssh,方便xshell连接,操作起来方便一点

安装openssl和openssh

pacman -S openssl openssh

编辑/etc/ssh/sshd_config,把Port 22前面的注释去掉

Port 22 

启动sshd服务以及设置开机启动

sudo systemctl start sshd
sudo systemctl enable sshd

桌面环境安装

先进行网络设置,在上面的livecd中一般会自动联网

# ip link

找到网络设备,我的是ens33

# ip link set ens33 up
# dhcpcd ens33
# systemctl enable [email protected] 以后系统就会自动联网了

生成用户文件夹

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

pacman -S xdg-user-dirs
xdg-user-dirs-update
ls

不出意外的话,使用ls命令应该可以看到生成的那些文件夹了。

安装open-vm-tools

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

sudo pacman -S mesa lsb-release xf86-input-vmmouse xf86-video-vmware


接下来安装open-vm-tools

sudo pacman -S open-vm-tools gtkmm


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

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

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

然后安装x window:

pacman -S xorg

安装XFCE4 桌面套件
键入

pacman -S xfce4

安装登陆管理器,这样不需要手动去输入启动X的命令,登陆管理器也有很多,这里选一个小巧的slim:

pacman -S slim

配置slim相关,参考

编辑(如果没有则新建)~/.xinitrc,加入如下内容

#!/bin/sh

#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
exec startxfce4
chmod +x ~/.xinitrc

如果不进行以上配置,则可能会出现图形界面登录时,输入用户名和密码后,提示:failed to execute login command。报错后,跳转字符界面,然后再接着回到图形界面。总而言之就是进不了图形界面。

重启就可以通过图形界面进行登录了。

sudo reboot

------------------------------------------------------------------------------------------------------------系统安装到处就告一段落了。如果需要中文输入或者中文显示,可以继续看我后面copy别人的部分。

-------------------------------------------------------------------------------------------------------------

java和python的安装,请前往:https://my.oschina.net/bysu/blog/1560594。不过这里是树莓派上的安装方法,方法一样,不过安装包需重新到Oracle官网下载对应的版本。

安装python的Pillow库,以便通过python对图片进行操作。上面做了那么多,就是为了这个目的。泪奔~~!

之前通过sudo pacman -S python-imaging 安装python-imaging库没有用
sudo pacman -S python-pillow

关于PIL的使用,可以参考这篇博客:Python图像处理库Pillow入门

 

=============以下为copy内容=======================================

然后安装输入设备驱动:

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 s-libev simple-obfs

 

然后新建配置文件:

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

 

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

1
2
sudo systemctl start [email protected]
sudo systemctl enable [email protected]

 

启动代理后,除了在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仓库。

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

VMware Workstation安装Arch Linux和xfce桌面教程_第1张图片

VMware Workstation安装Arch Linux和xfce桌面教程_第2张图片

总结

在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无法启动?记得用[email protected],@符号后面是配置文件的名称。
  • 登录后黑屏,Cinnamon崩溃?先看~/.xssession-errors里面有没有和libinput相关的错误?有的话尝试安装libinput,还不行的话我也无解了。
  • IDE的快捷键被占用?去改掉系统和输入法的快捷键吧~

其他未解决的问题:

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

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

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

参考资料:

  • ArchWiki - Installation guide
  • ArchWiki - Cinnamon
  • ArchWiki - Display manager
  • ArchWiki - VMware/Installing Arch as a guest
  • Installing GUI (Cinnamon Desktop) and Basic Softwares in Arch Linux

安装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

 

转载于:https://my.oschina.net/bysu/blog/1577013

你可能感兴趣的:(VMware Workstation安装Arch Linux和xfce桌面教程)