logo 范 · 拾光录
网址收集 关于作者 Github Gitee
杂文随笔4
Hexo博客:基础使用Hexo博客:Next主题Hexo博客:Next进阶使用Hexo博客:Next高级配置
前端编程3
前端基础知识16
UniApp15
Vue框架19
Java编程7
Java基础知识14
SpringBoot31
SpringMVC14
MyBatis8
SpringCloud15
RocketMQ1
MyCat1
数据库4
MySQL6
Redis7
MongoDB10
H21
Java技术栈4
知识整理分布式锁的实现方案MySQL事务MySQL的锁
软件工具箱14
IDEAGitMavenGradleNginx安装Nginx配置JMeter压测OllamaPicGoRustFSVSCodeDockerObsidianObs录制
Linux知识11
树莓派安装及使用ArchLinux:常用软件ArchLinux:基础系统安装ArchLinux:深度优化ArchLInux:图形化界面安装ArchLinux:Nirifrp内网穿透Jar启动脚本Linux常用命令VirtualBox安装CentOSVirtualBox安装Ubuntu
Python编程6
Python基础知识Python语法yolo目标检测OpenCV的使用及树莓派平台condauv
创意设计2
Blender:入门知识UI设计基础知识
AI相关9
Claude CodeHermes AgentOpenAI基本使用OpenAI工具调用OpenAI记忆管理OpenAI推理执行OpenAI开发框架Langchainllama.cpp

vim

配置,针对当前用户在在配置.vimrc,全局配置文件在/etc/vimrc

syntax on                     " 设置语法高亮
set nu                        " 设置行数显示
set tabstop=2                 " 设置tab缩进长度
set noautoindent              " 关闭自动缩进
set nosmartindent             " 关闭智能缩进
set nocindent                 " 关闭 C 语言风格缩进
set indentkeys=               " 清空缩进触发键

操作方式

普通模式:esc
编辑:ia
保存退出(普通模式):wq
强制退出(普通模式):q!
复制一行(普通模式):yy
粘贴(普通模式):p  或者 ctrl+shift+v
如果需要复制到剪贴板,可以使用cat
多窗口:
:tabnew
:e filename
gt   切换
5gt  指定第几个窗口切换
跳到指定行数:100G
首行:gg
尾行:G

git

# 提交日志查看,按q退出
git log
# 强制重置本地分支,与远程分支完全一致,丢弃所有本地未提交的更改
git reset --hard origin/master
# 查看分支
git branch
# 创建分支
git branch name
# 删除分支
git branch -d branch_name
# 切换分支,会显示对比的文件
git checkout name
# 加入到暂存区
git add name
git add *
# 提交到暂存区
git commit -m ''
# 融合分支
git merge bra_name -m 'msg'
# 仓库状态
git status
# 回退
git reset --hard 日志中的版本号
# 回退后的残余文件清理
# 查看所有未被跟踪的文件
git clean -n  # 先预览哪些文件会被删除(安全检查)
# 强制删除所有未被跟踪的文件和目录
git clean -df
# 推送
git push
# 回退后强制推送
git push --force

# 检查远程分支
git branch -r
# 切换到远程分支,分别是本地名称,远程名称
git checkout -b project-admin origin/project-admin

合并冲突

sudo pacman -S kdiff3
git config --global merge.tool kdiff3

每次都输入密码问题,指定缓存会话时间(秒)

git config --global credential.helper cache

picom合成器

sudo pacman -S picom支持透明,但是一定要在输入法之前,否则输入法在终端中无法使用

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

feh --bg-scale ~/img/09.jpg &

fcitx5 &

picom &

