MoreRSS

site iconManatee LazyCat修改

懒猫微服CEO,Linux, Emacs开源社区从业二十余载。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

Manatee LazyCat的 RSS 预览

通过 Github 自动发布 AUR 包

2026-01-12 00:00:00

昨天讲了 AUR 包版本更新的方式:

  1. 在你的 git 项目仓库中提交新的版本: git tag v0.1.1 ; git push origin v0.1.1
  2. 把 AUR 仓库中的 PKGBUILD 中的 pkgver 改成 0.1.1
  3. 在 AUR 仓库执行 updpkgsums ; makepkg –printsrcinfo > .SRCINFO 这两条命令生成新版本的 .SRCINFO 文件
  4. git commit -a 以后 git push

但是这种手动的方式非常麻烦,比如在外面耍,合并了社区大佬的补丁就没法用手机发布版本了,必须手动编辑。

今天介绍一下自动发布版本的方法, git tag 创建后就自动发 AUR 版本

添加 Github Action

在项目下创建文件 .github/workflows/publish-aur.yml 文件,内容如下

name: Publish to AUR

on:
  push:
    tags:
      - 'v*'

jobs:
  publish-aur:
    name: Publish to AUR
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Extract version
        id: version
        run: echo "version=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT

      - name: Update PKGBUILD version
        run: |
          sed -i "s/^pkgver=.*/pkgver=$/" PKGBUILD
          sed -i "s/^pkgrel=.*/pkgrel=1/" PKGBUILD

      - name: Publish AUR package
        uses: KSXGitHub/[email protected]
        with:
          pkgname: lazycat-terminal
          pkgbuild: ./PKGBUILD
          updpkgsums: true
          commit_username: $
          commit_email: $
          ssh_private_key: $
          commit_message: "Update to version $"
          ssh_keyscan_types: rsa,ecdsa,ed25519

设置环境变量

在 Settings -> Secrets and variables -> Action 页面下

找到 New repository secret 按钮, 创建三个环境变量

  • AUR_USERNAME - 你的 AUR 用户名
  • AUR_EMAIL - 你的 AUR 邮箱
  • AUR_SSH_PRIVATE_KEY - 你的 AUR SSH 私钥

注意 AUR 私钥要和你 AUR 主页设置的公钥对应起来,如果为了安全,可以单独给 AUR 设置一个 SSH 密钥对,避免 Action 泄露私钥

PS: 密钥对生成的方法 ssh-keygen -t ed25519 -C “[email protected]

测试

设置好以后,只要电脑 git tag version ; git push origin version 后就会自动触发 Github Action, 手机可以直接用 Github 前端页面手动打 Tag

Gtihub Action 跑完以后 AUR 软件包就更新啦!

lazycat terminal 发布了

2026-01-11 00:00:00

以前写的 deepin terminal 主要采用的是非常老的 VTE 版本和 Gtk3,最近在 KDE 下很多问题,一直想重写。

刚好这个周末有点时间,就想挑战一下,看看纯粹 AI 能否重写一个新的终端出来?

经过 36 个小时, 全程和 AI 说了 33 个需求, Claude Code Opus 完美复刻出 lazycat-terminal

  • 极简设计: 无边框、Chrome 风格的多标签、透明背景都是为了尽量减少对用户注意力的干扰
  • 超强分屏: 内置分屏功能,无限分屏,Vim 风格的分屏间导航,全键盘操作,沉浸式开发
  • 兼容性强: 基于 VTE 控件开发,完整支持终端转义序列和 Unicode 渲染
  • 优秀性能: Vala 语言会编译成 C,启动速度超级快,开发手感类似 C#
  • 内置主题: 内置 47 款流行主题,风格随心换,支持等宽和点阵字体
  • 贴心设计: 后台标签进程完成提醒,透明度实时调节,URL 超链一点打开,实时搜索…
  • Vibe Coding: 一键拷贝最后一个命令输出,输出反馈给 AI 速度更快

AUR 包我打了一个,ArchLinux 的用户直接用命令 yay -S lazycat-terminal 来安装吧!

EndeavourOS 安装教程 2026-01-11

