RAX10切换为“AP 模式”

既然你已经购买了网件 RAX10,虽然它自身无法刷入 OpenWrt,但完全可以将其作为有线 AP(无线接入点),接入到你现有的 OpenWrt 主路由下。这样不仅能利用 RAX10 优秀的 Wi-Fi 6 信号扩大无线覆盖,还能让所有设备都享受 OpenWrt 主路由的各种插件服务(如科学上网、广告拦截、流量统计等)。 以下是具体的设置步骤: 准备工作 在开始之前,不要急着把 RAX10 用网线连到 OpenWrt 上。先用一根网线将你的电脑连接到 RAX10 的 LAN口,或者连接到 RAX10 的默认 Wi-Fi。 [1] 第一步:将 RAX10 切换为“AP 模式” 网件官方固件自带了非常稳定的 AP 模式(Access Point),可以自动关闭自带的路由和 DHCP 功能,变成纯粹的无线交换机。 [2] 打开浏览器,输入 www.routerlogin.net 或 192.168.1.1 进入 RAX10 的后台管理界面。 [3, 4] 依次点击顶部导航栏的 “高级”(ADVANCED) -> “高级设置”(Advanced Setup) -> “无线 AP”(Wireless AP)。 [3] 勾选 “开启 AP 模式”(AP Mode)。 [3] 关于 IP 地址分配的选择: 推荐做法(动态获取):选择“从现有的路由器动态获取 IP 地址”。OpenWrt 主路由会自动给它分配一个 IP,这样设置最省心。 进阶做法(固定 IP):如果希望以后管理 RAX10 更方便,可以选择“使用固定 IP 地址”,填入一个与 OpenWrt 主路由同一网段、但不在主路由 DHCP 分配范围内的 IP(例如 OpenWrt 是 192.168.1.1,RAX10 可以设为 192.168.1.2)。 [2, 5] 点击 “应用”(Apply),RAX10 会自动重启。 [2, 3] ...

2026年10月8日 · 1 分钟 · Yancey

手机远程控制Linux 服务器上的Codex CLI

其实远程服务器上并不需要安装一个完整版的 Codex app,只需要安装 CLI 版的 Codex,并运行: codex remote-control 这样手机上 ChatGPT 应用里的 Codex 就会显示出一个有「终端」图标的服务器名,远程体验与通过 Codex app 配置的远程控制无异。 (Codex app 配置的远程服务器显示为「电脑」图标) Oasis Feng @oasisfeng · 2026-05-15 Finally! 这就是 Codex 部署在 Mac mini 上的价值,环境统一了。 x.com/oasisfeng/stat…

2026年10月8日 · 1 分钟 · Yancey

Emacs快捷键

在 Emacs 中,C- 代表 Ctrl 键,M- 代表 Alt 键(或 Meta 键),S- 代表 Shift 键。 为了让这份快捷键指南更全面、更实用,我基于你提供的网页内容进行系统性的补充与分类优化,增补了 Linux 配置文件路径、高频的基础编辑技巧、现代 Emacs 必不可少的包管理命令,以及文本大小写转换等常用操作。 💡 核心快捷键分类整理(含新增补充) 基础文件与核心操作 C-x C-f:打开或新建文件(Find file) C-x C-s:保存当前文件(Save) C-x C-w:文件另存为(Write file) [新增] C-g:绝对神技!取消当前正在输入的快捷键或命令(Quit) C-x C-c:退出 Emacs(Close) 光标高频移动 C-p / C-n:向上 / 向下移动一行(Previous / Next) C-b / C-f:向左 / 向右移动一个字符(Backward / Forward) M-b / M-f:向左 / 向右移动一个单词 C-a / C-e:移动到当前行的行首 / 行尾 M-a / M-e:移动到当前句子的句首 / 句尾 [更正/补充] M-< / M->:移动到整个文件的开头 / 末尾 C-v / M-v:向下 / 向上翻一页 C-l:循环将当前行滚动至屏幕(中央 ➔ 顶部 ➔ 底部) 文本编辑与块操作 (Region) C-@ 或 C-SPC:设定选择标记起点(Set Mark),配合光标移动来选中区域 [重要补充] M-w:复制选中的区域(Kill ring save) C-w:剪切选中的区域(Kill region) C-y:粘贴剪贴板中的内容(Yank) M-y:在粘贴后按此键,可以循环切换历史复制过的内容 [新增] C-d:删除光标后的一个字符 C-k:从光标处剪切(删除)至行尾 C-/ 或 C-x u:撤销上次操作(Undo) 大小写转换 [全量新增] M-u:将光标后的单词转为全大写(Uppercase) M-l:将光标后的单词转为全小写(Lowercase) M-c:将光标后的单词首字母大写(Capitalize) 搜索与替换 C-s:向前递进式搜索(再按一次跳到下一个匹配项) C-r:向后递进式搜索 M-%:普通查找与替换 C-M-s / C-M-r:向前 / 向后正则表达式搜索 多窗格(Buffer)与窗口管理 支持通过 C-x 2、C-x 3 进行垂直与水平分屏,使用 C-x 0、C-x 1 关闭或最大化窗格,并利用 C-x o、C-x b 等快捷键切换窗格与缓冲区。 现代扩展与包管理(Package) [全量新增] M-x package-refresh-contents:刷新在线插件包仓库列表 M-x package-list-packages:打开图形化插件包管理界面 M-x package-install [包名]:安装指定的 Emacs 插件包 自救与帮助系统 提供包括 C-h k、C-h f、C-h v、C-h w 以及 C-h t 在内的丰富帮助与说明查询快捷键。

