logo 范 · 拾光录
网址收集 关于作者 Github Gitee
杂文随笔5
Hexo博客:基础使用Hexo博客:Next主题Hexo博客:Next进阶使用Hexo博客:Next高级配置基于Node的WIKI管理
前端知识16
HTML常用知识CSS常用知识CSS美化checkbox复选框JavaScript常用知识JavaScript格式化时间戳JavaScript窗口宽高处理JavaScript黑夜主题切换实现方案JavaScript数字转大写简易图片查看器TypeScript基础知识Threejs基础三要素Threejs网格辅助和轨道控制器Threejs物体绘制Electron基础使用Nodejs基础知识animate.css页面动画
Vue框架19
Vite的使用及扩展Vue3父子组件Vue3使用Marked解析MarkdownMermaid图表生成库初始化页面加载动画Axios表单提交二维码解决方案NProgress加载进度条Vue3动态菜单实现Vue3使用ECharts图表Vue3处理Excel导入导出keep-alive页面缓存及setup问题Element:文件上传Element:结合Pinia实现动态菜单Element:图片上传组件Element:自定义统一弹窗组件Element:表格自定义指令控制按钮显示(鉴权)可视化大屏使用缩放适配分辨率
UniApp15
UniApp的基础使用封装网络请求工具及文件上传uni-app的开发记录微信小程序分享原生文件上传Pinia取消滚动条(兼容小程序)tabbar消息数量显示scroll-view上滑到底部加载数据状态栏高度动态设配数据共享与传递uview-plus导航栏实现背景融合Wot UIWot UI实现顶部背景图融合uni-app x
Java基础知识10
基础知识面向对象Lambda表达式常用API常用知识积累try-with-resource注解反射多线程经纬度距离计算
SpringBoot31
application配置Maven创建聚合项目全局异常处理锁机制项目启动初始化数据方式邮件功能集成原生定时任务异步集成阿里云OSS阿里OSS预签名上传基于hutool读excelJSR303WebSocketWebSocket版AI接口流式调用Smart-Doc接口文档生成器application配置信息加密雪花算法工具AOP实现请求参数脱敏思路JWT生成Token及工具类SpringBoot默认JSON与对象转换若依框架:安装使用若依框架:优化和调整文件上传若依框架:管理后台页面优化若依框架:后端接口代码优化SpringAISpringBoot实现AI接口流式调用服务启动时创建MySQL连接自建项目工程树形结构处理工具微信支付代码微信手机号登录
SpringMVC14
跨域处理拦截器RESTful风格伪前后端分离Jackson转换器调整Thymeleaf基于拦截器做权限校验AOP打印接口请求响应日志AOP打印接口请求响应耗时文件上传和回显POST请求加解密实现(AES)POST请求加解密实现(RSA+AES)参数动态校验实现方案真实IP和归属地
MyBatis8
MyBatis基本使用与配置Mapper使用相关MaBatis多数据源配置MyBatisPlus数据统计类处理方案MyBatisPlus条件查询正向工程的实现(H2)mybatis-plus-join
SpringCloud15
Netflix:微服务与搭建Netflix:服务的消费与提供Netflix:EurekaNetflix:ActuatorNetflix:RibbonNetflix:FeignNetflix:HystrixNetflix:ZuulAlibaba:简介与搭建Alibaba:Nacos注册中心Alibaba:RibbonAlibaba:OpenFeignAlibaba:Nacos配置中心Alibaba:GetewayAlibaba:Sentinel
MySQL6
MySQL基础知识MySQL多表查询与事务MySQL常用函数及解决方案MySQL视图MySQL索引安装MySQL
Redis7
Redis介绍和安装Redis配置文件Redis持久化Redis集群Redis语法基础Redis相关问题及解决方案SpringBoot集成Redis使用记录
MongoDB10
Linux安装MongoDBMongoDB基础语法MongoTemplate及SpringBoot配置MongoTemplate中Update操作MongoTemplate中聚合查询MongoTemplate日期归档示例项目使用相关知识归纳地理位置存储与距离查询MongoDB副本集与事务获取类名和属性名工具类
其他数据库1
H2数据库
Python编程6
Python基础知识Python语法yolo目标检测OpenCV的使用及树莓派平台condauv
工具集合13
IDEAMavenGradleGitNginx安装Nginx配置VSCodeJMeter压测DockerOllamaRustFSPicGoObs录制
Linux知识11
Linux常用命令Jar启动脚本VirtualBox安装CentOSVirtualBox安装Ubuntu树莓派安装及使用frp内网穿透ArchLinux:基础系统安装ArchLInux:图形化界面安装ArchLinux:常用软件ArchLinux:深度优化ArchLinux:Niri
创意设计2
Blender:入门知识UI设计基础知识
AI相关9
Claude CodeHermes AgentOpenAI基本使用OpenAI工具调用OpenAI记忆管理OpenAI推理执行OpenAI开发框架Langchainllama.cpp