2026-01-11 00:00:00

安装系统

EndeavourOS 官方网站 下载镜像文件, 用 sudo dd if=./EndeavourOS.iso of=/dev/sda 制作安装盘。

如果不知道 U 盘是那个设备, 可以用 sudo fdisk -l 命令查看所有磁盘设备的信息。

安装系统的时候选择 offline, 避免默认镜像源联网安装速度太慢。

修改镜像源

需要修改默认的镜像源,加速系统更新和软件包安装速度。

  1. ArchLinuxCN 添加 ArchLinuxCN 的源, ArchLinuxCN 有很多中国用户需要的软件包,在 /etc/pacman.conf 配置文件末尾加上:
[archlinuxcn]
SigLevel = Never
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
  1. ArchLinux Mirror 修改 /etc/pacman.d/mirrorlist
## China
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
  1. EndeavourOS Mirror 修改 /etc/pacman.d/endeavouros-mirrorlist
## China
Server = https://mirrors.tuna.tsinghua.edu.cn/endeavouros/repo/$repo/$arch
  1. 导入镜像源的 GPG Key
sudo pacman -S archlinuxcn-keyring
sudo pacman -S archlinux-keyring
sudo pacman -S endeavouros-keyring
  1. 更新系统
sudo pacman -Syyu

配置代理

装好系统后, 首先配置代理, 要不是啥都干不了, 代理配置可以参考 最佳代理实践之 v2raya

配置 PIP 加速源

sudo pacman -S python-pip
sudo pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

光有代理还不行, 不配置 pip 加速源, 安装依赖超级慢。

配置输入法

目前 Linux 下最流畅的输入法方案就是雾凇输入法, 词库精心配置, 输入体验非常流畅。

具体的配置看 Fcitx 最佳配置实践

KDE 设置

KDE 的系统更加稳定一些, 进入 KDE 后, 需要做一些必要设置:

  1. 触摸板: 反向滚动更自然一点。右键点击,选择双指按下的设置, 要不默认设置会导致触摸板点击中间也是右键
  2. 小红点: 小红点的光标移动速度和滚动速度可以降低一点,避免幅度太大,无法精确选中
  3. 会话 -> 桌面会话, 默认不要恢复注销的程序, 很烦人
  4. 窗口管理 -> 任务切换 -> 主窗口: 取消 ‘显示选中窗口’ 选项, 这样 Alt + Tab 的时候不会立即切换窗口, 不那么恍眼睛
  5. 去掉全局按键避免和 Emacs 冲突: Fcitx 设置所有按键, KDE 快捷键搜索“表情”, 去掉 Meta + .

我的全局快捷键

为了最大程度减少对 Emacs 按键的影响, 我只设置少量的全局快捷键

  • 最大化窗口: Ctrl + Win + i
  • 窗口左分屏: Ctrl + Win + y
  • 窗口右分屏: Ctrl + Win + o
  • 关闭分屏: Ctrl + Win + ;
  • 最小化窗口: Win + D
  • 终端: Ctrl + Alt + T (快捷键右上角新增应用程序 lazycat-terminal)
  • 截图: Ctrl + Alt + A (快捷键右上角新增命令 flameshot gui)

窗口规则

设置 -> 窗口管理 -> 窗口规则里面可以设置一些窗口规则。

我家台式机是四个屏幕,所以我会强制一些软件在不同的屏幕上,这样打开软件就能用,不能挪来挪去的。

  1. 左上角: 浏览器
  2. 右上角: 微信
  3. 左下角: 懒猫微服客户端,Emacs,KDE 设置
  4. 右下角: 终端,文件管理器

这样的摆放可以让我同时兼顾研究(浏览器)、写代码(Emacs)、客户沟通(微信)、调试(终端)

注意,设置窗口规则的时候,选择 “初试时应用”, 尽量不要选择 “强制”, 比如像 lazycat-terminal 代码还没有写的那么健壮就会出问题。

