闲来无事折腾了下 Manjaro。
Manjaro Linux(或简称 Manjaro)是基于 Arch Linux 的 Linux 发行版,使用 Xfce 、GNOME和 KDE Plasma 作为默认桌面环境,和 Arch 一样,采用滚动更新。其目标是为 PC 提供易于使用的自由的操作系统。
- 官方支持的桌面环境包括 Xfce、GNOME 和 KDE Plasma
- 社区支持的桌面环境包括:MATE、LXDE、Cinnamon、Awesome、Bspwm、 Budgie、i3、LXQt 和 Openbox 等
1. 安装
环境:
- macOS Big Sur
- VMware Fusion Player 12.1:REGISTER FOR A PERSONAL USE LICENSE 非商业用途情况下,免费注册一个个人 license 就可以使用正版软件,虽然相对 Fusion Pro 裁剪了一些功能,但不影响个人使用。
- Manjaro KDE
除了最后遇到分辨率的问题,其余安装部分都很简单,以下是虚拟机的配置:
- CPU:2核心
- 内存:8GB
- 硬盘:30GB
- 开启虚拟化 Intel VT-x 和 IOMMU
- 开启 3D 图形加速
- 勾选 Disable Side Channel Mitigations:vmware 提示说 Side Channel Mitigation 这个功能安全但是影响性能,就关了
VMware 加载镜像后到了安装界面,勾选和填写一些基本信息进行安装,完成后重启进入系统就出现了分辨率的问题。桌面环境一直是 800 * 600 的分辨率无法调整,查半天原因应该是 vmtoolsd 这个服务没启来,大概有 3 种解决方式:
每次系统启动后,手动输入
sudo systemctl restart vmtoolsd
来启动该服务。虽然感觉有点蠢,但 Linux 一般也不关机,所以这方法也能用。自己再写个服务,保证每次系统启动都会执行
sudo systemctl restart vmtoolsd
。Step 1:写个脚本 FixResolution.sh 来存放命令
1 2
#!/bin/bash sudo systemctl restart vmtoolsd
Step 2:给脚本加执行权限,并放到个 bin 目录下(不放也行,只要自己记着路径就行)
1 2
sudo chmod +x FixResolution.sh sudo cp FixResolution.sh /usr/local/bin/FixResolution.sh
Step 3:再写个 FixResolution.service 文件作为服务(注意 ExecStartPre 是关键,它表示服务执行前的延迟)
1 2 3 4 5 6 7 8 9 10
[Unit] Description=Fix Resolution Service. [Service] Type=simple ExecStartPre=/bin/sleep 5s ExecStart=/bin/bash /usr/local/bin/FixResolution.sh [Install] WantedBy=multi-user.target
Step 4:把服务文件丢到 /etc/systemd/system 目录下
1 2
sudo mv FixResolution.service /etc/systemd/system/FixResolution.service sudo chmod 644 /etc/systemd/system/FixResolution.service
Step 5:启动服务并配置开机就启动
1 2
sudo systemctl start FixResolution sudo systemctl enable FixResolution
最简单的方法,直接在 vmtoolsd 服务的配置里加执行前延迟(ExecStartPre=/bin/sleep 3s)也可行…
1 2 3 4 5 6 7 8 9 10 11
[Unit] Description=Open Virtual Machine Tools (VMware Tools) ConditionVirtualization=vmware After=display-manager.service [Service] ExecStartPre=/bin/sleep 3s ExecStart=/usr/bin/vmtoolsd [Install] WantedBy=multi-user.target
总归用了以上办法,分辨率的问题是解决了,之后就要做一些使用前的配置了。
2. 安装后配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
## 换源,命令执行后会弹个交互框,挑个自己喜欢的...
sudo pacman-mirrors -i -c China -m rank
## 升级系统和所有软件
sudo pacman -Syyu
## 安装 yay 并换源
sudo pacman -S yay
yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save
## 安装元包,配置vim
sudo pacman -S base-devel vim
## 安装代理(可选)
sudo ln -s /usr/lib/libpcap.so /usr/lib/libpcap.so.0.8
yay -S xxx-bin
## 备份 .zshrc(自带的配置也挺好看的),安装 oh-my-zsh 及插件
mv .zshrc .zshrc.bak
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Set ZSH_THEME="powerlevel10k/powerlevel10k"
## 安装各种应用及工具等
typora libreoffice IntelliJ ...
下边是一些 pacman常用命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
## 安装软件
pacman -S 软件名: 安装软件。也可以同时安装多个包,只需以空格分隔包名即可
pacman -S --needed 软件名1 软件名2: 安装软件,但不重新安装已经是最新的软件
pacman -Sy 软件名:安装软件前,先从远程仓库下载软件包数据库(数据库即所有软件列表)
pacman -Sv 软件名:在显示一些操作信息后执行安装
pacman -Sw 软件名: 只下载软件包,不安装
pacman -U 软件名.pkg.tar.gz:安装本地软件包
pacman -U http://www.example.com/repo/example.pkg.tar.xz : 安装一个远程包(不在 pacman 配置的源里面)
## 更新系统
pacman -Sy: 从服务器下载新的软件包数据库(实际上就是下载远程仓库最新软件列表到本地)
pacman -Su: 升级所有已安装的软件包
pacman -Syu: 升级整个系统
## 卸载软件
pacman -R 软件名: 该命令将只删除包,保留其全部已经安装的依赖关系
pacman -Rv 软件名: 删除软件,并显示详细的信息
pacman -Rs 软件名: 删除软件,同时删除本机上只有该软件依赖的软件
pacman -Rsc 软件名: 删除软件,并删除所有依赖这个软件的程序,慎用
pacman -Ru 软件名: 删除软件,同时删除不再被任何软件所需要的依赖
## 搜索软件
pacman -Ss 关键字: 在仓库中搜索含关键字的软件包(本地已安装的会标记)
pacman -Sl <repo>:
显示软件仓库中所有软件的列表
可以省略,通常这样用:`pacman -Sl | 关键字`
pacman -Qs 关键字: 搜索已安装的软件包
pacman -Qu: 列出所有可升级的软件包
pacman -Qt: 列出不被任何软件要求的软件包
pacman -Q 软件名: 查看软件包是否已安装,已安装则显示软件包名称和版本
pacman -Qi 软件名: 查看某个软件包信息,显示较为详细的信息,包括描述、构架、依赖、大小等等
pacman -Ql 软件名: 列出软件包内所有文件,包括软件安装的每个文件、文件夹的名称和路径
## 软件包组
pacman -Sg: 列出软件仓库上所有的软件包组
pacman -Qg: 列出本地已经安装的软件包组和子包
pacman -Sg 软件包组: 查看某软件包组所包含的所有软件包
pacman -Qg 软件包组: 和pacman -Sg 软件包组完全一样
## 清理缓存
pacman -Sc:清理未安装的包文件,包文件位于 /var/cache/pacman/pkg/ 目录
pacman -Scc:清理所有的缓存文件
## 最常用的 pacman 命令小结
pacman -Syu: 升级系统及所有已经安装的软件
pacman -S 软件名: 安装软件。也可以同时安装多个包,只需以空格分隔包名即可
pacman -Rs 软件名: 删除软件,同时删除本机上只有该软件依赖的软件
pacman -Ru 软件名: 删除软件,同时删除不再被任何软件所需要的依赖
pacman -Ssq 关键字: 在仓库中搜索含关键字的软件包,并用简洁方式显示
pacman -Qs 关键字: 搜索已安装的软件包
pacman -Qi 软件名: 查看某个软件包信息,显示软件简介,构架,依赖,大小等详细信息
pacman -Sg: 列出软件仓库上所有的软件包组
pacman -Sg 软件包组: 查看某软件包组所包含的所有软件包。
pacman -Sc:清理未安装的包文件,包文件位于 /var/cache/pacman/pkg/ 目录
pacman -Scc:清理所有的缓存文件