安装xorg

目前来说这个比较稳定

sudo pacman -S xorg xorg-xinit xorg-server

然后复制配置文件到当前用户

cp /etc/X11/xinit/xinitrc ~/.xinitrc

再修改~/.xinitrc注释掉twm及其之后内容,然后添加exec dwm的图形界面环境

chmod +x ~/.xinitrc
vim ~/.xinitrc

使用到的软件

sudo pacman -S git        (拉取代码)
sudo pacman -S chromium   (浏览器,启动前记得改/etc/locale.conf为zh_CN)
sudo pacman -S code       (VSCode)

dwm和st

suckless官网,dwm是平铺窗口管理器,st是其默认的终端

git clone https://git.suckless.org/dwm
git clone https://git.suckless.org/st

sudo make clean install

在安装xorg后使用startx即可进入DWM环境,但是注意进入后没有dmenu的情况下只能alt shift enter打开终端操作,退出是model + shift + q

如果安装了dmenu(pacman -S dmenu)使用model + p可以搜索应用

如果想在登录后直接进入dwm,可在/etc/profile末尾加startx;

dwm默认快捷键:

退出DWM:mod + shift + q

打开新终端:Alt + Shift + Enter
关闭一个窗口:Alt + Shift + C
窗口横向排列:Alt + D
窗口竖向排列:Alt + I
窗口位置互换:Alt + Enter
在窗口间切换:Alt + J 或 Alt + K
改变窗口的长度/比例:Alt + H 或 Alt + L
平铺模式:Alt + T
单窗口模式:Alt + M
浮动模式:Alt + F
窗口模式切换:Alt + 空格 或 Alt + Shift + 空格
移动窗口:alt + shift + 4 (焦点窗口)

窗口移动:alt 鼠标左键移动
窗口大小:alt 鼠标右键移动
浮动模式的窗口聚焦:alt 鼠标左键点击

st默认快捷键

ctrl shift pgup 放大
ctrl shift pgdn 缩小

dwm和st补丁

将补丁下载到dwm或st代码目录下,使用命令

patch < xxxx

权限调整

sudo chown -R youruser:youruser /path/to/folder

fcitx5输入法

sudo pacman -S fcitx5-im fcitx5-chinese-addons

sudo vim /etc/environment

加上

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus

开机自启,dwm前
~/.xinitrc
fcitx5 &

通过fcitx5-configtool配置

安装中英字体

解压到/home/fan/.local/share/fonts,然后使用fc-cache -fv安装,可以使用fc-list查看已经安装的字体,fc-list :lang=zh列出中文字体

emoji字体

sudo pacman -S noto-fonts-emoji

https://www.nerdfonts.com/cheat-sheet

安装nvidia驱动

首先确定显卡型号

lspci -k | grep -A 2 -E "(VGA|3D)"

然后根据NVIDIA Wiki安装驱动

sudo pacman -S nvidia-open nvidia-utils libva libva-nvidia-driver

再执行自动配置

sudo nvidia-xconfig

硬件视频加速

sudo vim /etc/profile
在末尾加
# NVIDIA VA-API support
export LIBVA_DRIVER_NAME=nvidia
export VDPAU_DRIVER=nvidia

最后sudo reboot重启,然后使用nvidia-smi查看是否安装成功

分辨率和刷新率

# 查看输出设备
xrandr -q