2026年9月26日 · 1 分钟 · Yancey

fcitx5-rime 中英文切换修复说明

fcitx5-rime(万象输入法)Shift/CapsLock 中英文切换失效 — 修复说明 1. 原因(Root Cause) 问题不在 rime 的配置,而在 Omarchy/Hyprland 的键盘层把 CapsLock 和 Shift 截胡了。 Omarchy 默认的 Hyprland 配置(/usr/share/omarchy/default/hypr/input.lua)里设置了: local kb_options = "compose:caps,shift:both_capslock_cancel" 它在合成器/XKB 层面(比 fcitx5 更底层)改键: compose:caps 把 CapsLock 键改成了 Compose 键(Multi_key)。按 CapsLock 时,Hyprland 发给 fcitx5 的不是 Caps_Lock,而是 Multi_key。fcitx5-rime 会把它当作组合键 (compose 序列)吞掉,根本不会转发给 rime,所以 rime 里的 Caps_Lock: clear (切换中英)永远收不到这个键。 shift:both_capslock_cancel 双 Shift 组合触发 CapsLock、单 Shift 取消它,干扰了 rime 的“单击 Shift 切换中英” 逻辑。 rime 配置本身是对的(~/.local/share/fcitx5/rime/default.yaml 里 ascii_composer/switch_key 的 Caps_Lock: clear、Shift_L/R: commit_code 都在,且已正确部署到 build/),问题就出在这一层键位重映射上。 2. 修复(What I did) 在用户覆盖文件 ~/.config/hypr/input.lua(原文件已备份)里加了覆盖,清空 kb_options: ...

2026年9月21日 · 1 分钟 · Yancey

开机动画不显示 — 启动日志诊断

开机动画不显示 — 启动日志诊断 诊断日期:2026-09-07 主机:omarchy(Omarchy 4.0.0.r2038.g640c0d4,内核 7.2.3-arch1-3) 显卡:AMD RX 9070(Navi 48 / RDNA4 / DCN 4.0.1,驱动 amdgpu) 显示器:AOC U27N3G6R4B,3840x2160@60,DP-1 诊断结论 开机动画不显示,不是 Plymouth 没安装/没配置——它已正确安装、已打包进 initramfs、启动时也正常运行了。 真正的原因在于 AMD RX 9070(RDNA4)显卡在启动早期(initramfs 阶段)的 KMS 显示初始化不完整,导致 Plymouth 无法把画面渲染到显示器;再加上内核命令行里的 quiet loglevel=0 把 Plymouth 的文本回退模式也一并隐藏,所以整个启动过程表现为黑屏。 日志证据 1. Plymouth 本身是正常、完整的 检查项 结果 软件包 plymouth 26.134.222-2 已安装 主题 omarchy 已设置(/etc/plymouth/plymouthd.conf → Theme=omarchy) initramfs hooks 有效配置 /etc/mkinitcpio.conf.d/omarchy_hooks.conf 含 plymouth + encrypt(注意:/etc/mkinitcpio.conf 里的 HOOKS 会被这个 drop-in 覆盖,所以不能只看主文件) 打包确认 pacman 日志 07:40:29 → Running build hook: [plymouth] 内核参数 已含 quiet splash 和 initramfs_async=0(Omarchy 针对 plymouth 竞态的官方 workaround,已生效) 实际生效的 hook 顺序(来自 pacman 重建日志): ...

