Home Manjaro
Post
Cancel

Manjaro

闲来无事折腾了下 Manjaro

Manjaro Linux(或简称 Manjaro)是基于 Arch Linux 的 Linux 发行版,使用 Xfce 、GNOME和 KDE Plasma 作为默认桌面环境,和 Arch 一样,采用滚动更新。其目标是为 PC 提供易于使用的自由的操作系统。

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 种解决方式:

  1. 每次系统启动后,手动输入 sudo systemctl restart vmtoolsd 来启动该服务。虽然感觉有点蠢,但 Linux 一般也不关机,所以这方法也能用。

  2. 自己再写个服务,保证每次系统启动都会执行 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
      
  3. 最简单的方法,直接在 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:清理所有的缓存文件
This post is licensed under CC BY 4.0 by the author.