while true
do
  power=$(cat /sys/class/power_supply/BAT0/capacity)%
  volume=$(amixer get Master | awk -F'[][]' '/%/ { print $2 }' | head -n 1)
  light=$(cat /sys/class/backlight/nvidia_0/brightness)%
  cpu=$(top -bn1 | sed -n '3p' | tr -s '[:space:]' | cut -d' ' -f2)%
  mem=$(free -m | sed -n '2p' | tr -s '[:space:]' | cut -d' ' -f3)MB
  disk_total=$(df -hl | sed -n '5p' | tr -s '[:space:]' | cut -d' ' -f2)
  disk_use=$(df -hl | sed -n '5p' | tr -s '[:space:]' | cut -d' ' -f3)
  # 需要安装iw
  wifi_name=$(iw dev wlan0 link | grep "SSID" | cut -d' ' -f2-)
  #adjusted_time=$(date -d "$(date +"%F %R") -7 hours" +"%F %R")
  adjusted_time=$(date +"%F %R")
  xsetroot -name " $wifi_name  󰠖 $cpu  󰬔 $mem   $disk_use/$disk_total$volume  󰌵 $light$power  $adjusted_time"
  sleep 1s
done &

exec dwm

调整圆角,sudo vim /etc/xdg/picom.conf

corner-radius = 8

声音

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

检查声卡
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  # 图形控制

截图

sudo pacman -S flameshot
flameshot gui  # 启动交互式截图

DWM按键绑定

{ MODKEY|ShiftMask, XK_s, spawn, SHCMD("flameshot gui") },

锁屏

sudo pacman -S slock

slock

微信

使用aur进行安装微信aur仓库

dwm绑定音量

/* volume */
static const char *volumeedadd[] = { "amixer", "set", "Master", "10%+", NULL };
static const char *volumeedsub[] = { "amixer", "set", "Master", "10%-", NULL };

{ MODKEY,                       XK_F3,     spawn,          {.v = volumeedadd } },
{ MODKEY,                       XK_F2,     spawn,          {.v = volumeedsub } },

dwm绑定亮度

/* light */
static const char *lightedadd[] = { "backlight", "+10", NULL };
static const char *lightedsub[] = { "backlight", "-10", NULL };

{ MODKEY,                       XK_F6,     spawn,          {.v = lightedadd } },
{ MODKEY,                       XK_F5,     spawn,          {.v = lightedsub } },

增加backlight脚本, mkdir ~/.local/binvim ~/.local/bin/backlight