2026年9月21日 · 2 分钟 · Yancey

使用 io_uring 高性能异步优化Rclone云盘挂载

通过编写一个 Systemd 用户服务 (User Service) 或 系统服务 (System Service) 来实现开机自动挂载。 由于云盘挂载深度依赖网络以及当前登录用户的权限,最稳妥、优雅的做法是配置为 Systemd 用户服务。这样它会自动在网络就绪以及你的用户登录时启动,且挂载的文件夹直接拥有当前用户的读写权限。 以下是完整的配置步骤: 1. 确认系统 fuse 权限(前置准备) 为了让 Rclone 服务在后台运行时允许其他应用访问(避免权限冲突),我们需要先开启系统的 allow_other 选项: sudo sed -i 's/#user_allow_other/user_allow_other/g' /etc/fuse.conf 2. 创建 Systemd 服务文件 在终端中执行以下命令,直接创建并编辑属于你当前用户的 Systemd 配置文件夹和文件: mkdir -p ~/.config/systemd/user/ nano ~/.config/systemd/user/rclone-mount.service 将以下配置内容复制并粘贴进去(注意修改两处占位符): [Unit] Description=Rclone cmount with io_uring for Omarchy 4.02 Documentation=https://rclone.org After=network-online.target Wants=network-online.target [Service] Type=simple # 注意:请将下面的 your-remote-name: 替换为你在 rclone config 中配置的名称 # 注意:请将 /home/你的用户名/OneDrive 替换为你本地真实的空挂载点绝对路径 ExecStart=/usr/bin/rclone cmount your-remote-name: %h/OneDrive \ --vfs-cache-mode full \ --vfs-cache-max-age 24h \ --vfs-cache-max-size 50G \ --fuse-flag io_uring=on \ --fuse-flag max_read=131072 \ --allow-other \ --log-file=%h/.config/rclone/rclone-mount.log \ --log-level=INFO # 确保在重启或服务停止时干净地卸载,防止目录死锁 ExecStop=/usr/bin/fusermount3 -u %h/OneDrive Restart=on-failure RestartSec=10s [Install] WantedBy=default.target 💡 代码中的 %h 是 Systemd 的原生变量,会自动替换为你的家目录(如 /home/yancheng)。 ...

2026年9月21日 · 1 分钟 · Yancey

哪些dotfiles建议被chezmoi软件管理

