Logo

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 来验证吧。