Arch安装之后
连接网络
有线网自动获取 IP
dhcpcd
如果是使用 netctl
来管理网络的,桌面环境换用 NetworkManager
来管理网络,所以需要禁用 netctl
并启用 NetworkManager
sudo systemctl disable netctl
sudo systemctl enable NetworkManager
安装工具栏图标显示网络
sudo pacman -S network-manager-applet
连接无线网络
wifi-menu
创建普通用户
创建一个普通用户并创建其家目录和加入whell
用户组,然后设置密码:
useradd -m -G wheel username
passwd username
-m
:创建用户的家目录/home/username
username
:创建的用户名
wheel
组的概念继承自 UNIX
,当需要进行一些系统的高级维护时,往往要用到 root
权限;而“wheel” 组就是一个包含这些特殊权限的用户池;如果不是“wheel”组的成员,就无法取得 root
权限进行一些特权的操作。
将一个已有用户加入wheel
用户组: usermod -G wheel 用户名
扩展:
-
staff
和wheel
的区别:wheel
组是一个拥有root
特权的用户组;而staff
组是所有普通用户的集合。 -
对于服务器来说,希望剥夺 wheel 组用户以外的普通用户通过 su 命令来登录 root 的机会(即只有属于 wheel 组的用户才可以用 su 登录为 root)。这样就进一步增强了系统的安全性。步骤如下:
-
修改
/etc/pam.d/su
文件,找到#auth required /lib/security/$ISA/pam_wheel.so use_uid
,将行首的注释#
去掉。 -
修改
/etc/login.defs
文件,在最后一行增加SU_WHEEL_ONLY yes
语句。 -
将一个用户添加到 wheel 组中。
-
用被添加到
wheel
组的用户登录,执行su
命令输入密码即可登录root
用户。
-
开放 wheel 用户组 sudo 权限
修改 /etc/sudoers
文件
也可直接添加一条username ALL=(ALL)ALL
给用户权限
## 取消注释以允许 wheel 组成员执行任何命令
%wheel ALL=(ALL) ALL
## 不输入密码执行命令
# %wheel ALL=(ALL) NOPASSWD: ALL
## 取消注释以允许sudo 组的成员执行任何命令
# %sudo ALL=(ALL) ALL
网络管理服务开机自启
systemctl enable NetworkManager --now
安装基础软件
vim
sudo pacman -S vim
或 neovim : sudo pacman -S neovim
git
sudo pacman -S git
paru
个人会使用 proxychains 来代理使用 yay ,但由于 yay 是 go 开发的,由于 go 的未知原因导致 yay 使用 proxychains 进行代理时会超时,具体细节未知,找了一圈都是需要使用 gcc-go 重新编译,后面查了一下发现一个替代 paru , paru 是使用 rust 开发的,正好本人也是专一的锈化派,所有无条件转移
# 未开启 archlinuxcn 时使用以下
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
# 开启了archlinuxcn 时
sudo pacman -S paru
yay
# 安装AUR基础包
sudo pacman -S --needed base-devel
# 安装yay
# git clone https://aur.archlinux.org/yay.git
# go 需要代理加速访问,使用下方这种安装
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
makepkg -si
yay -P -g
# 添加archlinuxcn源,在文件`/etc/pacman.conf`中添加:
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
# 安装GPG key
sudo pacman -Syy
sudo pacman -S archlinuxcn-keyring
由于 go 语言问题, 直接使用 proxychains yay
命令会报网络错误
众所周知,国内网络访问国外资源经常会出现不稳定的情况。 Go 生态系统中有着许多中国 Gopher 们无法获取的模块,比如最著名的 golang.org/x/...
。并且在中国大陆从 GitHub 获取模块的速度也有点慢。
配置多线程下载
修改grub等待时间
修改/etc/default/grub
文件
#将时间修改为需要的秒数
GRUB_TIMEOUT=0
每当修改 /etc/default/grub
或 /etc/grub.d/
中的文件之后,都需要再次生成主配置文件/boot/grub/grub.cfg
。
grub-mkconfig -o /boot/grub/grub.cfg
显卡驱动
品牌 | 驱动 | 驱动类型 |
---|---|---|
AMD/ATI | xf86-video-amdgpu 、xf86-video-ati |
开源 |
catalyst (AUR) |
闭源 | |
Intel | xf86-video-intel |
开源 |
Nvidia | xf86-video-nonveau |
开源 |
nvidia 、nvidia-340xx 、nvidia-304xx |
闭源 |
参照表格安装相应的驱动,通常安装集显的开源驱动就够用,若需要打点游戏,做点图什么的可以安装独立显卡的闭源驱动提升性能。安装闭源驱动一定要查看wiki根据说明安装,不然可能回无法正常进入系统
查看被识别的显卡:
lspci | grep -e VGA -e 3D
搜索开源驱动:
sudo pacman -Ss xf86-video
安装intel集显开源驱动:
sudo pacman -S xf86-video-intel
安装Xorg
Xorg是Linux下的一个著名的开源图形服务,提供X窗口系统
sudo pacman -S xorg-server
# 或
sudo pacman -S xorg
安装图形化桌面
linux 的图形化桌面有很多(主流:KDE,GNOME,Xfce,LXDE,Deepin,Mate等),这里选择i3
,i3是一个动态平铺窗口管理器,主要针对开发人员和高级用户。
图形桌面的安装大多是相同的,举一反三即可安装其他桌面
安装
sudo pacman -S lightdm lightdm-gtk-greeter i3-gaps i3blocks rofi alacritty wqy-microhei
lightdm
,lightdm-gtk-greeter
: 显示管理器i3-gaps
: 窗口管理器i3blocks
: i3状态栏rofi
: 软件起动器alacritty
: 终端wqy-microhei
: 中文字体
可用登录管理器(如 : ly
(AUR))代替显示管理器,但可能没法兼容闭源Nvidia驱动; 配置开机启动sudo systemctl enable ly
若使用xorg-xinit
启动:
cp /etc/X11/xinit/xinitrc ~/.xinitrc
vim ~/.xinitrc
# 替换以下内容
twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login
# 替换为
exec i3
# 然后就可执行startx打开i3
# 也可在shell的配置 ~/.bashrc 最后加入 startx 配置用户登录后自动启动
i3配置
初次进入i3会提示是否生成用户配置文件~/.config/i3/config
和设置Mod
键
vim ~/.config/i3/config
# Mod键: Mod1为Alt键,Mod4为Windows/Command键
set $mod Mod4
# 状态栏
# bar {
# status_command i3status
# }
# 改为
bar {
status_command i3blocks
}
# 软件启动器
# bindsym Mod1+d exec dmenu_run
# 改为
bindsym Mod1+d exec rofi -show run
桌面环境
Linux下有很多著名的桌面环境如:
- Xfce
- KDE(Plasma)
- Gnome
- Unity
- Deepin(深度的国产桌面环境)
自行选择安装即可,如:
- Xfce :
sudo pacman -S xfce4 xfce4-goodies
- KDE(Plasma):
sudo pacman -S plasma kde-application
- Gnome:
sudo pacman -S gnome gnome-extra
- Deepin:
sudo pacman -S deepin deepin-extra
知识点
-
直接启用X服务 :
xorg-xinit
xinit程序允许用户通过startx
脚本手动启动X显示服务。 -
图形显示服务 :
xorg-server
启动X显示服务的两种方法是使用显示管理器和直接启动X服务。 -
显示管理器(登录管理器) :
-
图形界面
GDM
: GNOME的显示管理器LightDM
: 跨桌面的显示管理器。LXDM
: LXDE显示管理器,可以独立于LXDE桌面环境使用。MDM
: Linux Mintd中的显示管理器SDDM
: 基于QML的显示管理器,替代KDE4的KDM,推荐搭配 Plamsa5 或 LXQt 使用XDM
: X显示管理器支持XDMCP(适合服务器的宿主机)
-
控制台
- CDM AUR : 控制台显示管理器。
- Console TDM AUR : 扩展自xinit,由纯粹的Bash脚本编写的。
- nodm : 支持自动登录的简单显示管理器。
- Ly AUR : 实验阶段的 ncurses 显示管理器。
管理管理器服务
如设置开机启动
sddm
:sudo systemctl enable sddm
# 开机启动/关闭开启启动 sudo systemctl enable xxxx sudo systemctl disable xxxx #启动/停止服务 sudo systemctl start xxxx sudo systemctl stop xxxx
-
-
窗口管理器 :
- 平铺窗口管理器
i3
:i3-wm
或i3-gaps
平铺窗口管理器(i3-gaps
是i3-wm
的分支,提供更多的功能)。
- 堆叠窗口管理器
Metacity
: GNOME2曾经默认使用的窗口管理器,后被Mutter取代。Mutter
: GNOME3默认的窗口管理器。Kwin
: KDE默认的窗口管理器。Xfwm
: Xfce默认的窗口管理器。Marco
: Mate默认的窗口管理器。
- 动态窗口管理器
dwm
: 用于X 的动态窗口管理器。管理平铺、单片和浮动布局中的窗口。 所有布局都可以动态应用,从而优化了使用中的应用程序和执行的任务的环境。
- 平铺窗口管理器
lightdm 主题
首先需要更改 /etc/lightdm/lightdm.conf
主配置文件设置greeter
主题目录: /usr/share/themes/
图标目录:/usr/share/icons/
-
lightdm-gtk-greeter
从gnome-look获取GTK主题 安装lightdm-gtk-greeter-settings
通过图形界面配置 -
lightdm-webkit-greeter
从github上获取主题 -
lightdm-webkit2-greeter
从github上获取主题 -
slick-greeter
从gnome-look获取GTK主题 安装lightdm-settings
图形管理
GTK 窗体 & 图标 & 鼠标主题配置
从gnome-look获取GTK主题
主题目录: /usr/share/themes/
图标 & 鼠标主题目录:/usr/share/icons/
安装lxappearance
(gtk2) 或lxappearance-gtk3
(gtk3) 通过图形界面配置
必备
i3blocks
状态栏rofi
软件启动器alacritty
终端wqy-microhei
中文字体
字体
ttf-symbola (提供许多 Unicode 符号,包括 Emoji)
wqy-zenhei (文泉驿正黑体)
wqy-bitmapfont (文泉驿点阵宋体)
adobe-source-han-sans-otc-fonts (思源黑体,无衬线字体)
adobe-source-han-serif-otc-fonts (思源宋体,衬线字体)
状态栏配置
安装字体: fon-awesome
, Pango
yay -S otf-font-awesome pango
修改i3blocks配置文件
[script] # 脚本
#align= # 对齐
#color= # 颜色
command= # 命令
#format= # 格式
#full_text= # 完整文字
#instance= # 实例
interval= # 间隔
#label= # 标签
#markup= # 标记
#min_width= # 最小宽度
#name= # 名称
#separator= # 分隔符
#separator_block_width= # 分隔块的宽度
#short_text= # 短文字
#signal= # 信号
#urgent= # 紧急
backlight 亮度
bandwidth2 带宽
battery2 电量
cpu_usage2
disk-io
gpu-load
mediaplayer
memory
monitor_manager
volume-pulseaudio
usb
ssid
wifi
yay -S ttf-symbola 提供许多 Unicode 符号,包括 Emoji
SSH
yay -S openssh
ssh服务端配置文件 : /etc/ssh/sshd_config
# 只允许某些用户访问
AllowUsers 用户1 用户2
# 只允许某些用户组访问
AllowGroups 用户组1 用户组2
#禁用root登录
PermitRootLongin no
开机启动 : sudo systemctl enable sshd
重启服务 : sudo systemctl restart sshd