Pony of Shadows

Queen of Truth & King of Practice


Setup: 1.Basic Config

现在处于本笔记系列的第1层,目标是丰富系统在纯命令行下的编辑和浏览体验。

这次的笔记汇总了arch linux在系统层面的基础配置。

设置主机名

vim /etc/hostnamevim

在这个文件中输入你想好的主机名即可,然后

vim /etc/hosts

在这个文件下加入类似以下内容:

127.0.0.1   localhost
::1         localhost
127.0.1.1   my_hostname

用户

给root用户添加密码

passwd root

添加一个普通用户

# -m同时创建家目录,wheel是可sudo的用户组
useradd -m -G wheel -s /bin/bash user0
# 设置密码
passwd user0

sudo用户的配置

sudo在archlinux中属于基本组件,用来暂时暂时以其它用户的身份运行代码或执行文件。

sudo用户的配置文件是/etc/sudoers, 这个文件原则上只能通过visudo命令编辑

# 用环境变量指明编辑器是vim, 以后安装了neovim也可指定为nvim.
EDITOR=vim visudo

这个文件中我们只需要关注以下部分

##
## User privilege specification
##
root ALL=(ALL:ALL) ALL

## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL:ALL) ALL

## Same thing without a password
%wheel ALL=(ALL:ALL) NOPASSWD: ALL

## Uncomment to allow members of group sudo to execute any command
# %sudo ALL=(ALL:ALL) ALL

## Uncomment to allow any user to run sudo if they know the password
## of the user they are running the command as (root by default).
# Defaults targetpw  # Ask for the password of the target user
# ALL ALL=(ALL:ALL) ALL  # WARNING: only use this together with 'Defaults targetpw'

下面以root ALL=(ALL:ALL) ALL为例讲解一下这几行命令

  • 开头的root表示要操作的用户,这里是root用户
  • 第1个ALL所在的字段表示主机名,这里用"ALL"说明指定的用户在任何主机上都能使用sudo命令
  • ()中的两个字段,第1个ALL表示可以以任何用户身份运行命令;第二个ALL表示可以以任何组身份运行命令。
  • 最后一个ALL表示允许执行所有命令

设置时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

DNS

语言和字体

语言配置

我们需要系统支持英语和中文,并且以英语为默认语言。

  1. 编辑/etc/locale.gen 去掉en_US.UTF-8所在行以及zh_CN.UTF-8所在行的#注释
  2. 使用如下命令生成locale,Locale决定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准。
locale-gen
  1. 最后向/etc/locale.conf导一个最简配置。 这个文件用于设置系统的区域语言环境(locale)。区域语言环境定义了系统如何处理和显示特定语言和地区的文本、时间、货币格式等
echo 'LANG=en_US.UTF-8'  > /etc/locale.conf

中文字体

我们首先通过pacman下载一些中文字体,然后通过把中文字体识别优先级设置为比日语更高,解决字体回退(fallback)导致的两种字体混合显示的问题。

  1. 下载一些中文字体(其实noto-fonts-cjk还包含了日文和韩文字体)
sudo pacman -S wqy-microhei noto-fonts-cjk noto-fonts-emoji noto-fonts-extra
  1. 创建字体配置文件/etc/fonts/conf.d/64-language-selector-prefer.conf 内容是:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>sans-serif</family>
    <prefer>
      <family>WenQuanYi Micro Hei</family>
      <family>Noto Sans CJK TC</family>
      <family>Noto Sans CJK JP</family>
    </prefer>
  </alias>
  <alias>
    <family>monospace</family>
    <prefer>
      <family>WenQuanYi Micro Hei Mono</family>
      <family>Noto Sans Mono CJK TC</family>
      <family>Noto Sans Mono CJK JP</family>
    </prefer>
  </alias>
</fontconfig>

重要的包

  1. 以下包会在第1层中接下来的笔记中作为讲解的主题
neovim, w3m, v*y (省略), alsamixer, mpv, tmux, git 
  1. 以下包是不需要配置的小工具,酌情安装
zip, unzip