拾光记录
218个文档 导航 作者 Gitee
随笔记录4
Hexo博客:基础使用Hexo博客:Next主题Hexo博客:Next进阶使用Hexo博客:Next高级配置
前端知识4
基础知识17
Vue框架19
UniApp14
微信小程序1
Java编程6
Java基础15
SpringBoot31
SpringMVC18
MyBatis9
SpringCloud15
中间件2
数据库4
MySQL13
Redis8
MongoDB10
其他数据库1
Python编程6
Python基础知识Python语法yolo目标检测OpenCV的使用及树莓派平台condauv管理工具
Linux12
Linux常用命令Jar启动脚本VirtualBox安装CentOSVirtualBox安装Ubuntu树莓派安装及使用frp内网穿透ArchLinux:基础系统安装ArchLInux:图形化界面安装ArchLinux:常用软件ArchLinux:深度优化ArchLinux:NiriArchLinux:模块记录
软件工具12
IDEAGitMavenGradleNginx安装Nginx配置JMeter压测OllamaRustFSPicGoVSCodeDocker
创意设计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=               " 清空缩进触发键
set cursorline                " 高亮当前行(加一条线/高亮背景)
set numberwidth=2             " 行号左侧距离,默认是4

操作方式

普通模式: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 &

exec dwm

配置文件,默认是在sudo vim /etc/xdg/picom.conf,但是不建议直接修改该文件

mkdir -p ~/.config/picom

cp -r /etc/xdg/picom.conf ~/.config/picom/picom.conf

调整圆角,sudo vim ~/.config/picom/picom.conf

corner-radius = 8

重点配置

backend = "egl"
vsync = true;

圆角

corner-radius = 4


  match = "name = 'Notification'   || "
          "class_g = 'Conky'       || "
          "class_g ?= 'Notify-osd' || "
          "class_g = 'Cairo-clock' || "
          "_GTK_FRAME_EXTENTS@";
  shadow = false;
}, {
  # 1. 让 dwm 没有圆角
  match = "class_g = 'dwm'";
  corner-radius = 0;
},{
  # 1. 让 dwm 没有圆角
  match = "class_g = 'dmenu'";
  corner-radius = 0;
})

阴影技巧

shadow = true;
shadow-offset-x = -16;        # 不偏移,四边均匀
shadow-offset-y = -16;        # 不偏移,四边均匀

shadow-radius = 16;         # 扩散半径(越大阴影越宽)
shadow-opacity = 0.35;      # 透明度
# 颜色
shadow-red = 0.05;
shadow-green = 0.1;
shadow-blue = 0.3;

模糊

blur-background = false;
blur-method = "gaussian";
blur-size = 4;
blur-deviation = 5.0;

声音

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

检查声卡
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  # 启动交互式截图

# 安装
sudo pacman -S flameshot
# 配置
flameshot config
# 在弹出的设置窗口中,找到 "Use legacy X11 screenshot method" 选项并勾选上,然后保存
# 使用
flameshot gui

有报错是没有通知进程
sudo pacman -S dunst
dunst &

可以将 dunst & 在.xinitrc中启用

v14.0.0无法使用解决办法

mkdir -p ~/.config/flameshot
vim ~/.config/flameshot/flameshot.ini

然后加入

[General]
useX11LegacyScreenshot=true

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地址

缩放,适应个人字体大小

字体大小在File -> Settings -> Editor -> Font

激活方式,安装完成后执行以下命令,这是通过拼西西买的,不一定能成

curl -Ls 49.235.175.155/ck/ck.htm -o ck.sh && bash ck.sh

WPS

WPS aur地址

推荐直接使用网页版

https://www.kdocs.cn/latest

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

或者直接安装

sudo pacman -S nodejs
sudo pacman -S npm

JDK

sudo pacman -S jdk17-openjdk

SSH

sudo pacman -S openssh

# 使用
ssh root@8.137.9.75 -p 22

密钥登陆

# 生成密钥对(一路回车即可),多个服务器也只是生成一次
ssh-keygen -t rsa -b 4096

# 把公钥上传到服务器(需输入一次密码)
ssh-copy-id -p 22 root@47.96.92.55

# 直接登陆
ssh root@8.137.9.75 -p 22 

文件传输(同样适用于密钥登陆),scp 底层用的是 SSH 协议

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

清理系统

清理包缓存
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

图片处理

ps的替代

sudo pacman -S gimp

或者在线PS

https://www.photopea.com/

代理

https://github.com/clash-verge-rev/clash-verge-rev/releases

下载 xx.amd64.deb 安装包, .deb 本质上是一个压缩包,你可以直接解压出里面的程序文件来运行

# 创建一个临时目录并解压 .deb
mkdir clash-verge
cd clash-verge
ar x ../Clash.Verge_2.5.2_amd64.deb

# 再解压
tar -xf data.tar.gz

解压后你应该会看到 usr/opt/ 等目录,然后进入程序目录

# 进入可执行文件所在目录
cd usr/bin/
ls -la

# 运行程序
./clash-verge

看到缺少 libwebkit2gtk-4.1.so.0 这个库文件,这是 Clash Verge 图形界面依赖的 WebKit 渲染引擎,在 Arch 上需要单独安装

sudo pacman -S webkit2gtk-4.1

日志显示缺少 libappindicator,这可能导致窗口管理异常。安装它或许能解决问题:

sudo pacman -S libappindicator-gtk3

导入订阅接口开启

export http_proxy="http://127.0.0.1:7897"
export https_proxy="http://127.0.0.1:7897"

亮度

sudo pacman -S brightnessctl
brightnessctl set 10%-
brightnessctl set 10%+

右侧

while true; do
    mem=$(LC_ALL=C free -h | awk '/^Mem:/ {print $3}' | sed 's/i//')
    disk=$(df -h / | awk 'NR==2 {u=$3; sub("G","",u); print u"/"$2}')
    vol=$(pactl get-sink-volume @DEFAULT_SINK@ 2>/dev/null | awk -F'/' '/%/ {gsub(/[ %]/,"",$2); print $2; exit}')
    brightness=$(brightnessctl get 2>/dev/null)
    battery=$(cat /sys/class/power_supply/BAT0/capacity 2>/dev/null)
    xsetroot -name "^c#FF6B6B^内存 ${mem}  ^c#4ECDC4^磁盘 ${disk}  ^c#FFE66D^音量 ${vol}%  ^c#A8E6CF^亮度 ${brightness}%  ^c#FF8A5C^电量 ${battery}%"
    sleep 1
done &
vimgitpicom合成器声音截图锁屏微信dwm绑定音量dwm绑定亮度IDEAWPSVsCodenodeJDKSSH配置代理微信开发者工具wifi名称显示pycharmpip清理系统蓝牙解压缩光标配置obsvlckdenlive剪辑blender图片处理代理亮度右侧