安装一些必备软件

  • lazycat-terminal: yay -S lazycat-terminal
  • 截图工具: Flameshot是我用过的最好的截图工具, 比我 15 年前写的 deepin-screenshot 还好用
  • WPS: yay -S wps-office-cn wps-office-mui-zh-cn ttf-wps-fonts
  • 微信: 微信在 Linux 下已经有原生客户端了, 具体操作请查看 ArchLinux 安装原生微信
  • 腾讯会议: yay -S wemeet-bin
  • 闭源驱动: ArchLinux 下安装了 N 卡闭源驱动, 才能解决 AVI 视频播放的问题, 具体安装方法可以参考 ArchLinux 安装 N 卡闭源驱动
  • Claude Code: Opus 模型真的是太强大了

安装懒猫微服

懒猫微服客户端:

安装方法如下:

/bin/bash -c "$(curl -fsSL https://dl.lazycat.cloud/client/desktop/linux-install)"

用了懒猫微服, 我所有的文件和代码都在家里的私有云服务器中,终端设备不留任何文件,想重装系统的时候马上就可以重装

懒猫 AI 浏览器:

安装方法如下:

curl https://dl.lazycatcloud.com/aibrowser/install.sh | bash

懒猫 AI 浏览器 基于 Chromium 改造,去掉了 Google 的广告追踪,配合我家的懒猫 AI 算力舱,AI 大模型和沉浸式翻译随便用,无限 Tokens

安装一些必备的 Chrome 插件

  • Vimium: 快捷键操作网页
  • AdBlock: 广告过滤插件
  • FireShot: 网页滚动截图工具
  • 沉浸式翻译: 用懒猫 AI 浏览器自带的沉浸式翻译,无限 Tokens

美化

默认使用 Fish

sudo pacman -S fish
chsh -s $(which fish)

Fish 4.0 引入 Kitty Keyboard Protocols 协议, 会导致 pyte 基础的终端产生额外的 5u 字符, 需要在配置文件 ~/.config/fish/config.fish 中添加下面配置禁用 Kitty 协议:

set -Ua fish_features no-keyboard-protocols

最后

我大量的代码环境都在 Emacs 中,所有 KDE 整体设置非常简单。

用中转站访问 Claude Code

2026-01-11 00:00:00

以前折腾过各种科学工具,自建 VPS、挑选线路、研究 IP 和对抗协议,最后斗法烦了,直接买了奶昔机场,再也没有浪费时间在梯子上

自从用了 AI 编程,定期也要折腾 VPS、干净 IP、信用卡,Claude 和 Codex 各种斗法,今天斗法累了,我的时间太宝贵了,直接买了一个中转站:

  1. 安装 Claude Code
  2. 生成中转站 API
  3. 支付宝充钱,直接起飞了

再也不需要折腾纯净 IP 和信用卡了,专业折腾的事情还是交给中转站,花钱买时间,专注研究技术

中转站 注册以后,直接看右侧的 安装&教程, 三条命令行就搞定,非常爽.

用 AI 创建 AUR 包

2026-01-11 00:00:00

最近开发 lazycat-terminal,不会整 AUR 的包,干脆让 AI 帮忙。

今天分享一下 AI 创建 AUR 的方法

准备工作

先去 https://aur.archlinux.org/ 网站上注册你的账户,跟着提示走就好了,注册的时候需要你生成 SSH 公私钥,然后把 SSH 公钥填上去,方便后续 git push

注册好以后,AUR 网站会提示你设置账户密码,设置好以后,重新登录 AUR 网站。

终端中执行 ssh -T [email protected] 命令来测试账户, 如果输出就证明你账号没问题了。

  Welcome to AUR, xxx! Interactive shell is disabled.
  Try `ssh [email protected] help` for a list of commands.

AI生成PKGBUILD

直接告诉 AI,你要创建一个 AUR 包,让它给你生成 PKGBUILD 文件

本地打包测试

本地打包测试的目的主要是看 PKGBUILD 写的对不对,能不能生成 Arch 包。

命令是两条:

  1. makepkg: 这个命令会根据 PKGBUILD 自动生成一个 Arch 包, 一般是以 tar.zst 后缀结尾
  2. sudo pacman -U xxx.tar.zst: 这个命令就是本地安装,如果安装成功就证明线上一定没问题

AUR包构建

注意, 在你构建 AUR 包之间需要先明白几个概念:

  1. 你的 git 代码仓库是用于存储你项目代码的,和 AUR 包的仓库没关系
  2. AUR 代码仓库只需要两个文件 PKGBUILD 和 .SRCINFO, PKGBUILD 是打包构建脚本, .SRCINFO 是软件包元信息, 根据 PKGBUILD 自动生成
  3. AUR 包安装的时候,会根据上面两个文件的信息,拉取你的 git 仓库动态生成安装包,所以不要在 AUR 上传你的代码,AUR 仓库只需要第二步的两个文件

如果你明白这几个概念的话, 下面就是构建 AUR 包的方法

  1. 创建 AUR 仓库: git clone [email protected]:your-package.git , 其中 your-package 是你要创建的 AUR 的名字, 需要唯一,不要和别人的包名冲突了
  2. 在你的 git 项目仓库中提交版本: git tag v0.1.0 ; git push origin v0.1.0 通过这两个命令来提交版本号, 这一步是在你的项目代码仓库里, 提交版本好的目的是让 AUR 包可以从 github 上下载你的源码
  3. 把上一步 PKGBUILD 文件中的 pkgver 改成 0.1.0 后, 拷贝到第一步创建的 AUR 仓库
  4. 在 AUR 仓库执行 updpkgsums ; makepkg –printsrcinfo > .SRCINFO 这两条命令生成 .SRCINFO 文件
  5. git add PKGBUILD 和 .SRCINFO 这两个文件后, git push 就好了

过一会再去看你的 AUR 首页就会看到包发布了, 后面就可以通过 yay -S your-package 来安装包了

更新AUR包版本

其实和上一章讲的一样

  1. 在你的 git 项目仓库中提交新的版本: git tag v0.1.1 ; git push origin v0.1.1
  2. 把 AUR 仓库中的 PKGBUILD 中的 pkgver 改成 0.1.1
  3. 在 AUR 仓库执行 updpkgsums ; makepkg –printsrcinfo > .SRCINFO 这两条命令生成新版本的 .SRCINFO 文件
  4. git commit -a 以后 git push

这样线上的 AUR 包就更新了, 执行 yay -S your-package 来验证吧。

Fcitx 最佳配置实践 2026-01-06

2026-01-06 00:00:00

Linux 下最爽的输入法就是 Fcitx 了, 但是没有配置好, 就会出现各种各样的问题, 比如打太快漏字这种问题。

今天把所有博客关于 Fcitx 的配置都整理成一篇, 方便我自己和大家以后用。

安装 Fcitx5 输入法框架

安装 Fcitx5 软件包:

sudo pacman -S fcitx5 fcitx5-gtk fcitx5-qt fcitx5-configtool fcitx5-rime librime
  • fcitx5: 输入法基础框架主程序
  • fcitx5-gtk: GTK 程序的支持, 必须安装, 修复打字太快漏字的问题
  • fcitx5-qt: QT5 程序的支持, 必须安装, 修复打字太快漏字的问题
  • fcitx5-configtool: 图形化配置工具
  • fcitx5-rime: RIME 输入法
  • fcitx5-im: 输入法设置工具
  • librime: rime 相关库, 下面的 emacs-rime 会用到

备注:

  • 需要安装 fcitx5-gtkfcitx5-qt 不然打字太快会发生漏字的现象, 就是拼音没有变成汉字而是直接插入输入框中。
  • 附加组件: 粘贴板和快速输入模块的快捷键去掉, 避免和 Emacs 按键冲突

Wayland 环境设置

安装好上面的 Fcitx 包,在 KDE 环境下,只需要进入 KDE 设置->虚拟键盘, 选择 Fcitx5 后重新注销即可在大部分应用中输入中文。

一些特殊的应用,比如微信就无法输入中文, 需要创建配置文件 ~/.config/plasma-workspace/env/ime.sh 文件, 并在配置文件中写入

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

重新注销后就可以在 Wayland 环境下的微信输入中文了。

X11 环境设置

X11 的配置文件需要写入 ~/.xprofile

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

重新登录即可。

安装 Fcitx5 皮肤

yay -S fcitx5-skin-adwaita-dark

然后修改配置文件 ~/.config/fcitx5/conf/classicui.conf

# 横向候选列表
Vertical Candidate List=False

# 禁止字体随着 DPI 缩放, 避免界面太大
PerScreenDPI=False

# 字体和大小, 可以用 fc-list 命令来查看使用
Font="Noto Sans Mono 13"

# Gnome3 风格的主题
Theme=adwaita-dark

备注: 我比较喜欢仓耳今楷, 上面的 Font 可以换成 TsangerJinKai03-6763 15

安装万象输入法

ArchLinux 里面安装万象输入法非常简单, czyt 大佬开发的 rime-wanxiang-updater 非常好用

yay -S rime-wanxiang-updater

运行 rime-wanxiang-updater, 直接选择第一项 “自动更新” 菜单项即可,安装所有东西后,退出重新登录皆可体验流畅的输入法

去掉右Shift按键

当你按回车的时候有时候会不小心碰到右边的 Shift, Fcitx 这个默认设置很烦, 右边 Shift 进入一个 “A” 的状态后, 如果不知道这个按键的,很难切回来,一旦进入这个状态再按右边 Shift 会让原来的输入法出现奇奇怪怪的问题。

禁用右 Shift 的方法很简单,在 ~/.local/share/fcitx5/rime/default.yaml 文件中找到 Shift_R: commit_code, 删除这一行。

修改翻页配置

找到 ~/.local/share/fcitx5/rime/default.yaml 配置文件,在 bindings 下面增加

    - { when: has_menu, accept: comma, send: Page_Up }
    - { when: has_menu, accept: period, send: Page_Down }

配置,然后重启输入法,就可以实现逗号和句号对候选词进行快速翻页。

快捷输入

有时候我们需要输入日期或者原点等符号,就可以用万象输入法的字符 / 作为符号扩展输入。

下面是输入法激活的时候,你输入下面这些辅助码就可以快速输入特殊字符,节省大量时间:

  • /rq 日期
  • /sj 时间
  • /yd 原点符号
  • /sx 数学符号
  • /ss 手势符号
  • /rc26o 26 天前的日期
  • /rc26p 26 天后的日期
  • /nl 农历日期
  • /xq 星期几
  • /jq 节气
  • /dt 日期和时间
  • /jr 今天后面的节日,以及还要多少天

如果输入法模式下,需要输入 / 自己, 只需要输入 // 即可。

删除误输入的拼音

有时候我们会不小心把拼音确认了, 这样这些拼音就会变成第一个候选词, 影响拼音后面对应的中文候选词。

Fcitx 的用户自定义英文候选词都会自动记录到下面配置文件中:

~/.local/share/fcitx5/rime/en_dicts/en.dict.yaml

找到误输入的字符串, 保存配置文件重启 Fcitx 即可。

安装 emacs-rime

这一节讲的是怎么让 Emacs 可以使用上万象输入法, 如果平常不用 Emacs 的用户可以跳过此章节。

在 Emacs 里,需要安装 posframe, posframe 可以让侯选词显示在光标处, 所以建议安装。

然后下载 emacs-rime:

git clone https://github.com/DogLooksGood/emacs-rime

把 emacs-rime 目录放到 load-path 下, 添加以下配置:

(require 'rime)

;;; 注意这里要设置一下 rime 的默认配置为 ~/.local/share/fcitx5/rime ,否则 Emacs 这边无法加载万象输入法的配置
(setq rime-user-data-dir (expand-file-name "~/.local/share/fcitx5/rime"))

(setq rime-posframe-properties
      (list :background-color "#333333"
            :foreground-color "#dcdccc"
            :font "WenQuanYi Micro Hei Mono-14"
            :internal-border-width 10))

(setq default-input-method "rime"
      rime-show-candidate 'posframe)

上面的配置分别设置 emacs-rime 读取 RIME 配置的路径、 UI 细节和使用 posframe 来显示候选词。

重启 Emacs 后, 调用 toggle-input-method 命令来尝试输入中文。