Arch 是一款 linux 发行版,使用 Arch 是因为它高自定义配置,它采用滚动更新,
系统安装
首先第一步就是制作系统安装盘,先下载镜像,镜像在官网下载就可以,官网提供了很多镜像源。
然后我这里使用的是 win32diskimage 写入的镜像,直接写到 U 盘上就可以,然后将 U 盘插入电脑重启就可以了,重启之后,直接就可以选择进入 arch 的界面了,应该是原机主已经选择了 UEFI 启动的原因
连接 wifi
首先使用 ip link 查看当前的网络设备,我这里只有 wlan0 还有 loop 所以现在只能选择使用 wifi 进行连接。打开 wlan0 接口
ip link set wlan0 up
使用进行扫描,其实不进行扫描也可以,直接连接也行
iwlist wlan0 up
连接使用下面命令
wpa_passphrase MYSSID passphrase > /etc/wpa_supplicant/example.conf
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/example.conf &
连接之后还需要使用 dhcp 动态分配 IP 地址,才能够连接到网络
dhcpcd &
然后使用 ping 检验一下
ping baidu.com
更新系统时间
使用 timedatectl(1) 确保系统时间是准确的:
timedatectl set-ntp true
可以使用 timedatectl status
检查服务状态。
配置镜像源
打开 /etc/pacman.d/mirrorlist
并定位到你的地理区域,将当地的镜像源取消注释即可。
磁盘分区
官方推荐的分区是使用 fdisk
首先使用 fdisk -l
查看所有分区
然后使用 fdisk 你的设备名 进行重新分区
挂载点 | 分区 | 分区类型 | 建议大小 |
---|---|---|---|
/mnt/boot or /mnt/efi |
/dev/sd_X_1 |
EFI 系统分区) | 260–512 MiB |
/mnt |
/dev/sd_X_2 |
Linux x86-64 根目录 (/) | 剩余空间 |
[SWAP] | /dev/sd_X_3 |
Linux swap (交换空间) | 大于 512 MiB |
格式化
分区完之后,还要对文件系统进行划分
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mkswap /dev/sba3
swapon /dev/sda3
挂载
mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
安装
pacstrap /mnt base linux linux-firmware
genfstab -U -p /mnt >> /mnt/etc/fstab
vim /etc/locale.gen
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
locale-gen
echo LANG=zh_CN.UTF-8 > /etc/locale.conf
设置主机名
echo hostname > /etc/hostname
安装 grub
mkdir /boot/efi/EFI/boot
pacman -S grub-efi-x86_64
pacman -S efibootmgr
pacman -S os-prober
grub-install --efi-directory=/boot/efi --bootloader-id=grub
cp /boot/efi/EFI/grub/grubx64.efi /boot/efi/EFI/boot/bootx64.efi
grub-mkconfig -o /boot/grub/grub.cfg
配置网络
首先不要忘记在安装系统的时候,使用 U 盘,把 wpa_supplicant 还有 dhcpcd 安装上,要不就没法连接网络了
然后 arch 的开机启动都是通过 systemd 来进行管理的,所以为了开机就打开无线网络接口,我们需要写一个脚本文件,我在 /root 目录下,新建了一个 AutoExec.sh 文件
#!/bin/bash
ip link set wlp1s0 up
然后将它设置为可执行的 chmod 777 AutoExec.sh
,下一步就是写 AutoExec.service
了
[Unit]
Description=AutoExec
[Service]
ExecStart=/root/AutoExec.sh
[Install]
WantedBy=multi-user.target
其中 ExecStart 指定了要自动启动的程序脚本。通常,我会把所有的脚本放置在 Dropbox 当中。这里要求 sh 文件要有执行权限(chmode +x AutoExec.sh),并且 sh 编写要符合规范(开头要使用 #!/bin/bash 指明解释程序)。将 AutoExec.service 复制到 /etc/systemd/system 目录当中。使用 systemctl enable AutoExec.service
来开启程序自动启动功能。
然后配置 wpa_supplicant,先将文件生成到 /etc/wpa_supplicant/wpa_supplicant-wlp1s0.conf 中
wpa_passphrase MYSSID passphrase > /etc/wpa_supplicant/wpa_supplicant-wlp1s0.conf
然后设置开机启动
systemctl enable wpa_supplicant@wlp1s0
并且设置 DHCP 启动
systemctl enable dhcpcd
现在就可以开始联网了,可以 ping 一下做检验
i3-wm
一直以来都很想尝试一下 i3,感觉这样直接使用键盘操控窗口的方式特别棒,所以现在选取的桌面系统肯定上来就是 i3 了
sudo pacman -S i3
然后在 ~/.xinitrc
文件中增加 exec i3
,就可以使用 startx
进入 i3 了,这里需要注意的是像 Gnome 都有 .xprofile 来作为进入环境的初始化,我们也可以在 /.xinitrc
文件中写入这些命令i3
i3 使用 dmenu 作为首席程序启动器,键绑定默认为 $Mod+d
,安装 dmenu 也非常简单
sudo pacman -S dmunu
中文输入法
一般 linux 上的中文输入法是 fcitx。不知道为什么人家都叫他小企鹅,很奇怪
sudo pacman -S fcitx-im fcitx-configtool
然后配置 ~/.xinitrc
文件,在 exec i3 前面增加下面内容
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
重启 i3 就可以了,不过每次使用之前都要启动 fcitx
桌面
i3-wm 修改桌面还是比较麻烦的,首先他不能自己更改桌面,因为这只是一个窗口管理工具,所以使用桌面我们呢必须下载 feh
sudo pacman -S feh
下载完成后,我们就可以使用他来修改桌面了,而且这个软件也可以用来查看图片 feh -g 640x480 -d -S filename /path/to/directory
feh --bg-scale /path/to/image.file
不过如果每次都需要手动修改图片也太累了所以这里使用 variety 来进行自动下载图片,自动更换桌面
sudo pacman -S variety
AUR
AUR 的全称是 Arch User Repository,是用户自建的仓库,需要自己下载编译,只有没有 bug,特别受欢迎的,才能进入 pacman 的真正仓库。
安装 AUR 里的包一般都要自己进行编译,yay 是一个 AUR 帮助软件,使用 Golang 编写,目的是方便我们进行 AUR 内包的编写,他会自己安装依赖,进行编译,并且删除编译之后的依赖,这样就大大减少了用户需要的代码。
yay 的安装也非常简单,在编译过程中,他还会自己下载 golang 的环境,虽然最后不会卸载,不过正好我需要,还一举两得了。
it clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
使用 AUR 可以安装很多很棒的软件,比如网易云音乐,在 linux 上的客户端竟然和 windows 还有 macos 上出奇的一致,好评,还是很好用的,推荐。不过网易云音乐的名字还真是直白,就真是云-音乐啊,这翻译不太走心啊。
yay -S netease-cloud-music
yay 进行缓存的清除也很简单,基本上和 pacman 是一样的
yay -Yc 清理不需要的依赖
yay -R <package_name> 删除软件包
yay -Scc 清理缓存
触控版设置
因为以前使用 mac 的时间比较久了,所以现在用触控版浏览网页的时候,就经常不自觉的打开网页之后就双指上划,但是在 linux 中的触控版是不开启自然滑动的,另外每次进行点击的时候都需要按下触控版,比较费力,所以轻触点击也是有必要的,这里使用 xinput 应该是安装 xorg 的时候自带的工具。
首先查看所有的输入设备,每一个设备都有自己对应的 ID,所以我们需要找到所对应的 Touchpad ID
xinput list
我这里的 ID 是 10,所以需要使用 xinput 将这个设备的所有输入都列出来
xinput list-props 10
然后将里面的 tap to click 还有 natural scroll 开启就可以了
xinput set-prop 10 300 1
xinput set-prop 10 308 1
另外每次启动 i3 的时候,都需要更改这两条命令所以还需要将这两条放入 i3 的配置文件中
i3-status
i3-status 是 i3 下面的状态栏,这里显示了 i3 的一些状态其实就是一个状态栏,不过这个状态栏可以让我们随便配置,自由度非常高,这个的配置文件在 /etc/i3status.conf
,并没有在文档中的位置,所以有点难找
doc : https://i3wm.org/i3status/manpage.html
不过设置起来还是一样的,直接看文档就可以,还是比较简单的,需要注意的一点就是,如果想要你的状态栏简洁好看一点,还得会输入 vim 的特殊字符,这个在 google 上一搜就可以了,还是挺简单的,使用 Ctrl + k
开始输入特殊字符,每个特殊字符都有特别的符号,这种输入方法叫做二合字母,需要查阅的时候,可以在普通模式下,用命令 :digraphs
可以查看可用的二合字母列。
另外我这里不知道为什么 CPU 温度没法显示,搜索了之后发现好像很麻烦的样子,我就没有弄,把这一条删掉了,反正有 CPU 使用率也就可以了,电脑的温度不会自己摸一摸啊。突然想起来,这里应该是 CPU 温度的文件位置不对,所以我直接使用 find 搜索这个文件就可以了
find / -name=temp0_input
我这里 CPU 的使用率,并不是按照官网的推荐来的,那个太麻烦了,还不如直接就一个使用率多好
cpu_usage{
format = "%usahe"
}
另外还有一个就是音量调节了,参照官网配置。
volume master{
format = "music: %volume"
format_muted = "music: muted(%volume)"
device = "default"
mixer = "Master"
mixer_idx = 0
}
显示器亮度
通过 xrandr 来控制亮度,首先使用 xrandr 查看现在的显示设施
xrandr
然后就可以使用 xrandr 控制亮度了
xrandr --output=eDP-1 brightness 0.7
不过每次都要手动输入太麻烦了,正好键盘上有两个调节亮度的按钮,直接绑定上,我这里是使用 i3 进行绑定的
在 ~/.config/i3/config
文件下直接添加
bindsym $mod+F6 xrandr --output=eDP-1 brightness 0.7
bindsym $mod+F7 xrandr --output=eDP-1 brightness 1
不过这样的亮度只有两档可以调节,虽然可以变量,但是那样真的不够优雅,而且这样调节的亮度有点发蓝,好像是增加蓝光比例然后降低亮度的,并不是降低背光灯的亮度,有点丑,所以还有另一种方法
首先使用 xbacklight
查看是否支持,如果有问题会显示 no outputs have backlight property
xbacklight
有问题的可以通过查看这个链接,已经说的非常详细了,不过如果你发现更改了 xorg.conf
之后,你的 i3 打不开了,你还需要安装 xf86-video-intel
sudo pacman -S xf86-video-intel
现在可以将上面那两行配置里的语句改成
bindsym $mod+F6 xbacklight -dev 10
bindsym $mod+F7 xbacklight -inc 10
音量管理
bindsym $mod+F8 amixer sset Master toggle
bindsym $mod+F9 amixer sset Mast 5%- unmate
bindsym $mod+F10 amixer sset Mast 5%+ unmate