I use arch btw.


几天前的文章,我写了怎么装ArchLinux,然而只有一个桌面环境可以用 在这篇文章,我们将进一步配置arch,让 她 它更好用 ​

启动Multilib仓库 ​

这个仓库下有很多常用软件,比如steam,wine

如何启用:

在/etc/pacman.conf的第92行处,去掉multilib和下面include的注释

安装wine:

bash
pacman -Syu wine wine-mono wine-gecko winetricks

启动archlinuxcn仓库 ​

这个仓库主要是有大量的国民用软件

启用方法:

在/etc/pacman.conf最后添加以下内容

pacman.conf
[archlinuxcn]
Server = https://mirror.tuna.tsinghua.edu.cn/archlinuxcn/$arch

想不到吧,又是我,清华源!

然后,运行

bash
pacman -Syu archlinuxcn-keyrings paru

关于-Su

不要抵触更新,在arch上,长时间不更新有概率会在某次必要更新时失败

archlinuxcn提供的东西

archlinuxcn提供yay这个AUR助手。还有一些AUR包。是什么见下文

AUR

aur,全称arch user repository,里面大多都是用户自己打包的东西 由于最近AUR投毒事件猖狂,请不要直接安装AUR包,先确认PKGBUILD内内容是否都可信

使用paru ​

关于paru是什么,见上文

paru用法和pacman一样,但是不要用sudo/su运行

以安装微信和qq为例,我们要

bash
paru -S linuxqq wechat-bin

怎么用?正常用即可


关于浏览器 ​

Microsoft Edge:

bash
paru -S microsoft-edge-stable

Google Chrome:

bash
paru -S google-chrome

Firefox:

bash
sudo pacman -S firefox

关于shell ​

这里内容偏个人主观,仅供参考

bash ​

Command_not_found: ​

首先安装pkgfile,

bash
pacman -Syu pkgfile

然后初始化pkgfile数据库

pkgfile -U

在.bashrc内添加:

bashrc
source /usr/share/doc/pkgfile/command-not-found.bash

输目录自动 cd ​

在.bashrc内添加

shopt -s autocd

Path修改 ​

bash
export PATH="$PATH:<目录>"
: 目录在哪取决于你想要什么顺序,如果原PATH找不到这个玩意的时候,用你给的目录兜底,就把目录放在$PATH:后面
: 如果想在原PATH之前覆盖,就放在:$PATH前面
: 如果没有十足的把握还是不要动PATH了为好

就行了。 如果需要持久化放到.bashrc就行了


fish ​

fish是什么? ​

这条鱼不能吃!

WARNING

fish is intentionally not fully POSIX compliant, it aims at addressing POSIX inconsistencies (as perceived by the creators) with a simplified or a different syntax. This means that even simple POSIX compliant scripts may require some significant adaptation or even full rewriting to run with fish.

fish 故意不完全符合 POSIX,它旨在通过简化或不同的语法来解决 POSIX 不一致(如创建者所感知的那样)。这意味着即使是简单的 POSIX 兼容脚本也可能需要一些重大的调整甚至完全重写才能与 fish 一起运行。

说人话就是bash脚本不适用于fish,也就是说运行脚本我推荐你用bash ./脚本.sh

fish, the friendly interactive shell, is a commandline shell intended to be interactive and user-friendly.

怎么装fish ​

bash
pacman -S fish
# 如果你要开发版本,则用 paru -S fish-git

怎么配置fish ​

fish的配置文件位于:

text
~/.config/fish/config.fish

他的地位等同~/.bashrc(这话不严谨啊,没考虑login/nonlogin shell) 比如说要修改默认编辑器(CLI下适用,不适用桌面,桌面自己去设置改就行)

set -gx EDITOR nano
set -gx VISUAL nano

INFO

上面的等效于bash的 export EDITOR=nano export VISUAL=nano

Abbr ​

abbr虽然好像不能当alias用 输入abbr对应的缩写然后敲空格就会展开了 比如在~/.config/fish/config.fish输入

config.fish
abbr -a g git
abbr -a ga 'git add'
abbr -a gc 'git commit'
abbr -a gp 'git push'

他就能

g<空格> shell: >git

WebUI配置 ​

只需要在fish

