VMware Workstation安装Arch Linux和xfce桌面教程
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
本文永久地址: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
前言
虛擬機(jī)vmware中安裝archlinux,斷斷續(xù)續(xù)地搞了幾天,總是裝不上。都快放棄了??戳松鲜龅谝黄恼?#xff0c;終于跨過(guò)了那一步——讓我掛了無(wú)數(shù)次的地方(pacstrap /mnt bas)。每每到這樣都會(huì)報(bào):pacman: error while loading shared libraries: libcurl.so.59: cannot open shared object file: No such file or library.的錯(cuò)誤,簡(jiǎn)直讓我無(wú)以奔潰。都是安裝教程做的,可是我的就是報(bào)錯(cuò),百度相關(guān)報(bào)錯(cuò)信息無(wú)果。今天死馬當(dāng)活馬醫(yī),終于成功了。下面的步驟根據(jù)本人實(shí)際安裝進(jìn)行修改。
安裝Arch Linux基本系統(tǒng)
這一部分照著官方Wiki來(lái),基本上不會(huì)出什么問(wèn)題。我在新建VMware Workstation虛擬機(jī)時(shí),系統(tǒng)類型先選“Ubuntu 64位”,這樣默認(rèn)會(huì)添加SATA光驅(qū),并開(kāi)啟加速3D圖形等,創(chuàng)建完成后,再將系統(tǒng)類型修改為“其他 Linux 3.x 內(nèi)核64位”。我給虛擬機(jī)分配了8GB內(nèi)存,4個(gè)CPU核心,以及50GB硬盤,同時(shí)用EFI替換掉傳統(tǒng)的BIOS引導(dǎo)。這個(gè)配置對(duì)于日常工作與開(kāi)發(fā)來(lái)說(shuō)綽綽有余。
檢查網(wǎng)絡(luò)連接
一般如果網(wǎng)絡(luò)連接用的NAT模式的話,開(kāi)機(jī)后應(yīng)該就會(huì)有網(wǎng)絡(luò)了,可以用以下命令檢查網(wǎng)絡(luò)是否通暢:
ping www.baidu.com #ping通之后,按Ctrl+c鍵關(guān)閉當(dāng)前命令
更新系統(tǒng)時(shí)間
首先啟用ntp,確保系統(tǒng)時(shí)間正確:
timedatectl set-ntp true
建立硬盤分區(qū)
然后直接新建硬盤分區(qū),在這里我使用的是有GUI的cfdisk:
cfdisk /dev/sda
由于我使用的是EFI引導(dǎo),所以需要一個(gè)EFI分區(qū)。除此之外,還分了一個(gè)根分區(qū)和一個(gè)交換分區(qū)。需要注意的是,cfdisk默認(rèn)會(huì)從2048扇區(qū)開(kāi)始分區(qū),因此實(shí)際可用容量為50GB - 2MB。最終我的分區(qū)方案是2GB的/boot分區(qū),40GB的/分區(qū),和8GB的swap分區(qū):
格式化分區(qū)
分完區(qū)后就是格式化操作了,由于我是用的EFI引導(dǎo),所以EFI分區(qū)需要格式化成FAT32格式(具體可見(jiàn)官方Wiki):
mkfs.fat -F32 /dev/sda1 mkfs.ext4 /dev/sda3 mkswap /dev/sda2 swapon /dev/sda2
掛載分區(qū)
格式化完成之后,將分區(qū)sda3掛載到/mnt。有些人可能是sda1,視你的根分區(qū)是哪個(gè)而定。先掛載根分區(qū),再掛載其他分區(qū)(如果有其他分區(qū)的話,可以在/mnt中先創(chuàng)建目錄,然后再掛載其他相應(yīng)的分區(qū)。如下):
mount /dev/sda3 /mnt mkdir /mnt/boot mount /dev/sda1 /mnt/boot
選擇鏡像
由于國(guó)內(nèi)網(wǎng)絡(luò)環(huán)境,連接國(guó)外源可能會(huì)很慢,所以有必要換成國(guó)內(nèi)鏡像。只需要修改mirrorlist文件,注釋掉其他源,保留國(guó)內(nèi)源即可:
vi /etc/pacman.d/mirrorlist
安裝基本系統(tǒng)
選擇好國(guó)內(nèi)源后,便可以開(kāi)始基本系統(tǒng)的安裝。我同時(shí)安裝了base-devel:
pacstrap /mnt base base-devel
生成fstab
等待安裝完成后,使用genfstab命令生成fstab文件:
genfstab -U /mnt >> /mnt/etc/fstab
Chroot
接下來(lái)chroot到新安裝的系統(tǒng)。chroot也就是將該目錄變成/:
arch-chroot /mnt
設(shè)置時(shí)區(qū)
然后將系統(tǒng)時(shí)區(qū)設(shè)為東八區(qū):
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
同時(shí)使用hwclock設(shè)置硬件時(shí)鐘,并調(diào)整時(shí)間偏移:
設(shè)置Locale
接下來(lái)需要進(jìn)行一些語(yǔ)言和地區(qū)相關(guān)的配置。由于我使用的是英語(yǔ),因此只配置了英語(yǔ)語(yǔ)言。如果使用中文的話可以額外增加中文的配置。先編輯locale.gen文件,解除en_US.UTF-8 UTF-8的注釋。如果需要中文,同時(shí)解除zh_CN.UTF-8 UTF-8的注釋:
vim /etc/locale.gen
然后執(zhí)行以下命令生成locale信息:
然后還需要設(shè)置LANG環(huán)境變量:
?
設(shè)置主機(jī)名
由于/etc中,我的又沒(méi)有hostname文件,所以通過(guò)以下方式寫入主機(jī)名:
echo 主機(jī)名 > /etc/hostname將改為你自己的主機(jī)名:
vi /etc/hosts#<ip-address> <hostname.domain.org> <hostname> 127.0.0.1 localhost.localdomain 主機(jī)名 ::1 localhost.localdomain localhost
修改Root用戶密碼
執(zhí)行passwd,并輸入兩次密碼:
passwd
創(chuàng)建新用戶
非常不建議使用root用戶登錄!因此有必要?jiǎng)?chuàng)建一個(gè)其他用戶:
useradd -m -G wheel -s /bin/bash 你的用戶名-G參數(shù)將該用戶加到額外的wheel組中,稍后可以給這個(gè)組執(zhí)行sudo命令的權(quán)限。-s參數(shù)制定了默認(rèn)的shell為bash,其實(shí)無(wú)所謂,因?yàn)槲乙话銜?huì)很快切換到zsh。
修改新創(chuàng)建用戶的密碼,照樣是輸入兩次:
passwd 你的用戶名
增加/etc/sudoers文件的寫屬性
編輯sudoers文件
root ALL=(ALL) ALL #在這一行下面復(fù)制一行 新建的用戶名 ALL=(ALL) ALL安裝啟動(dòng)引導(dǎo)器grub:
安裝?grub?包,并執(zhí)行?grub-install?已安裝到?MBR:
pacman -S grub grub-install --target=i386-pc --recheck /dev/sda grub-mkconfig -o /boot/grub/grub.cfg須根據(jù)實(shí)際分區(qū)自行調(diào)整?/dev/sda,?切勿在塊設(shè)備后附加數(shù)字,比如
/dev/sda1?就不對(duì)
10、卸載分區(qū)并重啟系統(tǒng)
離開(kāi)?chroot?環(huán)境:
exit卸載分區(qū)
umount /mnt/boot /mnt重啟計(jì)算機(jī):
reboot配置ssh,方便xshell連接,操作起來(lái)方便一點(diǎn)
安裝openssl和openssh
pacman -S openssl openssh編輯/etc/ssh/sshd_config,把Port 22前面的注釋去掉
Port 22啟動(dòng)sshd服務(wù)以及設(shè)置開(kāi)機(jī)啟動(dòng)
sudo systemctl start sshd sudo systemctl enable sshd桌面環(huán)境安裝
先進(jìn)行網(wǎng)絡(luò)設(shè)置,在上面的livecd中一般會(huì)自動(dòng)聯(lián)網(wǎng)
# ip link
找到網(wǎng)絡(luò)設(shè)備,我的是ens33
# ip link set ens33 up # dhcpcd ens33 # systemctl enable?dhcpcd@ens33.service?以后系統(tǒng)就會(huì)自動(dòng)聯(lián)網(wǎng)了生成用戶文件夾
先安裝xdg-user-dirs,用于生成用戶目錄下的?Documents、Downloads、Music、Pictures?等等文件夾:
pacman -S xdg-user-dirs xdg-user-dirs-update ls不出意外的話,使用ls命令應(yīng)該可以看到生成的那些文件夾了。
安裝open-vm-tools
使用VMware Workstation安裝其他系統(tǒng)的話,都會(huì)裝一個(gè)VMware Tools的軟件,這個(gè)軟件相當(dāng)于是一個(gè)驅(qū)動(dòng)包,裝完后圖形性能、跨機(jī)器復(fù)制粘貼、文件拖拽等功能才能使用。VMware官方推薦在Linux系統(tǒng)上使用VMware Tools的開(kāi)源實(shí)現(xiàn):open-vm-tools。在此之前,也有一些必要軟件需要安裝:
sudo pacman -S mesa lsb-release xf86-input-vmmouse xf86-video-vmware
接下來(lái)安裝open-vm-tools:
如果不安裝gtkmm,等安裝完桌面環(huán)境以后,跨機(jī)器復(fù)制、文件拖拽貌似不會(huì)生效~
接下來(lái)讓open-vm-tools開(kāi)機(jī)自啟。貌似Arch Linux上安裝的絕大部分軟件默認(rèn)都不會(huì)開(kāi)機(jī)自啟:
sudo systemctl enable vmtoolsd.service sudo systemctl enable vmware-vmblock-fuse.service然后安裝x window:
pacman -S xorg安裝XFCE4 桌面套件
鍵入
安裝登陸管理器,這樣不需要手動(dòng)去輸入啟動(dòng)X的命令,登陸管理器也有很多,這里選一個(gè)小巧的slim:
pacman -S slim配置slim相關(guān),參考
編輯(如果沒(méi)有則新建)~/.xinitrc,加入如下內(nèi)容
#!/bin/sh# # ~/.xinitrc # # Executed by startx (run your window manager from here) exec startxfce4 chmod +x ~/.xinitrc如果不進(jìn)行以上配置,則可能會(huì)出現(xiàn)圖形界面登錄時(shí),輸入用戶名和密碼后,提示:failed to execute login command。報(bào)錯(cuò)后,跳轉(zhuǎn)字符界面,然后再接著回到圖形界面??偠灾褪沁M(jìn)不了圖形界面。
重啟就可以通過(guò)圖形界面進(jìn)行登錄了。
sudo reboot------------------------------------------------------------------------------------------------------------系統(tǒng)安裝到處就告一段落了。如果需要中文輸入或者中文顯示,可以繼續(xù)看我后面copy別人的部分。
-------------------------------------------------------------------------------------------------------------
java和python的安裝,請(qǐng)前往:https://my.oschina.net/bysu/blog/1560594。不過(guò)這里是樹(shù)莓派上的安裝方法,方法一樣,不過(guò)安裝包需重新到Oracle官網(wǎng)下載對(duì)應(yīng)的版本。
安裝python的Pillow庫(kù),以便通過(guò)python對(duì)圖片進(jìn)行操作。上面做了那么多,就是為了這個(gè)目的。淚奔~~!
之前通過(guò)sudo pacman -S python-imaging 安裝python-imaging庫(kù)沒(méi)有用 sudo pacman -S python-pillow關(guān)于PIL的使用,可以參考這篇博客:Python圖像處理庫(kù)Pillow入門
?
=============以下為copy內(nèi)容=======================================
然后安裝輸入設(shè)備驅(qū)動(dòng):
| 1 | yaourt -S xf86-input-evdev xf86-input-keyboard xf86-input-mouse xf86-input-void libinput |
?
為了修改菜單圖標(biāo)為Arch Linux的圖標(biāo),還有登錄界面使用Arch Linux官方壁紙等,可以安裝下面兩個(gè)軟件,安裝完成后所有資源都在/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桌面環(huán)境應(yīng)該安裝OK了,那么就重啟吧,希望重啟以后能看到那不太漂亮的登錄界面~ :smile:
| 1 | sudo reboot |
?
提醒一下:登錄的時(shí)候,記得一定要先在右上角選擇會(huì)話那里,選擇Cinnamon!
安裝常用軟件以及其他優(yōu)化
如果你的Cinnamon桌面已經(jīng)安裝完畢,那么可以繼續(xù)往下,否則,還是認(rèn)真看看上面哪一步做錯(cuò)了。
系統(tǒng)美化
主題、字體、菜單圖標(biāo)、登錄界面等,都可以按照你的個(gè)人喜好去調(diào)整,我也不再細(xì)說(shuō)。
安裝Rime輸入法
首先,輸入法是必不可少的。對(duì)于我來(lái)說(shuō),我比較喜歡使用Rime輸入法:
| 1 | yaourt -S fcitx-im fcitx-configtool fcitx-rime |
?
安裝完成后,可以在Menu里面找到Fcitx啟動(dòng),然后打開(kāi)Fcitx Configuration,添加Rime即可。下次開(kāi)機(jī)時(shí),Fcitx會(huì)自動(dòng)啟動(dòng)。
裝完輸入法,還需要進(jìn)行一些額外的配置,否則在有些地方(如Intellij IDEA)無(wú)法輸入中文:
| 1 | vim ~/.xprofile |
?
然后寫入以下內(nèi)容:
| 1 2 3 4 | # Fcitx export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx |
?
安裝并啟用Shadowsocks代理
除了輸入法,當(dāng)然還有重要軟件要裝:
| 1 | yaourt -S shadowsocks-libev simple-obfs |
?
然后新建配置文件:
| 1 2 | sudo mkdir /etc/shadowsocks sudo vim /etc/shadowsocks/config.json |
?
編輯好配置文件后,啟用代理,并設(shè)置開(kāi)機(jī)自啟:
| 1 2 | sudo systemctl start shadowsocks-libev@config.service sudo systemctl enable shadowsocks-libev@config.service |
?
啟動(dòng)代理后,除了在Chrome上安裝Switch Omega等軟件外使用代理,還可以設(shè)置系統(tǒng)代理,這里需要使用genpac來(lái)根據(jù)gfwlist.txt生成PAC文件。由于Arch Linux默認(rèn)使用Python 3,而genpac不兼容Python 3,因此需要安裝python2-pip:
| 1 2 | yaourt -S python2-pip sudo pip2 install genpac |
?
genpac的使用方法可以參考官方文檔。
生成PAC文件后,還需要在System Settings -> Network -> Network Proxy中進(jìn)行設(shè)置,Method選擇Automatic,Configuration URL填寫PAC文件地址。如file:///home/acris/Softwares/GenPAC/proxy.pac。
開(kāi)發(fā)工具
對(duì)于一個(gè)程序猿來(lái)說(shuō),常用軟件當(dāng)然是一些開(kāi)發(fā)工具了。我個(gè)人用的較多的開(kāi)發(fā)工具主要是JetBrains家族的,這些軟件AUR都有提供,直接使用yaourt搜索即可,例如:
| 1 | yaourt -Ss intellij |
?
不過(guò)我是直接從JetBrians官網(wǎng)下載解壓后使用,兩種方法都可以,具體取決于個(gè)人喜好。需要提一下的是,Cinnamon默認(rèn)很多快捷鍵會(huì)和JetBrains家族的IDE沖突,我的做法是把系統(tǒng)的快捷鍵都取消了,反正也用不著。另外Fcitx的一些快捷鍵也會(huì)和IDE沖突,例如Ctrl + Space,所以我改成了Super + Space,這些地方都需要自己去慢慢配置。
JDK、Node.js等工具AUR也有提供,但我個(gè)人偏好于使用sdkman和nvm來(lái)進(jìn)行管理。
其他的像File Zilla,Postman等,我是直接從AUR安裝:
| 1 | yaourt -S filezilla postman-bin |
文本編輯器的話,大神們喜歡用Vim,但是我覺(jué)得gedit也蠻好用的:
| 1 | yaourt -S gedit |
?
當(dāng)然,你若是喜歡Atom、VSCode、Sublime Text等工具的話,AUR也可以滿足你。
安裝其他常用軟件
瀏覽器個(gè)人鐘愛(ài)Chrome:
| 1 | yaourt -S google-chrome |
?
Markdown編輯器,首選Typora:
| 1 | yaourt -S typora |
?
如果需要辦公,可以安裝LibreOffice:
| 1 | yaourt -S libreoffice-fresh |
?
郵件客戶端可以用Mozilla出品的Thunderbird:
| 1 | yaourt -S thunderbird |
?
音樂(lè)客戶端當(dāng)然是網(wǎng)易云音樂(lè)了:
| 1 | yaourt -S netease-cloud-music |
?
視頻播放器可以使用VLC:
| 1 | yaourt -S vlc |
?
偶爾有圖片編輯需求的話,當(dāng)然是Linux下大名鼎鼎的GIMP了:
| 1 | yaourt -S gimp |
?
如果只是查看圖片,可以安裝Linux Mint出品的Pix:
| 1 | yaourt -S pix |
?
還有更多更多軟件,AUR基本上都可以滿足你。除了滾動(dòng)更新的特性和豐富的Wiki以外,Arch Linux的另一大特點(diǎn)就是強(qiáng)大的AUR倉(cāng)庫(kù)。
最后,獻(xiàn)上兩張成品圖(點(diǎn)擊可以查看大圖):
總結(jié)
在VMware Workstation中安裝Arch Linux和Cinnamon桌面環(huán)境的教程到此便結(jié)束了,如果安裝過(guò)程遇到其他問(wèn)題,可以去ArchWiki或者通過(guò)谷歌尋找答案,當(dāng)然也可以在下面留言,如果我會(huì)的話當(dāng)然樂(lè)意解答。
從我一天多時(shí)間的踩坑經(jīng)驗(yàn)來(lái)說(shuō),以下幾點(diǎn)是容易出錯(cuò)的:
- 安裝完系統(tǒng)無(wú)法啟動(dòng)?看看是不是粗心大意把PARTUUID配置錯(cuò)了。
- 安裝完系統(tǒng)沒(méi)有設(shè)置dhcpcd開(kāi)機(jī)自啟,導(dǎo)致無(wú)網(wǎng)絡(luò)。
- 安裝完open-vm-tools沒(méi)有設(shè)置開(kāi)機(jī)自啟,導(dǎo)致重啟后不生效。
- 安裝完open-vm-tools后沒(méi)有安裝gtkmm,導(dǎo)致跨機(jī)器復(fù)制粘貼、文件拖拽不可用。
- 如果你偏愛(ài)lightdm-webkit2-greeter,一定要在LightDM配置文件中指定greeter-session。
- 安裝完輸入法在部分程序(如Intellij IDEA)中無(wú)法輸入?需要手動(dòng)在~/.xprofile中配置變量。
- Shadowsocks無(wú)法啟動(dòng)?記得用shadowsocks-libev@config.service,@符號(hào)后面是配置文件的名稱。
- 登錄后黑屏,Cinnamon崩潰?先看~/.xssession-errors里面有沒(méi)有和libinput相關(guān)的錯(cuò)誤?有的話嘗試安裝libinput,還不行的話我也無(wú)解了。
- IDE的快捷鍵被占用?去改掉系統(tǒng)和輸入法的快捷鍵吧~
其他未解決的問(wèn)題:
- 安裝鼠標(biāo)光標(biāo)主題后,在設(shè)置中選擇鼠標(biāo)主題時(shí),不顯示預(yù)覽圖,貌似是Cinnamon的BUG,暫時(shí)無(wú)解。
本文雖為VMware Workstation安裝Arch Linux Cinnamon的教程,但是應(yīng)該同樣適用于其他環(huán)境,只需將安裝open-vm-tools那一步,換成安裝其他環(huán)境的驅(qū)動(dòng)即可(未經(jīng)測(cè)試,出錯(cuò)勿怪哈)。
由于Arch Linux的Wiki更新較為頻繁,建議用此文章結(jié)合官方Wiki一起安裝。文章雖然寫的不太好,但是希望有了我的前車之鑒,以及我不斷填坑總結(jié)出來(lái)的這份安裝教程,大家能夠少走彎路,一次成功~
參考資料:
- 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在這里就不再贅述了,在我看來(lái)它就是一個(gè)AUR的包管理器,并且完全可以替代pacman。
要安裝它很簡(jiǎn)單,只要添加archlinuxfr的源,然后安裝就行了。需要注意的是,yaourt不能以root身份使用,所以這里安裝完成了,到時(shí)候會(huì)用上面新建的用戶登錄,再使用該命令。還有一點(diǎn)就是以非root用戶使用時(shí),無(wú)需加sudo命令,需要管理員權(quán)限時(shí),yaourt會(huì)自動(dòng)彈出輸入密碼的提示。
添加archlinuxfr源:
| 1 | vim /etc/pacman.conf |
?
在最底部加上以下內(nèi)容:
| 1 2 3 | [archlinuxfr] SigLevel = Never Server = http://repo.archlinux.fr/$arch |
?
然后安裝yaourt:
| 1 | pacman -Syu yaourt |
?
新手第一次使用yaourt安裝AUR庫(kù)中的軟件時(shí)可能會(huì)有點(diǎn)懵逼,一般安裝AUR的軟件時(shí),會(huì)彈出是否編輯PKGBUILD,一般情況下不需要編輯,按n即可。有些軟件會(huì)詢問(wèn)你是否要編輯xxxxx.install安裝腳本,一般情況下也直接按n就好。當(dāng)詢問(wèn)是否繼續(xù)編譯或者安裝軟件時(shí),則需要按y。
?
轉(zhuǎn)載于:https://my.oschina.net/bysu/blog/1577013
總結(jié)
以上是生活随笔為你收集整理的VMware Workstation安装Arch Linux和xfce桌面教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: vmtouch--the Virtual
- 下一篇: 如何在Java中选择Map/List/S