arch安装以及i3wm配置

配置:

intel

硬盘处理

lsblk 查看硬盘情况(sda 为机械硬盘,nvme0n1是固态,这里的sda 是u盘)

image-20230914112459376

  1. cgdisk /dev/nvme0n1

    用于分区表编辑和管理的命令行工具,主要用于处理磁盘的分区表,可以使用cgdisk来创建新的GPT分区表,这将抹去旧的分区表和数据,所以务必谨慎操作

    ef00 boot

    8200 swap

  2. 格式化硬盘

    启动分区:

    mkfs.fat -F32 /dev/nvme0n1p1 
    

    交换分区:

    mkswap /dev/nvme0n1p2
    

    启动交换分区

    swapon /dev/nvme0n1p2
    

    系统分区:

     mkfs.ext4 /dev/nvme0n1p3
     mkfs.ext4 /dev/nvme0n1p4
    
  3. 挂载分区

    mount /dev/nvme0n1p3 /mnt
    
    mkdir /mnt/boot
    mount /dev/nvme0n1p1 /mnt/boot
    
     mkdir /mnt/home
     mount /dev/nvme0n1p4 /mnt/home
    

    然后运行lsblk查看分区情况

    image-20230914113905501

设置pacman服务

通过https://archlinux.org/mirrorlist/ 查看镜像源

修改镜像源

vim /etc/pacman.d/mirrorlist

备份镜像源

cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup

更新镜像源

reflector --verbose --latest 15 --sort rate --save /etc/pacman.d/mirrorlist
pacman -Sy

安装基本系统以及固件

pacstrap -i /mnt linux-headers linux-firmware base base-devel vim intel-ucode 
pacstrap /mnt base base-devel linux linux-firmware dhcpcd vim reflector

进入新系统

genfstab -U -p /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab
arch-chroot /mnt
pacman -Syy

设置时区 语言

时区

ls -s /usr/share/zoneinfo/ #点tab
ls -s /usr/share/zoneinfo/Asia/ #以此类推
ln -s /usr/share/zoneinfo/Asia/Shanghai > /etc/localtime
hwclock --systohc

语言设置

vim /etc/locale.gen
zh_CN.UTF-8 UTF-8 en_US.UTF-8 UTF-8 #选这两个
locale-gen

设置默认语言并更新

[root@archiso /]# echo LANG=en_US.UTF-8 > /etc/locale.conf
[root@archiso /]# vim /etc/locale.conf
[root@archiso /]# export LANG=en_US.UTF-8

网络设置

[root@archiso /]# vim /etc/hostname
[root@archiso /]# vim /etc/hosts

image-20230914162647923

添加用户

useradd -m -g users -G wheel,storage,power -s /bin/bash x14n
EDITOR=vim visudo

在文件中取消%wheel ALL=(ALL:ALL) 的 #

添加Defaults rootpw

安装系统引导工具grub, 并生成引导文件



pacman -S os-prober ntfs-3g grub efibootmgr

# 这里的/dev/sda1是前面boot所在的分区

#grub-install --efi-directory=/mnt/boot/efi --bootloader-id=Arch --recheck

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub

# 生成默认配置文件
grub-mkconfig -o /boot/grub/grub.cfg

安装基础包

pacman -S networkManager

systemctl disable netctl
systemctl enable NetworkManager

pacman -S mtools dosfstools bluez bluez-utils cups xdg-utils xdg-user-dirs alsa-utils
pulseaudio pulseaudio-bluetooth reflector openssh

pacman -S xf86-video-intel mesa lib32-mesa 

基础配置

修改**/etc/pacman.conf**,在文件最后添加如下内容:

[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch

然后是更新源及安装yay:

pacman -Syyu //更新源,期间会自动下载archlinuxcn的源数据库
pacman -S yay //安装yay
pacman -S archlinuxcn-keyring //archlinuxcn相关GPG key,如果不安装这个包会导致后续部分包无法成功安装

i配置

pacman -S xorg-server
//sddm安装,如果通过startx命令登录i3wm也可不安装此项
pacman -S sddm
//i3wm安装
pacman -S i3wm 
//或者安装i3gaps,二选一
yay -S i3-gaps
//picom、rofi及feh
pacman -S rofi picom feh

终端应用

pacman -S alacritty

安装字体文件

pacman -S noto-fonts-cjk powerline-fonts wqy-microhei adobe-source-code-pro-fonts
yay -S ttf-apple-emoji

安装字体之后,可以通过如下命令查看系统中安装的字体信息:

fc-cat | less

安装完成之后启动SDDM,应该就能通过图形化界面进行登录了:

systemctl enable sddm
systemctl start sddm

i3wm配置

i3wm默认的快捷键我不打算一一列出了,查看i3wm的默认配置文件就能看到,i3wm默认配置文件地址:

~/.config/i3/config

如果此配置文件不存在,或者被修改出错,可以通过如下命令复制一份新的:

mkdir ~/.config/i3
cp /etc/i3/config ~/.config/i3/config

i3wm的配置文件分为两步,分别是修改原有配置及新增配置。

先是修改原有配置,下列部分是删除或者注释:

#font pango:monospace 8

#bindsym $mod+d exec --no-startup-id dmenu

#bar {
#        status_command i3status
#}

然后是新增部分配置:

//设置字体及字体大小
font pango:Source Code Pro 12,DejaVu Sans Mono 12

//设置$MOD+d为启动rofi
bindsym $mod+d exec --no-startup-id "rofi -modi drun,run -show drun"

//启动picom
exec --no-startup-id picom -b

//使用feh设置壁纸,注意壁纸文件必须存在且路径正确
exec --no-startup-id feh --bg-scale ~/zocoxx/wallpaper.jpeg

//锁屏,因Win+L快捷键在i3wm默认被占用,我设置的是$MOD+Ctrl+l为锁屏快捷键
bindsym $mod+Ctrl+l exec --no-startup-id i3lock

//去除窗口的标题栏,有利有弊,好处是窗口少了额头,坏处是去除标题栏之后部分窗口无法进行鼠标拖动
for_window [class="^.*"] border pixel 0
//设置边框为1像素
new_window pixel 1

//如果安装了输入法,可以使用此命令进行启动输入法
exec --no-startup-id fcitx &

配置完成之后,按$MOD+Shift+r可以快速重启i3wm,如果配置没问题的话,可以看到新的效果了。

alacritty配置

选择alacritty就是看重其可定制,自然不会选择默认配置了。

alacritty可选配置文件路径有很多,为了方便,我选择将配置文件放到~/.config目录里面。完整配置文件内容如下:

# ~/.config/alacritty.yml
font:
  normal:
    family: Source Code Pro
  bold:
    family: Source Code Pro
  italic:
    family: Source Code Pro
  size: 12

window:
  opacity: 0.7

env:
  TERM: xterm-256color

我选择配置alacritty使用Source Code Pro字体,且字号大小为12。

特别提醒一下,alacritty背景透明度设置不是网络流传的window.opacity或者background_opacity,要设置透明度的话建议参考我上述的格式。

保存即可看到效果。

polybar设置及启动

polybar需要有默认的配置文件才能启动,所以,创建目录并设置配置文件:

mkdir ~/.config/polybar
cp /etc/polybar/config.ini ~/.config/polybar

不知道是polybar更新版本之后配置文件名称改变还是网上的教程以讹传讹,很多都不带**.ini**后缀,这里建议带上。

上述config.ini默认包含了一个example的配置,命令行执行如下命令即可看到效果:

polybar example

要在启动i3wm之后默认启动polybar,需要有个启动脚本,文件名称、路径及内容如下:

# ~/.config/polybar/launch.sh

#!/bin/bash

# 终端可能已经有在运行的实例
killall -q polybar

# 等待进程被终止
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done

# 运行Polybar,使用默认的配置文件路径 ~/.config/polybar/config.ini
polybar example &

echo "Polybar launched..."

然后给与启动脚本可执行权限:

chmod +x ~/.config/polybar/launch.sh

然后i3wm配置文件新加一行:

# ~/.config/i3/config

exec --no-startup-id ~/.config/polybar/launch.sh

sudo systemctl restart display-manager

i3-msg restart

安装完成后配置

xorg-xrandr 分辨率调整

xrandr --output your_display_name --mode 1600x900
xrandr --output eDP1 --scale 1.25x1.25

安装中文输入法

配置中文输入法首先需要安装 fcitx 包与 fcitx-im 集合包,还有配置工具 fcitx-configtool:

1 $ sudo pacman -S fcitx fcitx-im fcitx-configtool

然后编辑 /etc/profile 文件,末尾加入:

1234 # Fcitxexport GTK_IM_MODULE=fcitxexport QT_IM_MODULE=fcitxexport XMODIFIERS="@im=fcitx"

再到Fcitx#中文选择一个中文输入法包安装:

1 $ sudo pacman -S fcitx-googlepinyin

zsh

1、安装zsh

sudo pacman -S zsh

2、更改默认终端

chsh -s /bin/zsh

3、安装oh-my-zsh-git

sudo pacman -S oh-my-zsh-git

4、默认配置

cp /usr/share/oh-my-zsh/zshrc ~/.zshrc

5、安装插件 跳转目录、命令高亮、自动建议补全

sudo pacman -S autojump zsh-syntax-highlighting zsh-autosuggestions

oh-my-zsh 找不到插件路径,做下链接 没有目录自己建 mkdir -p /usr/share/oh-my-zsh/custom/plugins/

sudo ln -s /usr/share/zsh/plugins/zsh-syntax-highlighting /usr/share/oh-my-zsh/custom/plugins/
sudo ln -s /usr/share/zsh/plugins/zsh-autosuggestions /usr/share/oh-my-zsh/custom/plugins/

6、配置 ~/.zshrc

plugins=(
	git
	autojump
	zsh-syntax-highlighting
	zsh-autosuggestions
)

Xresources

sddm

https://github.com/MarianArlt/sddm-chili

neovim

https://taoshu.in/vim/go-vim.html

HIDPI屏幕

polybar

使用github主题hack

mpd brightness volume speed battery temperature

htop资源监控

管理配置

rander 文件窗口

https://wiki.archlinux.org/title/ranger

  1. 生成配置文件

    ranger --copy-config=all
    

    了解一些基本的 python 知识可能对定制 ranger 会有帮助。

    • rc.conf - 选项设置和快捷键
    • commands.py - 能通过 : 执行的命令
    • rifle.conf - 指定不同类型的文件的默认打开程序。
    • scope.sh - 文件预览相关配置
  2. 图片预览功能

    pacman -S w3m #图片预览工具
    
  3. 移动到回收站

    如果想添加一个把文件移动到目录 ~/.local/share/Trash/files/ 的快捷键 DD,把以下这一行添加到 ~/.config/ranger/rc.conf

    map DD shell mv %s /home/${USER}/.local/share/Trash/files/
    
  4. 关联文件打开应用

  5. 文件解压

锁屏电源

rofi

设置默认应用

粘贴板copyq

音量调节ALSA

sudo pacman -S alsa-utils

sudo pacman -S alsa-plug

sudo pacman -S pulseaudio-alsa

sudo pacman -S pavucontrol-qt

sudo pacman -S pavucontrol

启用:amixer sset Master unmute

sudo lspci -v

lspci | grep Audio

mpd音乐播放器

常用快捷键

q : 退出 ranger
R : 重新刷新目录
S : 执行 shell 命令
: 或者 ; : 控制台
W : 显示日志
k : 向上
j : 向下
h : 向左
l : 向右
g : 到顶部
G : 到底部
J : 半页向下
K : 半页向上
gh : 相当于 cd ~
ge : 相当于 cd /etc
gu : cd /usr
dd : 剪切
yy : 复制
pp : 粘贴

截图工具

多屏幕显示

xrandr --output HDMI-1 --auto --left-of DP-1

在 i3wm 中配置多屏显示通常需要一些特定的设置。以下是在 Arch Linux 上配置 i3wm 的多屏显示的一般步骤:

  1. 检测和识别显示器: 打开终端并运行以下命令,以检测和识别连接的显示器:

    xrandr
    

    这将列出所有已连接的显示器以及它们的名称(例如:HDMI-1DP-1 等)。

    配置显示器布局: 使用 xrandr 命令来配置显示器布局。例如,如果你想将两个显示器设置为左右扩展模式,可以运行:

    xrandr --output HDMI-1 --auto --left-of DP-1
    打开 `~/.config/i3/config` 文件,添加以下行来配置多屏显示:
    
    exec --no-startup-id xrandr --output HDMI-1 --auto --left-of DP-1
    
    exec --no-startup-id xrandr --output HDMI-1 --auto --right-of DP-1
    
  2. 设置屏幕

    xrandr --output HDMI-1 --mode 1920x1080 --scale 0.95x0.95