fish
fish_config

就好了

PATH ​

fish有个特别轮椅的PATH管理方法,只要

fish
fish_add_path <你要加的path>

就完了


Zsh ​

作者:可算写到这个了,给我急的

Zsh是什么 ​

简单来说就是 基本和bash没区别(但是别当bash用啊,还是有语法差异的) 有POSIX Sell兼容性

Wiki原话

Z shell(Zsh)是一款可用作交互式登录的shell及脚本编写的命令解释器。Zsh对Bourne shell做出了大量改进,同时加入了Bash、ksh及tcsh的某些功能。

一点笑话

保罗·弗斯塔德(Paul Falstad)于1990年在普林斯顿大学求学时编写了Zsh的初版 名称zsh源于耶鲁大学教授邵中(Zhong Shao,后转为普林斯顿大学教授) — 保罗将教授的用户名"zsh"作为此Shell的名称。 由此可见名字不重要,历史才重要 你说这群外国佬都是怎么起的名字

安装Zsh ​

很简单。

bash
sudo pacman -S zsh

配置Zsh ​

首先,打开一次zsh 如果你有英语功底就照着上面写的东西走 没有就找微软翻译去

然后就生成~/.zshrc了(地位堪比.bashrc(这话不严谨啊,没分loginshell/nonloginshell))

自动补全 ​

在~/.zshrc里加

zshrc
autoload -Uz compinit
compinit

就完了。

对,zsh的自动补全就这么轮椅 具体的补全。。我也写不明白了

其他的和Bash差不多

插件系统 ​

zsh有一个庞大的社区,他们折腾出来了Oh-my-ZSH(这是Github链接,打不开上魔法) 参考他们的wiki吧,本人写不明白这么一大坨东西

我能给的忠告就是,不要配置太多插件,除非你想每次开Zsh之前先喝一杯水啥的

设置默认Shell ​

如果你想让登录shell变成对应的shell(bash无需配置)

bash
  chsh -s /usr/bin/fish #或者/usr/bin/zsh,看你要什么

Shell工具 ​

原版的ls/cat已经够用 但是谁能拒绝一个更好的替代品呢

字体 ​

在使用这些工具之前,我们需要先装一点字体,为了让符号正确显示,我们需要Nerd Fonts NerdFonts,简单点说就是原有字体基础上修改了一下,增加了一些常用符号,比如微信图标,Arch图标什么的 这里以extra/ttf-jetbrains-mono-nerd为例 Jetbrains Mono Nerd Fonts是有连字功能的,不过通常在终端没人开,倒是在编辑器开的人比较多(有人认为这样可以提高代码可读性)

bash
sudo pacman -Syu ttf-jetbrains-mono-nerd

重启终端,然后再在自己终端设置切换字体即可 以Konsole为例 找到设置->配置Konsole->配置文件->konsole->编辑->外观字体选择JetBrainsMono Nerd Font(打一下J就能找到了),确定,应用,关掉对话框,重启就好了


eza ​

eza是一个ls的替代品

安装 ​

bash
sudo pacman -S eza

使用 ​

如果单跑eza看不出来和ls的区别(并非看不出来,上色都不一样) 但是如果我们加一点参数

bash
eza -lah --git --icons --color=auto

你将会获得一个有图标的文件列表

比如

Permissions Size User Date Modified Name .rw-r--r-- 185M alhsk 3 8月 19:01 (这里应该是个图标,但是网页好像没法渲染) Data.bin

如果需要持久化配置,把

bash
alias "ls"='eza -lah --git --icons --color=auto'

放到bashrc/zshrc/.config/fish/config.fish就好了


bat ​

bat是cat的替代品

安装 ​

bash
sudo pacman -S bat

使用 ​

和cat一样,直接bat file就好了

如果需要持久化配置

bash
alias 'cat'='bat'

就完了


fzf ​

fzf不是谁的替代品。如果硬要说的话是是Shell历史查找的增强

安装 ​

bash
sudo pacman -S fzf

使用 ​

在使用的shell的配置中添加以下内容

bash
source /usr/share/fzf/key-bindings.zsh
source /usr/share/fzf/completion.zsh

就完了

重启终端,按下Ctrl+r,就能看到fzf了