使用 chezmoi 管理 dotfiles 时,核心原则是:只管理那些需要跨设备同步、版本控制且配置逻辑相对稳定的文件。 以下是按优先级分类的 chezmoi 最佳实践建议: ✅ 强烈推荐管理 (核心配置) 这些文件通常包含你的编辑器习惯、版本控制设置、系统偏好等,是 dotfiles 的“骨架”。 编辑器配置 ~/.config/nvim/ (Neovim):你的 init.vim 或 init.lua。 ~/.config/vim/ (Vim):vimrc。 ~/.config/karabiner/ (Karabiner-Elements):Mac 键盘映射。 ~/.config/hypr/ (Hyprland):Hyprland 配置。 ~/.config/fish/ (Fish Shell):config.fish。 版本控制与开发工具 ~/.gitconfig:Git 全局设置。 ~/.ssh/:SSH 密钥和配置(注意:chezmoi 会加密文件,但绝对不要上传私钥 id_rsa 等,建议仅管理 config 和 id_ed25519.pub 等公钥)。 ~/.config/starship.toml:Shell 提示符样式。 ~/.config/tmux/:Tmux 配置。 系统偏好 ~/.bashrc / ~/.zshrc:Shell 初始化(建议只管理 source 的部分,或者确保逻辑清晰)。 ~/.config/gtk-3.0/settings.ini:GTK 外观配置。 ~/.config/waybar/:Wayland 状态栏。 ⚠️ 谨慎管理 (需特殊处理) 这些文件容易因环境不同而失效,或者包含敏感信息。 环境变量 (~/.bashrc, ~/.zshrc 等) 建议:不要直接在 chezmoi 中写死 export PATH=...。使用 chezmoi 的 {{ .chezmoi.os }} 或 {{ .chezmoi.homeDir }} 模板功能来适配不同系统。 技巧:将环境变量提取到 ~/.config/chezmoi/chezmoi.toml 或单独的 env.toml 模板文件中,通过 chezmoi 生成 ~/.bashrc 时注入。 SSH 密钥 绝对禁止:将 ~/.ssh/id_rsa 等私钥放入 Git 仓库。 方案:使用 chezmoi 的加密功能(chezmoi add --encrypted),或者更推荐的方式是:让 chezmoi 生成 ~/.ssh/config 文件,而私钥通过其他安全渠道(如 ssh-agent 或物理传输)在首次设置时生成。 本地路径相关的配置 例如 ~/.config/spotify/scripts/... 或特定的 IDE 项目目录。 方案:使用 {{ .chezmoi.homeDir }} 变量来替代硬编码路径。 ❌ 不建议管理 (动态或高度敏感) 自动生成的缓存文件:~/.cache/, ~/.local/share/ 中的临时文件。 密码管理器的核心数据库:如 ~/.gnupg/ (除非你非常清楚如何安全备份),或者 ~/.password-store/(虽然可以管理,但需极度小心加密)。 特定机器的硬件配置:如 ~/.config/nvidia/ 或 ~/.config/dconf/ 中的某些硬件相关设置,如果不想每次切换设备都出问题。 临时文件或日志:~/.config/termite/logs 等。 🚀 进阶实践建议 使用 ~/.config/chezmoi/chezmoi.toml 这是 chezmoi 的主配置文件。你可以在这里定义: 你的 Git 仓库 URL。 加密密钥(如 pgp)。 忽略规则(ignore)。 目标路径的默认权限。 利用模板功能 (Templates) chezmoi 基于 Go 模板引擎。你可以创建 ~/.config/chezmoi/chezmoi.toml.tmpl 或 .bashrc.tmpl,在其中使用变量: # .bashrc.tmpl export PATH={{ .chezmoi.homeDir }}/bin:{{ .chezmoi.homeDir }}/go/bin:$PATH {{- if eq .chezmoi.os "darwin" }} # macOS specific settings export BROWSER="open" {{- else if eq .chezmoi.os "linux" }} # Linux specific settings export BROWSER="xdg-open" {{- end }} 处理敏感数据 使用 chezmoi add --encrypted 将敏感配置文件(如包含 API Key 的 credentials.toml)加密存储。在恢复时,chezmoi 会自动解密并放到正确位置。 目录结构建议 保持仓库整洁,按功能分类: dotfiles/ ├── .chezmoiexternals.toml # 外部依赖 ├── .chezmoiremote.toml # 远程配置 ├── .chezmoi.toml # 主配置 ├── .bashrc.tmpl # 模板 ├── .gitconfig.tmpl ├── bin/ # 可执行脚本 │ └── myscript.sh ├── config/ # 应用配置 │ ├── neovim/ │ │ └── init.vim │ └── fish/ │ └── config.fish └── secrets/ # 敏感数据 (加密) └── credentials.toml.enc ...

2026年9月15日 · 2 分钟 · Yancey

如何使用chezmoi管理dotfiles数据

使用 chezmoi 管理 dotfiles 的核心流程可以分为 安装初始化、添加文件、编写模板/处理敏感数据、同步应用 四个阶段。 以下是详细的操作指南,直接对应你之前提到的建议数据: 1. 安装与初始化 (Setup) 首先,你需要安装 chezmoi 并将其指向你的 Git 仓库。 安装 (以 Homebrew 为例,Linux/Mac/Windows 均适用): # macOS / Linux brew install chezmoi # 或者使用官方脚本 sh -c "$(curl -fsSL https://raw.githubusercontent.com/twpayne/chezmoi/main/.github/install.sh)" 初始化仓库: 假设你的 dotfiles 仓库名为 my-dotfiles,位于 https://github.com/yourusername/my-dotfiles。 # 生成一个新的本地目录并初始化 chezmoi init https://github.com/yourusername/my-dotfiles # 或者手动克隆后初始化 git clone https://github.com/yourusername/my-dotfiles cd my-dotfiles chezmoi init 此时,chezmoi 会在你的家目录创建 ~/.local/share/chezmoi 作为源目录(Source Directory),这是 chezmoi 管理所有配置的核心仓库。 2. 添加现有文件 (Adding Files) 当你在新电脑上安装完软件(如 Neovim, Git)后,它们的配置文件通常散落在 ~/.config/ 或 ~/. 下。你可以使用 chezmoi add 将它们纳入管理。 ...

