终于告别了辣鸡 Windows 系统了,从 Win 10 到 LTSC ,再到 Windows Server 2019 ,就没有一个不出 bug 的,还是早日投奔 Linux 的怀抱吧,至少出了 Bug 也可以自己折腾。目前更换了主力系统为 Manjaro ,这是一个基于 Arch Linux 的衍生发行版本,继承了 Arch 滚动更新和 AUR 软件包极为丰富的优点,稳定性也十分优秀,适合长期使用。Manjaro 官方镜像按照桌面环境(DE)的不同,分为 XFCE ,KDE ,GNOME 三个版本,个人选择的是 KDE 桌面环境,更为顺手一点。
下面记录一下配置过程(缓慢施工中),一来方便自己将来万一重装后的恢复,二来方便有需要的朋友们做个参考。
§0.更换国内镜像源
在终端中执行下面这条命令:
|
|
在弹出的对话框中选择一个最快(或最顺眼的)的就可以了,多选几个也并不能加快速度。
§1.替换自带的 Vi 为 Vim
系统自带的 Vi 体验简直令人发指,没有方向键(方向键是 h/j/k/l 这四个键来控制的。。), Backspace 也会变成莫名其妙的符号,直接卸载:
|
|
装上完全体的 Vim :
|
|
§2.添加 ArchLinuxCN 源
不建议添加此源,Manjaro 上游的包库更新要比 Arch 慢,可能会导致一些蛋疼的兼容性问题。
首先编辑 /etc/pacman.conf
这个文件,在末尾添加以下内容:
[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = https://repo.archlinuxcn.org/$arch
然后导入 archlinuxcn-keyring :
|
|
最后刷新一下缓存:
|
|
§3.安装 yay 并配置包管理器走代理
3.1 安装 yay
yay 是一个 Go 语言编写的 AUR 助手,有时官方仓库内没有的软件,只能通过 AUR 来安装。详细介绍请移步文末 :)
|
|
之后安装软件就不需要 sudo pacman
了,yay 兼容 pacman 的命令,下文如无特殊说明,均用 yay
来代替 sudo pacman
。
3.2 让包管理器走代理
首先参考 简易配置终端代理 设置好系统的终端代理环境变量,然后
|
|
在最后添加下面这行:
Defaults env_keep += "ftp_proxy http_proxy https_proxy"
保存即可,现在代理的环境变量会自动传递给 sudo 和 pacman 了,yay 会自动读取 http_proxy
和 https_proxy
的值,不需要特殊设置(其实 pacman 是可以自动读取代理的环境变量的,但是 pacman 使用时要加上 sudo,而环境变量不会自动传递给 sudo,所以此处需要特殊设置一下;又因为 yay 有些命令会调用 sudo,所以哪怕只用 yay 也是需要设置这一步的 Orz)。
§4.安装并配置 zsh
4.1 安装 zsh :
|
|
4.2 安装 Oh My Zsh :
|
|
安装完 Oh My Zsh 后会提示替换默认的 shell 为 zsh ,若没有提示的话按照下面的步骤手动替换:
- 先查看当前系统内已安装的终端:
1
chsh -l
- 更改当前用户的默认终端:
1
chsh -s /bin/zsh
- 更改 root 用户的默认终端:
1 2 3
sudo su chsh -s /bin/zsh su USERNAME
且重启系统后若 zsh 有更新,Oh My Zsh 会自动提示。
如果不小心关掉了更新提示,可以执行
omz update
手动更新。
4.3 更换 Oh My Zsh 主题:
编辑 ~/.zshrc
这个文件,找到 ZSH_THEME
字段,将后面的值修改为 "ys"
(俺使用 ys 这个主题),然后 source ~/.zshrc
使修改生效。
4.4 安装 Oh My Zsh 插件:
|
|
在 ~/.zshrc
文件中找到 plugins
字段,默认值为 (git)
(默认启用了 git 插件):
...
plugins=(git)
...
括号内添加上刚才安装的三个新插件名字,中间用空格隔开,并在下面增加一行 autoload -U compinit && compinit
(zsh-completions 插件需要),编辑好后应该类似下面这样:
...
plugins=(sudo zsh-syntax-highlighting zsh-autosuggestions zsh-completions extract)
autoload -U compinit && compinit
...
不开启内置的 git 插件是因为这只是自带的一大堆 alias,而且很少会用到。
其中 sudo 和 extract 是 ohmyzsh 自带的插件,前者的作用是在已经输入好的命令前自动加上 sudo
,双击 ESC 键即可,非常方便,后者整合了常用的解压文件的命令别名,解压文件时只需 extract <filename>
就可以,不再需要记忆不同格式的解压命令。
最后使修改后的配置生效:
|
|
§5.安装和配置字体
todo
§6.安装和配置中文输入法
todo
§7.修改家目录为英文
如果系统语言设置为了中文,那么用户的家目录(也就是 ~
/ /home/<username>/
这个目录)下的默认文件夹名字会全部变为中文,类似这样:
|
|
在某些情况下会比较的不方便(比如你和俺一样有点强迫症……)。不过上网搜索的话,网上的教程大部分是将系统语言切换为英文再切换回来,虽然可以达到目的,但很不优雅,正好看到了 这篇教程 ,详细解释请看原文,以下是 TL;DR 版的操作记录:
|
|
这个文件内容现在是下面这样:
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/桌面"
XDG_DOWNLOAD_DIR="$HOME/下载"
XDG_TEMPLATES_DIR="$HOME/模板"
XDG_PUBLICSHARE_DIR="$HOME/公共"
XDG_DOCUMENTS_DIR="$HOME/文档"
XDG_MUSIC_DIR="$HOME/音乐"
XDG_PICTURES_DIR="$HOME/图片"
XDG_VIDEOS_DIR="$HOME/视频"
将内容修改为这样(就是修改下文件夹名称):
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"
然后挨个重命名已有的文件夹:
|
|
最后重启就好了。
§8.个人常用软件列表
todo
§9.备份当前系统配置,重装后一键恢复
todo
§附:包管理说明
Arch 系的 Linux 发行版,软件包来源有两个,Community(Arch 官方仓库),AUR(Arch User Repository, Arch 用户仓库)。用户将软件放在 AUR ,Arch 官方则定期挑选 AUR 里的优秀程序到 community,实际表现为 Community 为 AUR 的子集,Community 有的应用 AUR 都有,但 AUR 内有而 Community 没有的那部分软件可能在系统上的运行表现不大稳定。
Manjaro 自带的桌面程序软件中心(pamac-manager)既可以安装 Community 程序也可以安装 AUR 程序,区别是 AUR 程序会显示【构建】而不是【安装】;但在终端中通过自带的 pacman 只能安装 Community 程序,想要安装 AUR 程序则需要安装额外的包管理器,之前很多教程内的 yaourt 已经停止维护了,个人使用 yay (详细介绍请移步官方 Wiki:AUR helpers (简体中文) - ArchWiki )。
下面是一些包管理器的常用参数:
1.pacman
|
|
2.yay
兼容 pacman 的命令行参数,这部分命令只需简单地将 sudo pacman
替换为 yay
即可,例如:
|
|
其他参数类比即可。除此之外还可以:
|
|
参考链接: