├── prettification-trouble-shooting.md ├── system-installation-trouble-shooting.assets └── image-20200211110852980.png ├── initial-configuration-trouble-shooting.md ├── LICENSE ├── my-style.md ├── prettification.md ├── initial-configuration.md ├── software-trouble-shooting.md ├── system-installation.md ├── system-installation-trouble-shooting.md ├── README.md └── software.md /prettification-trouble-shooting.md: -------------------------------------------------------------------------------- 1 | # 美化过程中出现的问题汇总 2 | 3 | -------------------------------------------------------------------------------- /system-installation-trouble-shooting.assets/image-20200211110852980.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NiiiKlaus/Get-my-Arch-Linux/HEAD/system-installation-trouble-shooting.assets/image-20200211110852980.png -------------------------------------------------------------------------------- /initial-configuration-trouble-shooting.md: -------------------------------------------------------------------------------- 1 | # 初步配置出现的问题汇总 2 | 3 | ## 配备有`intel`集成显卡和`NVIDIA`独立显卡的机器登入图形界面时机器挂起(关机) 4 | 5 | - 这主要是Linux对于`NVIDIA`显卡驱动的问题引起的。 6 | 7 | - 如果不启动图形界面,只用`tty`,是没有问题的。 8 | 9 | - 解决方法(由于我个人不太需要使用N卡,所以没有选择安装对应驱动等): 10 | 11 | - 如果你将你的`Display Manager`加入了守护进程,那么我目前能想到的方法是使用一个`Live CD`,将你的Arch Linux挂载在`Live CD`上,然后使用`arch-chroot`进行操作。 12 | 13 | - 如果你开机进入的是`tty`,即你每次都是手动启动图形界面,那么就按照平时在终端中的操作来进行操作。 14 | 15 | - 操作如下: 16 | 17 | ```bash 18 | $ sudo pacman -S bumblebee # 安装bumblebee 19 | $ sudo nano /etc/modprobe.d/modprobe.conf 20 | # 在文件中添加“options nvidia NVreg_Mobile=1”,然后保存退出,重启机器 21 | ``` 22 | 23 | - 参考: 24 | 25 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 NiiiKlaus 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /my-style.md: -------------------------------------------------------------------------------- 1 | # 我的风格 2 | 3 | ## 我的编辑环境 4 | 5 | ### 系统 6 | 7 | - ```bash 8 | $ uname -rosm 9 | # Linux 5.5.3-arch1-1 x86_64 GNU/Linux 10 | ``` 11 | 12 | ### 编辑器 13 | 14 | - `Typora` 15 | 16 | - 几个比较重要的配置: 17 | 18 | - 默认缩进:`2` 19 | 20 | - 默认换行符:`LF(Unix Style)` 21 | 22 | - 图像: 23 | 24 | 复制图片到`./${filename}.assets`文件夹 25 | 26 | - [x] 对本地位置的图片应用上述规则 27 | - [x] 对网络位置的图片应用上述规则 28 | - [x] 优先使用相对路径 29 | - [x] 插入时自动转义图片URL 30 | 31 | - Markdown语法偏好: 32 | 33 | - [x] 严格模式 34 | 35 | - 空格与换行: 36 | 37 | - 编辑时: 38 | - [x] 显示`
` 39 | - [x] 保留连续的空格与单个换行 40 | 41 | - 导出与打印: 42 | - [x] 忽略连续的空格和单个换行 43 | 44 | ### `git` 45 | 46 | - ```bash 47 | $ git config --global core.safecrlf true # 拒绝提交含有混合换行符的文件 48 | ``` 49 | 50 | ## 我在编辑时的习惯 51 | 52 | - 以下空格均为半角空格(`ASCII: 32`)。 53 | 54 | - 两个字(符)之间(经常出现在字母与汉字的交界处)观感上有点拥挤时,我在这之间空一格。 55 | 56 | - 对于小括号的使用,在不引起歧义的情况下,以观感为准(不拥挤即可,不是特别在意使用英文还是中文的小括号)。 57 | 58 | - 对于代码的单行注释,注释符与代码之间间隔三个空格,注释符与注释文字之间空一格。 59 | 60 | 如果注释的文字过长,我会选择拆分,然后对齐着往下写。 61 | 62 | 对于表示完整含义的一块代码,如果我对于其中多行都有注释,我会将他们对齐。 63 | 64 | - 软件相关板块,如果一个软件在终端使用,我会在提及它时,用代码块包裹它,并且全部采用小写字母。 65 | 66 | - 提及的编程语言的名字等诸如此类的我会将其用代码块包裹。 67 | 68 | # 对于你的请求 69 | 70 | - 最重要的是,保证仓库里文件`end of line`符号不会混用。 71 | - 如果可以的话,请你尽量保持我的风格。十分感谢。 -------------------------------------------------------------------------------- /prettification.md: -------------------------------------------------------------------------------- 1 | # 美化 2 | 3 | ## 窗口管理器 4 | 5 | ### `i3` 6 | 7 | - 介绍: 8 | 9 | `i3wm`是一个比较好用的平铺式窗口管理器,它的功能比较齐全,自带状态栏、锁屏等工具。 10 | 11 | - 优点: 12 | 13 | - 自带功能齐全,用户体验较好。 14 | - 拥有配置文件,能够让用户自定义,启动`i3`后会生成配置文件,一般在`~/.config/i3`。 15 | 16 | - 缺点: 17 | 18 | - 二进制可执行文件较大,对于配置低的电脑运行起来可能会卡顿。 19 | - 由于拥有配置文件,在每次启动`i3`时会读取配置文件,因此启动速度会较慢。 20 | 21 | 22 | - 安装`i3`: 23 | 24 | ```bash 25 | $ sudo pacman -S i3 # 软件包组中有冲突,选择移除即可 26 | $ sudo pacman -S dmenu # i3下常用的一个快速启动器 27 | ``` 28 | 29 | - 注意事项: 30 | 31 | - 在配置文件里设置自启程序时,可能会使鼠标呈现 “繁忙” 的状态(我个人无法忍受),解决办法就是在程序启动命令之前加上`--no-startup-id`参数。 32 | 33 | ### `dwm` 34 | 35 | - 介绍: 36 | 37 | `dwm`是 Suckless 社区下`X`的动态窗口管理器。它以平铺,单片和浮动布局管理窗口。可以动态应用所有布局,从而为正在使用的应用程序和执行的任务优化环境。 38 | 39 | - 优点: 40 | 41 | - 全部代码由纯`C`进行编写。 42 | - 代码格式十分整洁 (毕竟Suckless都是极简主义者)。 43 | - 运行速度快,因为没有配置文件,源代码本身就包含了配置文件。 44 | 45 | - 缺点: 46 | 47 | - 由于代码太过于简单,缺少很多功能,可通过官方提供的补丁解决,不过对于`C`新手来说并不容易。 48 | - 由于没有配置文件,所以每次更改源码后必须重新启动`dwm`才能使修改生效;幸运的是,Arch WiKi上有[解决方法](https://wiki.archlinux.org/index.php/Dwm)。 49 | 50 | - 安装`dwm` 51 | 52 | ```bash 53 | $ git clone https://git.suckless.org/dwm 54 | $ cd ./dwm 55 | $ sudo make clean install 56 | ``` 57 | - 注意事项: 58 | - `dwm`下载后,如果你目前所使用的终端并不是[`st`](https://st.suckless.org/)(Simple Terminal),就需要在`config.h`中进行一下操作: 59 | ```c 60 | static const char *termcmd[] = { "st", NULL }; 61 | //找到这一行,将"st"修改为你现在用的终端的启动命令 62 | ``` 63 | 64 | - `dwm`一般下载后配置文件是`config.def.h`,但在使用`make`编译后,会生成 `config.h`,这时可以将`config.def.h`删除掉,在打补丁时,有些补丁需要修改`config.def.h`,但它们没有找到,因此会询问文件名,这时,只要输入`config.h`后回车即可 65 | 66 | - `dwm`下载后,默认的`MODKEY`是`Mod1`(也就是`Alt`),如果需要修改,就需要在`config.h`里进行下面这个操作: 67 | ```c 68 | #define MODKEY Mod1Mask; 69 | // 找到这一行,将Mod1Mask更改为你想要的键即可。如果要改为Win键,就将其改为Mod4Mask 70 | ``` -------------------------------------------------------------------------------- /initial-configuration.md: -------------------------------------------------------------------------------- 1 | # 初步配置 2 | 3 | - 在配置之前记得检查网络连接,确保连上了网。 4 | 5 | ## 1. 安装`man` 6 | 7 | ```bash 8 | $ pacman -S man # 用户手册 9 | ``` 10 | 11 | ## 2. 安装`base-devel` 12 | 13 | ```bash 14 | $ pacman -S base-devel # sudo、编译器等等的基础工具 15 | ``` 16 | 17 | ## 3. 添加用户 18 | 19 | ```bash 20 | $ useradd -m -G wheel niklaus # -m 创建家目录 21 | # -G 用户所属的组 22 | # niklaus 我的用户名 23 | $ passwd niklaus # 修改密码 24 | ``` 25 | 26 | ## 4. 修改用户权限 27 | 28 | ```bash 29 | $ nano /etc/sudoers # 编辑sudoer file 30 | # 去掉“%wheel ALL=(ALL) ALL”前面的注释,保存退出 31 | ``` 32 | 33 | ## 5. 切换到低权限的用户 34 | 35 | ```bash 36 | $ exit# 退出root用户,并登陆niklaus用户 37 | ``` 38 | 39 | ## 6. 安装`Xorg` 40 | 41 | ```bash 42 | $ sudo pacman -S xorg # 图形界面的服务器 43 | ``` 44 | 45 | ### `Xorg使用方法` 46 | 47 | - 找到`/etc/X11/xinit/xinitrc`文件,使用编辑器在文件末尾进行以下操作: 48 | 49 | ```bash 50 | exec dwm # 如果你并不打算使用dwm作为你的窗口管理器, 51 | # 就将其改为你所使用的窗口管理器的启动命令 52 | twm & 53 | xclock -geometry 50x50-1+1 & 54 | xterm -geometry 80x50+494+51 & 55 | xterm -geometry 80x20+494-0 & 56 | exec xterm -geometry 80x66+0+0 -name login 57 | # 找到以上这几行,在它们开头插入“#”以此注释掉 58 | ``` 59 | 60 | - 在进行了以上操作后,在`tty`下运行`startx`命令开启`X`服务,随后即可进入窗口管理器。 61 | 62 | - 如果你觉得每次修改`xinitrc`文件要到`/etc`目录下很麻烦,可以创建软链接到你的用户目录: 63 | 64 | ```bash 65 | $ sudo -E ln -sf /etc/X11/xinit/xinitrc ~/.xinitrc 66 | ``` 67 | 68 | ## 7. 安装桌面环境 69 | 70 | - 这里我选择的桌面环境是`LXDE`。 71 | 72 | - ```bash 73 | $ sudo pacman -S lxde 74 | ``` 75 | 76 | - 若选择最小安装,则为: 77 | 78 | ```bash 79 | $ sudo pacman -S lxde-common lxsession openbox 80 | ``` 81 | 82 | ## 8. (可选)安装`lightdm` 83 | 84 | - ```bash 85 | $ sudo pacman -S lightdm # Display Manager 登陆管理器 86 | ``` 87 | 88 | - 配置`lightdm`: 89 | 90 | ```bash 91 | $ sudo nano /etc/lightdm/lightdm.conf # 修改皮肤 92 | # 去掉“greeter-session=example-gtk-gnome”前面的注释 93 | # 将其改为自己需要使用的登陆界面皮肤 94 | ``` 95 | -------------------------------------------------------------------------------- /software-trouble-shooting.md: -------------------------------------------------------------------------------- 1 | # 软件安装以及使用过程中出现的问题汇总 2 | 3 | ## 搜狗输入法不显示候选框 4 | 5 | - 如果出现了问题,搜狗输入法会提示: 6 | 7 | `搜狗输入法异常!请删除~/.config/SogouPY并重启。` 8 | 9 | - 如果以上操作不能解决问题,那么打开终端,输入`sogou-qimpanel`。 10 | 11 | 如果此时报错: 12 | 13 | `sogou-qimpanel: error while loading libraries: libfcitx-qt.so.0: cannot open shared object file: No such file or directory` 14 | 15 | 那么就是缺少库文件的问题,目前最好的解决办法是取消使用`fcitx`: 16 | 17 | ```bash 18 | $ sudo pacman -S fcitx-lilydjwg-git 19 | # 在安装这个包时,pacman会提示有包冲突,移除冲突的fcitx等相关包即可 20 | ``` 21 | 22 | 然而在我的`LXDE`并且在默认壁纸下,搜狗输入法的状态栏和候选框周围会有一个黑框...不太美观但不影响使用。 23 | 24 | ## `fish`下`source /etc/profile`报错 25 | 26 | - 这里主要是因为`fish`和Arch Linux默认的`bash`是两个不同的终端命令解析器。就如`Python2.x`和`Python3.x`一样,两个终端命令解析器的对于`shell`脚本的`parsing`有一些差别。 27 | 28 | - 这里我的解决办法是将`fish`切换为了`zsh`…毕竟不是特别熟悉`fish`… 29 | 30 | ```bash 31 | $ chsh -s /bin/zsh # 更改当前用户的默认shell,并重启终端。 32 | ``` 33 | 34 | ## `alacritty`下使用`clear`命令清屏幕报错`'alacritty': unknown terminal type.` 35 | 36 | - 我自己出现这个情况时,在终端敲入命令`clear`无效,但是敲入`/usr/bin/clear`有效。所以当时怀疑是环境变量的问题。又切换了终端模拟器到`st`,问题没有出现…所以又怀疑是`alacritty`的问题。上网搜索了一下,找到了有效的解决办法,但我没搞懂是为什么… 37 | 38 | - 解决办法: 39 | 40 | 修改环境变量,在`/etc/profile`中添加如下: 41 | 42 | ```bash 43 | $ export TERMINFO=/usr/share/terminfo 44 | ``` 45 | 46 | 重启终端生效。 47 | 48 | ## `alacritty`和`st`在未完全配置的情况下,使用安装好插件的`vim`中的字体颜色是纯白 49 | 50 | - 出现这个情况时,我自己本机一共安装了4个终端模拟器: 51 | - `alacritty` 52 | - `lxterminal` 53 | - `st` 54 | - `deepin-terminal` 55 | 56 | - 在`alacritty`和`st`中,`vim`无法显示其他除白色以外的颜色。起初以为是插件的问题,后来查阅资料之后发现是一个终端变量的问题: 57 | 58 | - 对于同一条命令`echo $TERM`,四个终端模拟器的返回各不相同: 59 | - `alacritty`:`alacritty` 60 | - `lxterminal`:`xterm-256color` 61 | - `st`:`st-256color` 62 | - `deepin-terminal`:`xterm-256color` 63 | 64 | `lxterminal`和`deepin-terminal`是可以正常显示`vim`的颜色的,所以问题出在哪里就显而易见了。 65 | 66 | - 对于`vim`而言,要想正确显示颜色,`TERM`变量的值只能是`xterm-256color`或者`screen-256color`。 67 | 68 | - 解决办法: 69 | 70 | 修改环境变量,在`/etc/profile`中加入`export TERM=xterm-256color`,然后重新加载环境变量`source /etc/profile` 71 | 72 | - 参考: 73 | 74 | ## 在跟着教程配置`dwm`时,`statusbar`出现小方框 75 | 76 | - 这主要是因为系统缺少某些字体。教程中 UP主 状态栏的一些图标,譬如说上传、下载的箭头,都是`unicode`的字符。如果出现小方框,多半是未安装需要的字体,或者是表情字体的默认项有误。 77 | 78 | - 这里我在安装了之前 UP 推荐安装的一些表情字体之后,上传和下载的箭头正常显示了。其余的符号存在于另一个字体包中。 79 | 80 | - 解决办法: 81 | 82 | 安装所需字体: 83 | 84 | ```bash 85 | $ sudo pacman -S tty-symbola 86 | ``` 87 | 88 | 安装完成之后重启系统即可。 89 | 90 | -------------------------------------------------------------------------------- /system-installation.md: -------------------------------------------------------------------------------- 1 | # 系统安装 2 | 3 | ## 1. 修改`tty`界面下的字体 4 | 5 | - 所有字体都存放在`/usr/share/kbd/consolefonts`目录下。 6 | 7 | - 这里将其设置为: 8 | 9 | ```bash 10 | $ setfont /usr/share/kbd/consolefonts/LatGrkCyr-12*22.psfu.gz 11 | ``` 12 | 13 | ## 2. 连接网络 14 | 15 | ### 2.1 无线网络 16 | 17 | #### 2.1.1 扫描当前互联网设备 18 | 19 | ```bash 20 | $ ip link 21 | ``` 22 | 23 | #### 2.1.2 启用设备 24 | 25 | ```bash 26 | $ ip link set 设备名 up 27 | ``` 28 | 29 | #### 2.1.3 扫描当前设备下的WiFi列表并得到所有WiFi的名字 30 | 31 | ```bash 32 | $ iwlist 设备名 scan | grep ESSID 33 | ``` 34 | 35 | #### 2.1.4 使用`wpa_supplicant`连接网络并后台运行 36 | 37 | ```bash 38 | $ wpa_passphrase 网络名 密码 > internet.conf 39 | $ wpa_supplicant -c internet.conf -i 设备名 & 40 | ``` 41 | 42 | #### 2.1.5 动态分配IP地址 43 | 44 | ```bash 45 | $ dhcpcd & 46 | ``` 47 | 48 | ### 2.2 有线网络 49 | 50 | #### 2.2.1 启用设备 51 | 52 | ```bash 53 | $ ip link set 设备名 up 54 | ``` 55 | 56 | #### 2.2.2 动态分配IP地址 57 | 58 | ```bash 59 | $ dhcpcd & 60 | ``` 61 | 62 | ### 2.3 测试 63 | 64 | ```bash 65 | $ ping baidu.com 66 | ``` 67 | 68 | ## 3. 更正系统时间 69 | 70 | ```bash 71 | $ timedatectl set-ntp true 72 | ``` 73 | 74 | ## 4. 硬盘分区 75 | 76 | - 这里我采用的启动方式是`UEFI + GPT`,其他的启动方式请参考[下文](system-installation-trouble-shooting.md/#2-关于grub和分区)。 77 | 78 | ### 4.1 查看现有的磁盘 79 | 80 | ```bash 81 | $ fdisk -l 82 | ``` 83 | 84 | ### 4.2 进入磁盘编辑 85 | 86 | ```bash 87 | $ fdisk /dev/sda # /dev/sda为磁盘设备的位置 88 | $ g # 清除原有分区并创建一个GPT分区表 89 | $ n # 创建一个新的分区/dev/sda1 -- 引导分区 90 | # 接下来选择分区的编号、起始位置、终止位置(分区大小,可用例如“+300M”的形式) 91 | $ n # 创建一个新的分区/dev/sda3 -- SWAP分区(用于保存内存中的文件以及作为内存的扩展,此 92 | # 分区不需要太大) 93 | # 这里我大小设置为1G 94 | $ n # 创建一个新的分区/dev/sda2 -- 主分区 95 | # 大小我设置为磁盘的所有剩余空间 96 | $ p # 查看待写入的分区结果 97 | $ w # 写入 98 | ``` 99 | 100 | ### 4.3 定义分区格式 101 | 102 | ```bash 103 | $ mkfs.fat -F32 /dev/sda1 # /dev/sda1为引导分区 104 | $ mkfs.ext4 /dev/sda2 # /dev/sda2为主分区 105 | $ mkswap /dev/sda3 # /dev/sda3为SWAP分区 106 | ``` 107 | 108 | ### 4.4 打开`SWAP` 109 | 110 | ```bash 111 | $ swapon /dev/sda3 112 | ``` 113 | 114 | ## 5. 配置`pacman` 115 | 116 | ```bash 117 | $ nano /etc/pacman.conf 118 | ``` 119 | 120 | - 去掉注释: 121 | 122 | - `Color` 123 | 124 | - `Arch Linux`软件源列表:`/etc/pacman.d/mirrorlist` 125 | 126 | - 寻找中国的服务器,将它移动到`mirrorlist`的最顶上,保存退出。 127 | 128 | - 我这里使用的是清华的源: 129 | 130 | ``` 131 | ## China 132 | Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch 133 | ``` 134 | 135 | ## 6. 使用`pacstrap`安装Arch Linux基础至磁盘中 136 | 137 | ### 6.1 查看当前的磁盘 138 | 139 | ```bash 140 | $ fdisk -l 141 | ``` 142 | 143 | ### 6.2 挂载磁盘 144 | 145 | ```bash 146 | $ mount /dev/sda2 /mnt # 挂载主分区 147 | $ mkdir /mnt/boot # 创建启动分区在Live CD上的目录 148 | $ mount /dev/sda1 /mnt/boot # 挂载启动分区 149 | ``` 150 | 151 | ### 6.3 开始安装 152 | 153 | ```bash 154 | $ pacstrap /mnt base linux linux-firmware # 安装Linux所需的最基础的软件、框架等 155 | ``` 156 | 157 | ### 6.4 生成挂载文件 158 | 159 | ```bash 160 | $ genfstab -U /mnt >> /mnt/etc/fstab 161 | ``` 162 | 163 | ## 7. 使用`arch-chroot`对安装好的系统进行配置 164 | 165 | ### 7.1 进入`arch-chroot` 166 | 167 | ```bash 168 | $ arch-chroot /mnt # /mnt为安装好的系统的主分区在Live CD上的挂载位置 169 | ``` 170 | 171 | ### 7.2 设置时区和时间 172 | 173 | ```bash 174 | $ ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 创建链接 175 | $ hwclock --systohc # 同步时间 176 | ``` 177 | 178 | ### 7.3 编辑本地化的文件 179 | 180 | ```bash 181 | $ exit # 先退出arch-chroot 182 | $ nano /mnt/etc/locale.gen # 编辑本地化文件 183 | # 去掉“en_US.UTF-8 UTF-8”前面的注释,保存退出 184 | ``` 185 | 186 | ### 7.4 生成本地化 187 | 188 | ```bash 189 | $ arch-chroot /mnt 190 | $ locale-gen # 生成本地化 191 | ``` 192 | 193 | ### 7.5 设置语言 194 | 195 | ```bash 196 | $ exit # 退出arch-chroot 197 | $ nano /mnt/etc/locale.conf # 编辑本地化的配置文件 198 | # 在其中输入“LANG=en_US.UTF-8”(将系统设置为英文),保存退出。 199 | ``` 200 | 201 | ### 7.6 (可选)设置键盘布局和键位绑定 202 | 203 | ```bash 204 | $ nano /mnt/etc/vconsole.conf 205 | ``` 206 | 207 | ### 7.7 编辑网络相关的文件 208 | 209 | ```bash 210 | $ nano /mnt/etc/hostname # 编辑主机名称 211 | # 我将其设置为niklaus,保存退出 212 | $ nano /mnt/etc/hosts # 编辑域名与IP地址的对应 213 | # 127.0.0.1 localhost 214 | # ::1 localhost 215 | # 127.0.1.1 niklaus.localdomain niklaus 216 | ``` 217 | 218 | ### 7.8 更改`root`用户密码 219 | 220 | ```bash 221 | $ arch-chroot /mnt 222 | $ passwd 223 | ``` 224 | 225 | ### 7.9 安装`grub`相关 226 | 227 | ```bash 228 | $ pacman -S grub efibootmgr intel-ucode os-prober 229 | # intel-ucode 厂家更新CPU驱动用,如果是AMD的显卡,则安装amd-ucode 230 | # os-probe 用来寻找电脑中其他操作系统 231 | $ mkdir /boot/grub 232 | $ grub-mkconfig > /boot/grub/grub.cfg # 生成grub配置文件 233 | $ uname -m # 查看系统架构 234 | $ grub-install --target=x86_64-efi --efi-directory=/boot # 根据自己的系统架构安装grub 235 | ``` 236 | 237 | ### 7.10 安装基础工具 238 | 239 | ```bash 240 | $ pacman -S zsh nano vim wpa_supplicant wireless_tools dhcpcd 241 | # zsh shell 242 | # nano 编辑器 243 | # vim 编辑器 244 | # wpa_supplicant 上网工具 245 | # wireless_tools 无线上网工具 246 | # dhcpcd 动态分配IP地址工具 247 | ``` 248 | 249 | ### 7.11 重启,完成安装 250 | 251 | ```bash 252 | $ exit # 退出arch-chroot 253 | $ killall wpa_supplicant dhcpcd # 终止掉网络相关的进程 254 | $ reboot # 重启,电脑黑屏后就可以拔掉Live CD了 255 | ``` 256 | -------------------------------------------------------------------------------- /system-installation-trouble-shooting.md: -------------------------------------------------------------------------------- 1 | # 系统安装中出现问题的汇总 2 | 3 | ## 1. 分区时出现警告:逻辑分区和物理分区不对齐 4 | 5 | - 可能原因:SSD或者是HDD上原来装过Windows,则硬盘最开始的32M空间(图形界面下使用`Gparted`可以看到)是默认空白的。这样就会导致分区的不对齐。但其实对于SSD来说只是影响到速度,使用还是比较正常的 6 | 7 | - 解决方法: 8 | 9 | - (未试验)使用`shred`命令彻底清洗磁盘,但耗时一般较长。 10 | 11 | ```bash 12 | $ shred -v /dev/sda 13 | ``` 14 | 15 | ## 2. 关于`grub`和分区 16 | 17 | - Arch Linux支持三种启动方式,但启动方式分区和`grub`的安装略有不同。 18 | 19 | 1. `UEFI + GPT` 20 | 21 | 这是我采用的方式。具体对于`grub`的操作见[上文](system-installation.md/#4-硬盘分区)。 22 | 23 | 较新的主板推荐采用这种方式。 24 | 25 | 2. `BIOS + MBR` 26 | 27 | 这是较老的主板支持的分区方式,但在某些新的主板上已经不支持了。值得注意的是这种分区方式支持的硬盘是小于`2T`的。 28 | 29 | 3. `BIOS + GPT` 30 | 31 | 个人感觉这种分区方法的好处是方便后续在这块硬盘上安装别的Linux发行版并提高设备的兼容性。因为最好保证一块硬盘的分区表前后都是一致的,否则会出现兼容性的问题(这是我的猜想,有错误还请指正)。 32 | 33 | - 三种分区方式具体如下图: 34 | 35 | ![image-20200211110852980](system-installation-trouble-shooting.assets/image-20200211110852980.png) 36 | 37 | - 三种分区方式及后续挂载方式等的完整命令示例: 38 | 39 | - `UEFI + GPT` 40 | 41 | ```bash 42 | # 进入磁盘编辑 43 | $ fdisk /dev/sda # /dev/sda为磁盘设备的位置 44 | $ g # 清除原有分区并创建一个GPT分区表 45 | $ n # 创建一个新的分区/dev/sda1 -- 引导分区 46 | $ n # 创建一个新的分区/dev/sda3 -- SWAP分区(用于保存内存中的文件以及作为内存的扩展,此 47 | # 分区不需要太大) 48 | # 这里我大小设置为1G 49 | $ n # 创建一个新的分区/dev/sda2 -- 主分区 50 | # 大小我设置为磁盘的所有剩余空间 51 | $ p # 查看待写入的分区结果 52 | $ w # 写入 53 | 54 | # 制作文件系统 55 | # 这里会出现一些关于磁盘性能的警告,不用特别在意。 56 | $ mkfs.fat -F32 /dev/sda1 # /dev/sda1为引导分区,制作为“fat32”格式 57 | $ mkfs.ext4 /dev/sda2 # /dev/sda2为主分区,制作为“ext4”格式 58 | $ mkswap /dev/sda3 # /dev/sda3为SWAP分区 59 | 60 | # 打开swap 61 | $ swapon /dev/sda3 62 | 63 | # 挂载 64 | $ mount /dev/sda2 /mnt # 挂载主分区 65 | $ mkdir /mnt/boot # 创建启动分区在Live CD上的目录 66 | $ mount /dev/sda1 /mnt/boot # 挂载启动分区 67 | 68 | # 安装Linux所需的最基础的软件、框架等 69 | $ pacstrap /mnt base linux linux-firmware 70 | 71 | # 生成挂载文件 72 | $ genfstab -U /mnt >> /mnt/etc/fstab 73 | 74 | # 使用arch-chroot 75 | $ arch-chroot /mnt 76 | 77 | # 安装grub相关 78 | $ pacman -S grub efibootmgr intel-ucode os-prober 79 | # intel-ucode 厂家更新CPU驱动用,如果是AMD的显卡,则安装amd-ucode 80 | # os-probe 用来寻找电脑中其他操作系统 81 | $ mkdir /boot/grub 82 | $ grub-mkconfig > /boot/grub/grub.cfg # 生成grub配置文件 83 | $ uname -m # 查看系统架构 84 | $ grub-install --target=x86_64-efi --efi-directory=/boot # 根据自己的系统架构安装 # grub,我这里系统架构是 # x86_64,所以选择安装 # x86_64-efi 85 | ``` 86 | 87 | - `BIOS + MBR` 88 | 89 | ```bash 90 | # 进入磁盘编辑 91 | $ fdisk /dev/sda # /dev/sda为磁盘设备的位置 92 | $ o # 清除原有分区并创建一个MBR分区表 93 | $ n # 创建一个新的分区/dev/sda1 -- 主分区 94 | $ n # 创建一个新的分区/dev/sda2 -- SWAP分区(用于保存内存中的文件以及作为内存的扩展,此 95 | # 分区不需要太大) 96 | # 这里我大小设置为1G 97 | $ n # 创建一个新的分区/dev/sda3 -- /home分区 98 | # 大小我设置为磁盘的所有剩余空间 99 | $ p # 查看待写入的分区结果 100 | $ w # 写入 101 | 102 | # 制作文件系统 103 | # 这里会出现一些关于磁盘性能的警告,不用特别在意。 104 | $ mkfs.ext4 /dev/sda1 # /dev/sda1为主分区,制作为“ext4”格式 105 | $ mkswap /dev/sda2 # /dev/sda2为SWAP分区 106 | $ mkfs.ext4 /dev/sda3 # /dev/sda3为/home分区,制作为“ext4”格式 107 | 108 | # 打开swap 109 | $ swapon /dev/sda2 110 | 111 | # 挂载 112 | $ mount /dev/sda1 /mnt # 挂载主分区 113 | $ mkdir /mnt/home # 创建/home分区在Live CD上的目录 114 | $ mount /dev/sda3 /mnt/home # 挂载/home分区 115 | 116 | # 安装Linux所需的最基础的软件、框架等 117 | $ pacstrap /mnt base linux linux-firmware 118 | 119 | # 生成挂载文件 120 | $ genfstab -U /mnt >> /mnt/etc/fstab 121 | 122 | # 使用arch-chroot 123 | $ arch-chroot /mnt 124 | 125 | # 安装grub相关 126 | $ pacman -S grub intel-ucode os-prober 127 | # intel-ucode 厂家更新CPU驱动用,如果是AMD的显卡,则安装amd-ucode 128 | # os-probe 用来寻找电脑中其他操作系统 129 | $ mkdir /boot/grub 130 | $ grub-mkconfig > /boot/grub/grub.cfg # 生成grub配置文件 131 | $ grub-install --target=i386-pc /dev/sda # 敲入这条命令即可,使用BIOS的在grub- # install时--target参数统一是i386-pc 132 | # 值得注意的是,这里grub安装的位置选择的直 # 接是硬盘/dev/sda,而不是任何一个分区 133 | ``` 134 | 135 | - `BIOS + GPT` 136 | 137 | ```bash 138 | # 进入磁盘编辑 139 | $ fdisk /dev/sda # /dev/sda为磁盘设备的位置 140 | $ g # 清除原有分区并创建一个GPT分区表 141 | $ n # 创建一个新的分区/dev/sda1 -- 空白分区,大小为1M 142 | $ n # 创建一个新的分区/dev/sda2 -- 主分区 143 | $ n # 创建一个新的分区/dev/sda3 -- SWAP分区(用于保存内存中的文件以及作为内存的扩展,此 144 | # 分区不需要太大) 145 | # 这里我大小设置为1G 146 | $ n # 创建一个新的分区/dev/sda4 -- /home分区 147 | # 大小我设置为磁盘的所有剩余空间 148 | $ p # 查看待写入的分区结果 149 | $ w # 写入 150 | 151 | # 制作文件系统 152 | # 这里会出现一些关于磁盘性能的警告,不用特别在意。 153 | # 注意这里的/dev/sda1空白分区不需要挂载,也不需要制作文件系统。 154 | $ mkfs.ext4 /dev/sda2 # /dev/sda2为主分区,制作为“ext4”格式 155 | $ mkswap /dev/sda3 # /dev/sda2为SWAP分区 156 | $ mkfs.ext4 /dev/sda4 # /dev/sda4为/home分区,制作为“ext4”格式 157 | 158 | # 打开swap 159 | $ swapon /dev/sda3 160 | 161 | # 挂载 162 | $ mount /dev/sda2 /mnt # 挂载主分区 163 | $ mkdir /mnt/home # 创建/home分区在Live CD上的目录 164 | $ mount /dev/sda4 /mnt/home # 挂载/home分区 165 | 166 | # 安装Linux所需的最基础的软件、框架等 167 | $ pacstrap /mnt base linux linux-firmware 168 | 169 | # 生成挂载文件 170 | $ genfstab -U /mnt >> /mnt/etc/fstab 171 | 172 | # 使用arch-chroot 173 | $ arch-chroot /mnt 174 | 175 | # 安装grub相关 176 | $ pacman -S grub intel-ucode os-prober 177 | # intel-ucode 厂家更新CPU驱动用,如果是AMD的显卡,则安装amd-ucode 178 | # os-probe 用来寻找电脑中其他操作系统 179 | $ mkdir /boot/grub 180 | $ grub-mkconfig > /boot/grub/grub.cfg # 生成grub配置文件 181 | $ grub-install --force --target=i386-pc /dev/sda 182 | # 敲入这条命令即可,使用BIOS的在grub-install时--target参数统一是i386-pc 183 | # 这里也需要使用--force参数强制安装grub,因为无参数情况下的两个警告会使得grub安装失败 184 | # 值得注意的是,这里grub安装的位置选择的直接是硬盘/dev/sda,而不是任何一个分区 185 | ``` 186 | 187 | - 如果还有问题,请移步`Arch Wiki`: 188 | 189 | 190 | 191 | 192 | 193 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Get my Arch Linux 2 | 3 | # 写在前面 4 | 5 | - 安装参考的视频: 6 | 7 | 8 | 9 | 10 | 11 | - 非常感谢UP主(Github:[@theniceboy](https://github.com/theniceboy))提供的保姆级教程。 12 | 13 | - 这里是大多是我自己安装过程的记录。欢迎补充。 14 | 15 | - 我在安装时使用的编辑器是`Nano`,如果你使用的是`Vim`等编辑器,阅读下面内容时请自行替换。 16 | 17 | # Billboard 18 | 19 | - 为了尽量保证阅读体验,保持文档前后风格一致,请在做更改前,花一点时间阅读一下[我的风格](my-style.md),以方便我合并分支。感谢配合。 20 | 21 | - 近期由于仓库大体结构还没有最终确定,如果有PR的话,我大多会选择手动合并。敬请谅解。 22 | 23 | - 疫情期间,线上授课与正常开学几乎一样…所以更新频率会下降。我尽量保持一周一更。 24 | 25 | PR会看,但可能都会在更新时一起合并。 26 | 27 | - 武汉加油! 28 | 29 | # 目录 30 | 31 | - [系统安装](system-installation.md/#系统安装) 32 | - [1. 修改`tty`界面下的字体](system-installation.md/#1-修改tty界面下的字体) 33 | - [2. 连接网络](system-installation.md/#2-连接网络) 34 | - [2.1 无线网络](system-installation.md/#21-无线网络) 35 | - [2.1.1 扫描当前互联网设备](system-installation.md/#21-扫描当前互联网设备) 36 | - [2.1.2 启用设备](system-installation.md/#22-启用设备) 37 | - [2.1.3 扫描当前设备下的WiFi列表并得到所有WiFi的名字](system-installation.md/#23-扫描当前设备下的wifi列表并得到所有wifi的名字) 38 | - [2.1.4 使用`wpa_supplicant`连接网络并后台运行](system-installation.md/#24-使用wpasupplicant连接网络并后台运行) 39 | - [2.1.5 动态分配IP地址](system-installation.md/#25-动态分配ip地址) 40 | - [2.2 有线网络](system-installation.md/#22-有线网络) 41 | - [2.2.1 启用设备](system-installation.md/#221-启用设备) 42 | - [2.2.2 动态分配IP地址](system-installation.md/#222-动态分配IP地址) 43 | - [2.3 测试](system-installation.md/#26-测试) 44 | - [3. 更正系统时间](system-installation.md/#3-更正系统时间) 45 | - [4. 硬盘分区](system-installation.md/#4-硬盘分区) 46 | - [4.1 查看现有的磁盘](system-installation.md/#41-查看现有的磁盘) 47 | - [4.2 进入磁盘编辑](system-installation.md/#42-进入磁盘编辑) 48 | - [4.3 定义分区格式](system-installation.md/#43-定义分区格式) 49 | - [4.4 打开`SWAP`](system-installation.md/#44-打开swap) 50 | - [5. 配置`pacman`](system-installation.md/#5-配置pacman) 51 | - [6. 使用`pacstrap`安装Arch Linux基础至磁盘中](system-installation.md/#6-使用pacstrap安装arch-linux基础至磁盘中) 52 | - [6.1 查看当前的磁盘](system-installation.md/#61-查看当前的磁盘) 53 | - [6.2 挂载磁盘](system-installation.md/#62-挂载磁盘) 54 | - [6.3 开始安装](system-installation.md/#63-开始安装) 55 | - [6.4 生成挂载文件](system-installation.md/#64-生成挂载文件) 56 | - [7. 使用`arch-chroot`对安装好的系统进行配置](system-installation.md/#7-使用archchroot对安装好的系统进行配置) 57 | - [7.1 进入`arch-chroot`](system-installation.md/#71-进入archchroot) 58 | - [7.2 设置时区和时间](system-installation.md/#72-设置时区和时间) 59 | - [7.3 编辑本地化的文件](system-installation.md/#73-编辑本地化的文件) 60 | - [7.4 生成本地化](system-installation.md/#74-生成本地化) 61 | - [7.5 设置语言](system-installation.md/#75-设置语言) 62 | - [7.6 (可选)设置键盘布局和键位绑定](system-installation.md/#76-可选设置键盘布局和键位绑定) 63 | - [7.7 编辑网络相关的文件](system-installation.md/#77-编辑网络相关的文件) 64 | - [7.8 更改`root`用户密码](system-installation.md/#78-更改root用户密码) 65 | - [7.9 安装`grub`相关](system-installation.md/#79-安装grub相关) 66 | - [7.10 安装基础工具](system-installation.md/#710-安装基础工具) 67 | - [7.11 重启,完成安装](system-installation.md/#711-重启,完成安装) 68 | - [系统安装中出现问题的汇总](system-installation-trouble-shooting.md/#系统安装中出现问题的汇总) 69 | - [1. 分区时出现警告:逻辑分区和物理分区不对齐](system-installation-trouble-shooting.md/#1-分区时出现警告:逻辑分区和物理分区不对齐) 70 | - [2. 关于`grub`和分区](system-installation-trouble-shooting.md/#2-关于grub和分区) 71 | - [初步配置](initial-configuration.md/#初步配置) 72 | - [1. 安装`man`](initial-configuration.md/#1-安装man) 73 | - [2. 安装`base-devel`](initial-configuration.md/#2-安装basedevel) 74 | - [3. 添加用户](initial-configuration.md/#3-添加用户) 75 | - [4. 修改用户权限](initial-configuration.md/#4-修改用户权限) 76 | - [5. 切换到低权限的用户](initial-configuration.md/#5-切换到低权限的用户) 77 | - [6. 安装`Xorg`](initial-configuration.md/#6-安装xorg) 78 | - [`Xorg使用方法`](initial-configuration.md/#xorg使用方法) 79 | - [7. 安装桌面环境](initial-configuration.md/#7-安装桌面环境) 80 | - [8. (可选)安装`lightdm`](initial-configuration.md/#8-可选安装lightdm) 81 | - [初步配置出现的问题汇总](initial-configuration-trouble-shooting.md/#初步配置出现的问题汇总) 82 | - [配备有`intel`集成显卡和`NVIDIA`独立显卡的机器登入图形界面时机器挂起(关机)](initial-configuration-trouble-shooting.md/#配备有intel集成显卡和nvidia独立显卡的机器登入图形界面时机器挂起(关机)) 83 | - [软件](software.md/#软件) 84 | - [终端相关](software.md/#终端相关) 85 | - [`yay`](software.md/#yay) 86 | - [`ranger`](software.md/#ranger) 87 | - [`neofetch`](software.md/#neofetch) 88 | - [`htop`](software.md/#htop) 89 | - [`bashtop`](software.md/#bashtop) 90 | - [`fish`](software.md/#fish) 91 | - [`zsh`](software.md/#zsh) 92 | - [`openssh`](software.md/#openssh) 93 | - [`alacritty`](software.md/#alacritty) 94 | - [`st`](software.md/#st) 95 | - [`tree`](software.md/#tree) 96 | - [`pactree`](software.md/#pactree) 97 | - [`zip`](software.md/#zip) 98 | - [`xsel`](software.md/#xsel) 99 | - [`task`](software.md/#task) 100 | - [`proxychains`](software.md/#proxychains) 101 | - [输入法](software.md/#输入法) 102 | - [Fcitx](software.md/#fcitx) 103 | - [IBus](software.md/#ibus) 104 | - [浏览器](software.md/#浏览器) 105 | - [Chromium](software.md/#chromium) 106 | - [Midori](software.md/#midori) 107 | - [录屏相关](software.md/#录屏相关) 108 | - [SimpleScreenRecorder](software.md/#simplescreenrecorder) 109 | - [Screenkey](software.md/#screenkey) 110 | - [视频编辑](software.md/#视频编辑) 111 | - [Kdenlive](software.md/#kdenlive) 112 | - [图片编辑](software.md/#图片编辑) 113 | - [Gimp](software.md/#gimp) 114 | - [办公](software.md/#办公) 115 | - [Libreoffice](software.md/#libreoffice) 116 | - [Thunderbird](software.md/#thunderbird) 117 | - [Typora](software.md/#typora) 118 | - [社交](software.md/#社交) 119 | - [QQ](software.md/#qq) 120 | - [微信](software.md/#微信) 121 | - [游戏](software.md/#游戏) 122 | - [Steam](software.md/#steam) 123 | - [下载工具](software.md/#下载工具) 124 | - [Transmission](software.md/#transmission) 125 | - [qBittorrent](software.md/#qbittorrent) 126 | - [视频播放](software.md/#视频播放) 127 | - [Vlc](software.md/#vlc) 128 | - [系统工具](software.md/#系统工具) 129 | - [Gparted](software.md/#gparted) 130 | - [Tlp](software.md/#tlp) 131 | - [Blueman](software.md/#blueman) 132 | - [NTFS-3G](software.md/#ntfs3g) 133 | - [AppImageLauncher](software.md/#appimagelauncher) 134 | - [Xcompmgr](software.md/#xcompmgr) 135 | - [Trayer](software.md/#trayer) 136 | - [ACPI](software.md/#acpi) 137 | - [其他](software.md/#其他) 138 | - [Virtualbox](software.md/#virtualbox) 139 | - [Xarchiver](software.md/#xarchiver) 140 | - [软件安装以及使用过程中出现的问题汇总](software-trouble-shooting.md/#软件安装以及使用过程中出现的问题汇总) 141 | - [搜狗输入法不显示候选框](software-trouble-shooting.md/#搜狗输入法不显示候选框) 142 | - [`fish`下`source /etc/profile`报错](software-trouble-shooting.md/#fish下source-etcprofile报错) 143 | - [`alacritty`下使用`clear`命令清屏幕报错`'alacritty': unknown terminal type.`](software-trouble-shooting.md/#alacritty下使用clear命令清屏幕报错alacritty-unknown-terminal-type) 144 | - [`alacritty`和`st`在未完全配置的情况下,使用安装好插件的`vim`中的字体颜色是纯白](software-trouble-shooting.md/#alacritty和st在未完全配置的情况下,使用安装好插件的vim中的字体颜色是纯白) 145 | - [在跟着教程配置`dwm`时,`statusbar`出现小方框](software-trouble-shooting.md/#在跟着教程配置dwm时,statusbar出现小方框) 146 | - [美化](prettification.md/#美化) 147 | - [窗口管理器](prettification.md/#窗口管理器) 148 | - [`i3`](prettification.md/#i3) 149 | - [`dwm`](prettification.md/#dwm) 150 | - [美化过程中出现的问题汇总](prettification-trouble-shooting.md/#美化过程中出现的问题汇总) 151 | # TODO 152 | 153 | -------------------------------------------------------------------------------- /software.md: -------------------------------------------------------------------------------- 1 | # 软件 2 | 3 | ## 终端相关 4 | 5 | ### `yay` 6 | 7 | - AUR的包管理器。 8 | 9 | - ```bash 10 | $ git clone https://aur.archlinux.org/yay.git 11 | $ cd yay/ 12 | $ makepkg -si # 编译安装 13 | ``` 14 | 15 | - 配置中国镜像: 16 | 17 | ```bash 18 | $ yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save 19 | ``` 20 | 21 | 配置文件的位置位于`~/.config/yay/config.json`,也可通过下面的命令查看修改过的配置: 22 | 23 | ```bash 24 | $ yay -P -g 25 | ``` 26 | 27 | ### `ranger` 28 | 29 | - 终端下的文件管理器,`Python`编写。 30 | 31 | - ```bash 32 | $ sudo pacman -S ranger 33 | ``` 34 | 35 | 36 | ### `neofetch` 37 | 38 | - 系统硬件信息查看。 39 | 40 | - ```bash 41 | $ sudo pacman -S neofetch 42 | ``` 43 | 44 | ### `htop` 45 | 46 | - 终端下系统资源占用查看工具。 47 | 48 | - ```bash 49 | $ sudo pacman -S htop 50 | ``` 51 | 52 | ### `bashtop` 53 | 54 | - 终端下系统资源占用查看工具,和`htop`类似,但是界面更加优雅,功能更加丰富。完全以`shell`脚本语言编写。 55 | 56 | - ```bash 57 | $ sudo pacman -S bashtop 58 | ``` 59 | 60 | - 如果感兴趣,可以看看来自DistroTube的安利: 61 | 62 | ### `fish` 63 | 64 | - 功能强大、智能友好的终端命令解析器。 65 | 66 | - ```bash 67 | $ sudo pacman -S fish 68 | ``` 69 | 70 | ### `zsh` 71 | 72 | - 功能强大的Linux Shell,配合[`Oh-My-Zsh`](https://ohmyz.sh/)使用更佳。 73 | 74 | - ```bash 75 | $ sudo pacman -S zsh 76 | ``` 77 | 78 | ### `openssh` 79 | 80 | - 远程连接工具。 81 | 82 | - ```bash 83 | $ sudo pacman -S openssh 84 | ``` 85 | 86 | ### `alacritty` 87 | 88 | - 使用显卡渲染的终端模拟器。 89 | 90 | - ```bash 91 | $ sudo pacman -S alacritty 92 | ``` 93 | 94 | ### `st` 95 | 96 | - 来自 Suckless 社区的`X`下的极简终端模拟器。 97 | 98 | - ```bash 99 | $ git clone https://git.suckless.org/st # 克隆源代码的仓库 100 | $ cd st/ 101 | $ sudo make clean install # 编译安装 102 | ``` 103 | 104 | - 关于如何配置请参考: 105 | 106 | 107 | 108 | - `st`作为一个高度自定义的终端,从Arch Linux的官方仓库中得到的编译好的二进制文件的功能是比较有限的。所以Suckless官方推荐的方法是自己克隆源代码之后(打补丁等等)自己编译安装。当然你也可以充分利用自己的包管理器,我用的是Arch Linux,所以对我来说就是`pacman`,写一个简单的[`PKGBUILD`](https://wiki.archlinux.org/index.php/PKGBUILD),让`pacman`来管理你每一个版本的构建,这样更加The Arch Way。打包方法请参考: 109 | 110 | - 111 | - 112 | - [Arch Wiki: Creating packages](https://wiki.archlinux.org/index.php/Creating_packages) 113 | 114 | `PKGBUILD`可以参考DistroTube的构建,你可以使用`yay`来得到它: 115 | 116 | ```bash 117 | $ yay -G st-distrotube-git # -G选项会将AUR里你指定包裹的PKGBUILD以及它所在的仓库克隆到你本地(当前目录),而不自动进行构建。 118 | ``` 119 | 120 | 当然,如果你对于你自己的构建很满意,你也可以将你的`PKGBUILD`等上传到AUR与大家分享,我提供的链接里也有相关的教程,你可以作为参考。 121 | 122 | ### `tree` 123 | 124 | - 展示目录下的文件。 125 | 126 | - ```bash 127 | $ sudo pacman -S tree 128 | ``` 129 | 130 | ### `pactree` 131 | 132 | - 展示本地或远程的包的结构。 133 | 134 | - ```bash 135 | $ sudo pacman -S pacman-contrib # 包的结构发生了一些改变,现在pactree在pacman-contrib内 136 | ``` 137 | 138 | ### `zip` 139 | 140 | - 解压缩软件。 141 | 142 | - ```bash 143 | $ sudo pacman -S zip 144 | ``` 145 | 146 | ### `xsel` 147 | 148 | - 可以将终端输出的内容重定向到剪切板上。 149 | 150 | - ```bash 151 | $ sudo pacman -S xsel 152 | ``` 153 | 154 | ### `task` 155 | 156 | - 终端下的一个`Todo List`。 157 | 158 | - ```bash 159 | $ sudo pacman -S task 160 | ``` 161 | 162 | ### `proxychains` 163 | 164 | - 终端命令代理。 165 | 166 | - ```bash 167 | $ sudo pacman -S proxychains-ng 168 | ``` 169 | 170 | ## 输入法 171 | 172 | ### Fcitx 173 | 174 | - 输入法管理器。 175 | 176 | - ```bash 177 | sudo pacman -S fcitx fcitx-im fcitx-configtool 178 | ``` 179 | 180 | - 中文字体、emoji等的安装: 181 | 182 | ```bash 183 | $ yay -S ttf-linux-libertine ttf-inconsolata ttf-joypixels ttf-twemoji-color noto-fonts-emoji ttf-liberation ttf-droid # Emoji 184 | 185 | $ yay -S wqy-bitmapfont wqy-microhei wqy-microhei-lite wqy-zenhei adobe-source-han-mono-cn-fonts adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts # 中文字体 186 | ``` 187 | 188 | ### IBus 189 | 190 | - 输入法管理器。`fcitx`比较好的替代品。 191 | 192 | - ```bash 193 | $ sudo pacman -S ibus 194 | ``` 195 | 196 | ## 浏览器 197 | 198 | ### Chromium 199 | 200 | - 开源、支持多扩展的浏览器。 201 | 202 | - ```bash 203 | $ sudo pacman -S chromium 204 | ``` 205 | 206 | ### Midori 207 | 208 | - 轻量、快速的浏览器。 209 | 210 | - ```bash 211 | $ sudo pacman -S midori 212 | ``` 213 | 214 | ## 录屏相关 215 | 216 | ### SimpleScreenRecorder 217 | 218 | - 轻量的录屏软件。 219 | 220 | - ```bash 221 | $ sudo pacman -S simplescreenrecorder 222 | ``` 223 | 224 | ### Screenkey 225 | 226 | - 捕捉键盘按键。 227 | 228 | - 首先添加`archlinuxcn`,同时去掉`multilib`前面的注释。 229 | 230 | ```bash 231 | $ sudo nano /etc/pacman.conf 232 | # 添加如下两行: 233 | # [archlinuxcn] 234 | # Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch 235 | ``` 236 | 237 | - ```bash 238 | $ sudo pacman -S screenkey 239 | ``` 240 | 241 | ## 视频编辑 242 | 243 | ### Kdenlive 244 | 245 | - 视频剪辑。 246 | 247 | - ```bash 248 | $ sudo pacman -S kdenlive 249 | ``` 250 | 251 | ## 图片编辑 252 | 253 | ### Gimp 254 | 255 | - 图片编辑。 256 | 257 | - ```bash 258 | $ sudo pacman -S gimp 259 | ``` 260 | 261 | ## 办公 262 | 263 | ### Libreoffice 264 | 265 | - Office三件套。 266 | 267 | - ```bash 268 | $ sudo pacman -S libreoffice 269 | ``` 270 | 271 | ### Thunderbird 272 | 273 | - 邮件管理。 274 | 275 | - ```bash 276 | $ sudo pacman -S thunderbird 277 | ``` 278 | 279 | ### Typora 280 | 281 | - 跨平台的`Markdown`编辑器,所见即所得。 282 | 283 | - ```bash 284 | $ sudo pacman -S typora 285 | ``` 286 | 287 | ## 社交 288 | 289 | ### QQ 290 | 291 | - 社交软件。 292 | 293 | - ```bash 294 | $ sudo pacman -S deepin.com.qq.im 295 | ``` 296 | 297 | ### 微信 298 | 299 | - 社交软件。 300 | 301 | - ```bash 302 | $ sudo pacman -S electronic-wechat # 基于Electron的微信,本质上是网页版的微信 303 | $ sudo pacman -S wine-wechat # Wine集成的Windows平台的微信 304 | # wine-wechat可能需要安装wine-mono字体,它建议使用pacman进行管理: 305 | # sudo pacman -S wine-mono 306 | ``` 307 | 308 | ## 游戏 309 | 310 | ### Steam 311 | 312 | - 游戏商店。 313 | 314 | - ```bash 315 | $ sudo pacman -S steam 316 | ``` 317 | 318 | ## 下载工具 319 | 320 | ### Transmission 321 | 322 | - 支持磁力下载。 323 | 324 | - ```bash 325 | $ sudo pacman -S transmission-qt # 基于Qt的图形化界面 326 | $ sudo pacman -S transmission-gtk # 基于GTK的图形化界面 327 | # 两种皆可 328 | ``` 329 | 330 | ### qBittorrent 331 | 332 | - 磁力下载。 333 | 334 | - ```bash 335 | $ sudo pacman -S qbittorrent 336 | ``` 337 | 338 | ## 视频播放 339 | 340 | ### Vlc 341 | 342 | - 视频播放器。 343 | 344 | - ```bash 345 | $ sudo pacman -S vlc 346 | ``` 347 | 348 | ## 系统工具 349 | 350 | ### Gparted 351 | 352 | - 有图形界面的磁盘无损分区工具。 353 | 354 | - ```bash 355 | $ sudo pacman -S gparted 356 | ``` 357 | 358 | ### Tlp 359 | 360 | - 电池性能优化。 361 | 362 | - ```bash 363 | $ sudo pacman -S tlp 364 | ``` 365 | 366 | ### Blueman 367 | 368 | - 有图形界面的蓝牙设备管理。 369 | 370 | - ```bash 371 | $ sudo pacman -S blueman 372 | ``` 373 | 374 | - 使用之前需要将`bluetooth`添加至守护进程: 375 | 376 | ```bash 377 | $ sudo systemctl enable bluetooth 378 | ``` 379 | 380 | ### NTFS-3G 381 | 382 | - Windows文件系统(NTFS)的挂载工具。 383 | 384 | - ```bash 385 | $ sudo pacman -S ntfs-3g 386 | ``` 387 | 388 | ### AppImageLauncher 389 | 390 | - `.appimage`文件的启动器。 391 | 392 | - ```bash 393 | $ sudo pacman -S appimagelauncher 394 | ``` 395 | 396 | ### Xcompmgr 397 | 398 | - `X`下的窗口渲染工具。可以使得窗口透明化。作为`Xorg`的拓展工具。 399 | 400 | - ```bash 401 | $ sudo pacman -S xcompmgr 402 | ``` 403 | 404 | - 与它类似的窗口渲染器`compton`貌似已经不在维护,这里也有它的一个替代,叫`picom`。 405 | 406 | ### Trayer 407 | 408 | - 轻量的系统托盘。 409 | 410 | - ```bash 411 | $ sudo pacman -S trayer 412 | ``` 413 | 414 | - `trayer`有很多的选项。这里可以参考我的启动选项: 415 | 416 | ```bash 417 | trayer --transparent true --expand false --align right --width 20 --SetDockType false --tint 0x88888888 & 418 | ``` 419 | 420 | ### ACPI 421 | 422 | - 电池状况监控。 423 | 424 | - ```bash 425 | $ sudo pacman -S acpi 426 | ``` 427 | 428 | ## 其他 429 | 430 | ### Virtualbox 431 | 432 | - 开源的虚拟机。 433 | 434 | - ```bash 435 | $ sudo pacman -S virtualbox 436 | ``` 437 | 438 | ### Xarchiver 439 | 440 | - 图形化的解压缩软件。 441 | 442 | - ```bash 443 | $ sudo pacman -S xarchiver 444 | ``` --------------------------------------------------------------------------------