2026年9月15日 · 3 分钟 · Yancey

1panel 部署nextcloud 并设置反向代理访问

要在 1Panel 中通过特定端口 https://a.com:20888 访问 Nextcloud,除了常规的反向代理设置,关键在于处理 非标准端口 的跳转识别。 1. 部署 Nextcloud 容器 在 应用商店 安装 Nextcloud。 外部访问端口:设置一个内部端口(例如 8080),此端口仅供 1Panel 内部反代使用,无需在防火墙放行。 2. 创建反向代理网站 新建网站:选择“反向代理”,域名填写 a.com。 设置 HTTPS:在网站设置中申请/配置 SSL 证书。 修改主站端口: 在网站的“设置” -> “基本信息”中,将监听端口改为 20888。 确保在 1Panel 的 防火墙 菜单中放行 20888 端口。 代理配置:代理地址指向 http://127.0.0.1:8080。 3. 修改 Nextcloud 核心配置 (解决重定向问题) 由于使用了非标准端口 20888,必须手动修改 config.php,否则 Nextcloud 会自动跳转回不带端口的默认地址。 进入 文件,打开:/opt/1panel/apps/nextcloud/nextcloud/data/config/config.php。 修改/添加以下关键配置: 'trusted_domains' => array ( 0 => '127.0.0.1:8080', 1 => 'a.com:20888', // 必须包含端口号 ), 'overwrite.cli.url' => 'https://a.com:20888', 'overwritehost' => 'a.com:20888', 'overwriteprotocol' => 'https', 'trusted_proxies' => array('127.0.0.1'), 3. 保存并 重启 Nextcloud 容器。 ## 4. 解决 Nginx 代理头信息(可选但推荐) 在 1Panel 网站设置的“反向代理”配置文件中,确保包含以下头信息,以防登录后跳转回 HTTP: proxy_set_header Host $host:20888; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; ...

2026年5月19日 · 1 分钟 · Yancey

Arch Linux 删除软件包

在 Arch Linux 中,删除软件及其配置文件的操作取决于你是想删除 系统级配置文件(如 /etc 下的文件)还是用户级配置文件(家目录下的“点文件”,如 ~/.config)。 以下是具体的操作方法: 删除软件及系统级配置文件 使用 pacman 的递归删除参数可以清理软件本身、其未被其他软件使用的依赖以及系统级配置文件: 删除软件及其未使用的依赖和系统配置: bash sudo pacman -Rns <软件名> 请谨慎使用此类代码。 - - `-R`: 删除软件包。 - `-n`: 删除软件时同时移除其在系统路径(如 `/etc`)下的配置文件。如果不加 `-n`,pacman 会保留并重命名这些文件为 `.pacsave`。 - `-s`: 递归删除那些不再被其他软件包需要的依赖项。 - **极端彻底删除(包含依赖软件的配置文件):** bash ```shell sudo pacman -Rscn <软件名> 请谨慎使用此类代码。 -c: 级联删除。除了删除该软件,还会删除所有依赖于它的软件。请务必检查输出列表,防止误删重要系统组件。 删除用户级配置文件夹(手动) pacman 不会触碰用户家目录(~)下的任何文件,这些文件是由程序在运行时生成的,不属于包管理器管理范围。你需要手动清理: 通常这些文件夹位于以下位置: 主配置文件: ~/.config/<软件名> 缓存文件: ~/.cache/<软件名> 数据文件: ~/.local/share/<软件名> 手动删除示例: bash rm -rf ~/.config/<软件名> rm -rf ~/.local/share/<软件名> rm -rf ~/.cache/<软件名> 请谨慎使用此类代码。 清理残留的孤立包(孤儿包) 如果你之前删除软件时没带 -s 参数,可能会留下许多无用的依赖包,可以使用以下命令清理: ...

2026年5月19日 · 1 分钟 · Yancey