[fan@Arch ~]$ xrandr -q
Screen 0: minimum 8 x 8, current 2560 x 1600, maximum 32767 x 32767
DP-0 disconnected primary (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-2 connected 2560x1600+0+0 (normal left inverted right x axis y axis) 344mm x 215mm
   2560x1600     60.00*+ 165.00

# 选择输出设备
xrandr --output DP-2 --mode 2560x1600 --rate 165.00

注意:如需开机启动生效,需要配置到.xinitrc中,最好靠前些

xrandr --output DP-2 --mode 2560x1600 --rate 165.00 &

显示比列

创建并编辑vim ~/.Xresources

Xft.dpi: 110

触摸板配置

sudo pacman -S xf86-input-synaptics

wiki文档

/usr/share/X11/xorg.conf.d/70-synaptics.conf新增

Section "InputClass"
       Identifier "touchpad"
       Driver "synaptics"
       MatchIsTouchpad "on"
              Option "TapButton1" "1"
              Option "TapButton2" "3"
              Option "TapButton3" "2"
              Option "VertEdgeScroll" "on"
              Option "VertTwoFingerScroll" "on"
              Option "HorizEdgeScroll" "on"
              Option "HorizTwoFingerScroll" "on"
              Option "CircularScrolling" "on"
              Option "CircScrollTrigger" "2"
              Option "EmulateTwoFingerMinZ" "40"
              Option "EmulateTwoFingerMinW" "8"
              Option "FingerLow" "30"
              Option "FingerHigh" "50"
              Option "MaxTapTime" "125"
              Option "VertScrollDelta"          "-200"
              Option "HorizScrollDelta"         "-200"
EndSection

注意:粘贴前使用:set paste防止自动换行

声音

经过很久测试,我的笔记本是核显加独显,需要核显进行声音播放才可

检查声卡
lspci -v | grep -i audio

需要包含核显声卡和独显声卡,输出示例:
00:1f.3 Audio device: Intel Corporation Alder Lake PCH-P High Definition Audio Controller
01:00.1 Audio device: NVIDIA Corporation GA106 High Definition Audio Controller
安装基础驱动 (必须,声音工具包、)

sudo pacman -S alsa-utils alsa-firmware sof-firmware

alsa-utils  声音工具包
alsa-firmware  传统声卡固件,支持独显声卡
sof-firmware 专为现代 Intel/AMD 平台的 DSP(数字信号处理器)设计,常见于新式笔记本或主板(如 Intel Skylake 后核显声卡)

加载驱动模块:
sudo modprobe snd_hda_intel  # Intel 声卡

安装 PipeWire
sudo pacman -S pipewire pipewire-alsa pipewire-pulse wireplumber

启用服务:
systemctl --user enable --now pipewire pipewire-pulse

检查状态:
pactl info  # 确认是否运行

此处需要重启才能在下面alsamixer中看见master
查看核显声卡是否已经加载
lsmod | grep snd_hda_intel
检查音频设备列表(确定intel关键字存在)
lspci -k | grep -A 5 Audio

检查声卡状态:
alsamixer  # 按 `F6` 选择声卡,取消静音(MM 表示静音,按 `M` 切换)(音量控制)
选择声卡
列出所有设备,此处确保intel声卡被显示才可以
aplay -l
设置默认声卡(编辑 /etc/asound.conf 或 ~/.asoundrc)
echo 'defaults.pcm.card 1' >> ~/.asoundrc  # 将 1 替换为你的声卡编号  带有sof-hda-dsp

card 1: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []

重启

测试音频
speaker-test -c 2  # 测试立体声

命令查看和控制音量

amixer get Master | awk -F'[][]' '/%/ { print $2 }' | head -n 1  # 音量
amixer set Master 5%+   # 增加 5%
amixer set Master 5%-   # 降低 5%
amixer set Master toggle  # 切换静音

alsamixer  # 图形控制

挂载磁盘

如果是NEFS格式的磁盘需要先下载

sudo pacman -S ntfs-3g

然后使用mount /dev/sda1 ~/doc即可临时挂载,重启后失效

想开机有效需要编辑/etc/fstab

/dev/sda1 /home/fan/doc ntfs-3g users,uid=1000,gid=100,fmask=0113,dmask=0002,locale=zh_CN.utf-8 0 0

然后可以正常挂载和使用

壁纸

使用feh可以查看图片和设置壁纸

sudo pacman -S feh
feh --bg-scale ~/Downloads/bg.jpg

可以设置在~/.xinitrc中启动有效

feh --bg-scale ~/Downloads/bg.jpg &

zsh

# 安装zsh
sudo pacman -S zsh
# 初始配置,按0
zsh
# 设置为默认shell,重启
chsh -s /usr/bin/zsh

Oh My Zsh

# 浏览器访问国内地址下载,保存为 install.sh
https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh
chmod +x install.sh
./install.sh

.zshrc中配置主题,在ohmyzsh查看自己喜欢的主题

ZSH_THEME="cloud"

启用插件

# 语法高亮
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# 自动补全
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# 然后在 ~/.zshrc 中启用
plugins=(git zsh-syntax-highlighting zsh-autosuggestions)
# 刷新配置
source ~/.zshrc

调整提示差距的颜色,在.zshrc中加上

ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#8A8A72"

ranger

终端下的文件管理器,sudo pacman -S ranger,直接使用ranger即可

生成配置文件

ranger --copy-config=all

位于~/.config/ranger/rc.conf

设置显示隐藏文件和图片

set show_hidden true
set preview_images true
set preview_images_method w3m

图片的显示需要安装w3m

设置边框

set draw_borders both

设置图标

git clone https://github.com/alexanderjeurissen/ranger_devicons ~/.config/ranger/plugins/ranger_devicons
echo "default_linemode devicons" >> $HOME/.config/ranger/rc.conf

rofi

主题通过rofi-theme-selector进行选择,alt+a保存

图标配置
~/.config/rofi/config.rasi

@theme "/usr/share/rofi/themes/gruvbox-dark-soft.rasi"

configuration {
    show-icons: true;
}

个人主题配置

mkdir -p ~/.local/share/rofi/themes/
cd ~/.local/share/rofi/themes/

vim rounded-common.rasi

/* ROUNDED THEME FOR ROFI */
/* Author: Newman Sanchez (https://github.com/newmanls) */

* {
    font:   "Roboto 12";

    background-color:   transparent;
    text-color:         @fg0;

    margin:     0px;
    padding:    0px;
    spacing:    0px;
}

window {
    location:       north;
    y-offset:       calc(50% - 300px);
    width:          600;
    border-radius:  4px;

    background-color:   @bg0;
}

mainbox {
    padding:    24px;
}

inputbar {
    background-color:   @bg1;
    border-color:       @bg3;

    border:         2px;
    border-radius:  16px;

    padding:    8px 16px;
    spacing:    8px;
    children:   [ prompt, entry ];
}

prompt {
    text-color: @fg2;
}

entry {
    placeholder:        "Search";
    placeholder-color:  @fg3;
}

message {
    margin:             12px 0 0;
    border-radius:      16px;
    border-color:       @bg2;
    background-color:   @bg2;
}

textbox {
    padding:    8px 24px;
}

listview {
    background-color:   transparent;

    margin:     12px 0 0;
    lines:      8;
    columns:    1;

    fixed-height: false;
}

element {
    padding:        8px 16px;
    spacing:        8px;
    border-radius:  16px;
}

element normal active {
    text-color: @bg3;
}

element alternate active {
    text-color: @bg3;
}

element selected normal, element selected active {
    background-color:   @bg3;
}

element-icon {
    size:           1em;
    vertical-align: 0.5;
}

element-text {
    text-color: inherit;
}

vim rounded-nord-dark.rasi

/* ROUNDED THEME FOR ROFI */
/* Author: Newman Sanchez (https://github.com/newmanls) */

* {
    bg0:    #2E3440F2;
    bg1:    #3B4252;
    bg2:    #4C566A80;
    bg3:    #88C0D0F2;
    fg0:    #D8DEE9;
    fg1:    #ECEFF4;
    fg2:    #D8DEE9;
    fg3:    #4C566A;
}

@import "rounded-common.rasi"

element selected {
    text-color: @bg1;
}

然后运行rofi-theme-selector,找到对应的主题rounded-nerd-dark设置即可

安装xorg
使用到的软件
dwm和st
dwm和st补丁
权限调整
fcitx5输入法
安装中英字体
emoji字体
安装nvidia驱动
分辨率和刷新率
显示比列
触摸板配置
声音
挂载磁盘
壁纸
zsh
Oh My Zsh
ranger
rofi