#!/bin/sh
# 调整亮度(参数:+10, -10, 或具体数值如 50)
case "$1" in
  +*)
    new=$(($(cat /sys/class/backlight/nvidia_0/brightness) + ${1#+}))
                ;;
        -*)
                new=$(($(cat /sys/class/backlight/nvidia_0/brightness) - ${1#-}))
                ;;
        *)
                new=$1
                ;;
esac
echo "$new" | tee /sys/class/backlight/nvidia_0/brightness

chmod +x ~/.local/bin/backlight

添加到环境变量,sudo vim /etc/profile,增加

export PATH=$PATH:/home/fan/.local/bin

此时注意,屏幕的调整是需要root权限的,而编写的脚本是绑定的按键,无法输入命令,需要修改权限问题,根据Wiki的背光文档

sudo vim /etc/udev/rules.d/backlight.rules,增加以下内容,wheel是用户组

ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chgrp wheel $sys$devpath/brightness", RUN+="/bin/chmod g+w $sys$devpath/brightness"

重启

如果无效,在.xinitrc执行exec dwm前加上

export PATH="$PATH:$HOME/.local/bin"

IDEA

用于Java编程,常见数据库都能连接,如MySQL,Redis

IDEA aur地址

缩放,适应个人字体大小

WPS

WPS aur地址

VsCode

sudo pacman -S code

透明背景插件
GlassIt-VSC
缩放在设置中搜索zoom
0.3

node

官网下载解压tar -xvf node-xx,配置环境变量,sudo vim /etc/profile

export PATH=$PATH:/home/fan/work/node-v22.14.0-linux-x64/bin

JDK

sudo pacman -S jdk17-openjdk

SSH

sudo pacman -S openssh

# 使用
ssh root@8.137.9.75 -p 22

文件传输

scp file user@host:/path        # 上传
scp user@host:/path/file ./      # 下载(./当前文件夹)
rsync -avzP /local user@host:/remote  # 增量同步

配置代理

同步系统时间:sudo timedatectl set-ntp true

根据放心云的Linux教程进行配置,然后就可以使用了,

sudo pacman -S clash

然后在放心云找到linux安装方式中下载clash.yaml
运行一次clash -f clash.yaml后,会出现配置文件并启动,如果网不好,需要多运行几次下载文件

但是Chrome浏览器需要手动指定代理才可以,一定要关闭所有浏览器重新打开

google-chrome-stable  --proxy-server="127.0.0.1:7890"

在环境变量路径~/.local/bin下增加chrome-proxy

google-chrome-stable --proxy-server="http://127.0.0.1:7890" > /dev/null 2>&1 &

即可启动代理,一定要关闭所有浏览器重新打开

临时生效
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"

持久化配置:
将上述命令添加到 ~/.bashrc ~/.zshrc 或 /etc/environment

微信开发者工具

wechat-devtools aur

无法安装问题:

☁  wechat-devtools-git [master] makepkg -si
==> 正在创建软件包:wechat-devtools-git 2.01.2510260-3 (2026年01月23日 星期五 10时12分34秒)
==> 正在检查运行时依赖关系...
==> 正在检查编译时依赖关系
==> 获取源代码...
  -> 正在下载 WeChat_Dev_Tools_v2.01.2510260-continuous-3.tar.gz...
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
  0      0   0      0   0      0      0      0                              0
100 306.1M 100 306.1M   0      0 15.60M      0   00:19   00:19         25.12M
  -> 找到 wechat-devtools.desktop
  -> 找到 wechat-devtools.png
  -> 找到 wechat-devtools.sh
  -> 找到 wechat-devtools-cli.sh
==> 正在验证 source 文件,使用md5sums...
    WeChat_Dev_Tools_v2.01.2510260-continuous-3.tar.gz ... 失败
    wechat-devtools.desktop ... 通过
    wechat-devtools.png ... 通过
    wechat-devtools.sh ... 通过
    wechat-devtools-cli.sh ... 通过
==> 错误: 一个或多个文件没有通过有效性检查!
☁  wechat-devtools-git [master]

解决办法,自动更新校验

# 确保已安装 pacman-contrib
sudo pacman -S pacman-contrib

# 在 PKGBUILD 所在目录运行
updpkgsums

# 然后再构建
makepkg -si

wifi名称显示

# 需要安装iw(sudo pacman -S iw)
wifi_name=$(iw dev wlan0 link | grep "SSID" | cut -d' ' -f2-)

pycharm

pycharmpycharm aur

pip

sudo pacman -S python-pip

# 安装 pipx
sudo pacman -S python-pipx

# 初始化 pipx
pipx ensurepath

# 安装 ultralytics
pipx install ultralytics

虚拟环境

# 创建虚拟环境
python -m venv .venv

# 激活虚拟环境(Linux/macOS)
source .venv/bin/activate

# 激活虚拟环境(Windows)
.\.venv\Scripts\activate

# 安装依赖
pip install --upgrade -r requirements.txt

强制重新安装 Cython 并清理缓存
pip install --force-reinstall Cython
pip cache purge  # 清除 pip 缓存

尝试 pynini 的更新版本
pip install --upgrade pynini

# 确保安装了最新构建工具
pip install --upgrade pip setuptools wheel

# 强制重新安装 Cython 并明确指定构建选项
pip install --force-reinstall Cython==3.0.12
pip install pynini==2.1.5 --no-build-isolation --no-cache-dir

picom升级

通过aur安装v12版本 https://aur.archlinux.org/picom-git.git
~/.config/picom/picom.conf


# 使用 GPU 加速
backend = "glx";
# 防止撕裂
vsync = true;

use-damage = true;
experimental-backends = true;

# 圆角设置
corner-radius = 6;
# 排除 DWM 状态栏
rounded-corners-exclude = ["class_g = 'dwm'"];

# 启用模糊效果
blur-background = true;
blur-method = "dual_kawase";
blur-strength = 5;

# 阴影和透明度
shadow = true;
shadow-radius = 10;
shadow-opacity = 0.6;
inactive-opacity = 0.9;

# 淡入淡出效果
fading = true;
fade-in-step = 0.02;
fade-out-step = 0.02;
fade-delta = 5;

增加模糊、状态栏不圆角

清理系统

清理包缓存
sudo pacman -Scc
删除孤立依赖包(不再被任何包需要的依赖)
sudo pacman -Rns $(pacman -Qdtq)
清理 ~/.cache 目录
rm -rf ~/.cache/*
清理旧的内核版本
查看已安装的内核
pacman -Q linux
删除旧内核(保留当前使用的和最新的一两个版本)
sudo pacman -R linux-版本号
清理日志文件
sudo journalctl --vacuum-size=50M

使用 paccache 工具(来自 pacman-contrib 包)
sudo pacman -S pacman-contrib
保留最近3个版本的包缓存:
paccache -r
删除所有未安装包的缓存:
paccache -ruk0

查找大文件
find / -type f -size +100M -exec ls -lh {} \;

蓝牙

https://wiki.archlinuxcn.org/wiki/%E8%93%9D%E7%89%99%E8%80%B3%E6%9C%BA

解压缩

压缩
tar cvf dist.tar dist
解压
tar -xvf dist.tar
不要文件夹
tar -xvf dist.tar --strip-components=1

光标配置

https://wiki.archlinuxcn.org/wiki/%E5%85%89%E6%A0%87%E4%B8%BB%E9%A2%98

自己使用的光标

https://www.gnome-look.org/p/1356095

下载后

tar xvf volantes-cursors.tar.gz -C ~/.local/share/icons
find ~/.local/share/icons -type d -name "cursors"

mkdir -p ~/.icons/default
sudo vim ~/.icons/default/index.theme

[icon theme] 
Inherits=volantes_cursors

sudo vim ~/.config/gtk-3.0/settings.ini

[Settings]
gtk-cursor-theme-name=volantes_cursors

重启x

obs

sudo pacman -S obs-studio

vlc

sudo pacman -S vlc

噪声抑制

kdenlive剪辑

sudo pacman -S kdenlive

blender

sudo pacman -S blender

快照

https://wiki.archlinuxcn.org/wiki/Timeshift

# 安装
sudo pacman -S timeshift
# 图形化使用
sudo timeshift-launcher

Jetbrains字体

https://www.jetbrains.com/lp/mono/

小米字体

https://hyperos.mi.com/font/zh/details/sc/

带动画的picom

https://yaocc.cc/linuxpicomanimation/

git clone https://github.com/yaocccc/picom
cd picom

rm -rf build
LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" meson --buildtype=release . build
# sudo pacman -S pcre
ninja -C build
sudo ninja -C build install

steam

sudo pacman -Syu

启用 Multilib 仓库(如果尚未启用)Steam 是 32 位应用程序,需要启用 multilib 仓库
sudo vim /etc/pacman.conf

取消注释以下两行(删除前面的 #)
[multilib]
Include = /etc/pacman.d/mirrorlist

sudo pacman -Sy

sudo pacman -S steam

启动 Steam
steam

图片处理

ps的替代

sudo pacman -S gimp

或者在线PS

https://www.photopea.com/

vim
git
picom合成器
声音
截图
锁屏
微信
dwm绑定音量
dwm绑定亮度
IDEA
WPS
VsCode
node
JDK
SSH
配置代理
微信开发者工具
wifi名称显示
pycharm
pip
picom升级
清理系统
蓝牙
解压缩
光标配置
obs
vlc
kdenlive剪辑
blender
快照
Jetbrains字体
小米字体
带动画的picom
steam
图片处理