Jermineの博客

Jermineの博客

书不记,熟读可记;义不精,细思可精;惟有志不立,直是无着力处。

  • 首页
  • Github
  • Go语言标准库
  • Nyx
  • 关于我

在 Proot-Distro Ubuntu 容器中集成 zsh 与 cc 命令的几种方式

在使用 Termux 配合 proot-distro 运行 Ubuntu 发行版时,我们经常需要快速登录到特定用户、切换工作目录,并启动一个交互式的 zsh。更进一步,有时希望在进入 zsh 之前或之后自动执行一条命令——例如启动 cc(即 Claude Code 的缩写,一个 AI 编程助手)。本文将详细介绍如何优雅地实现这一需求。

2026年05月15日

CC Switch:统一管理 Claude Code、Codex、Gemini CLI 等 AI 工具的 Swiss Army Knife

背景

随着 AI 编程工具的爆发式增长,我们终端里跑的 CLI 工具越来越多:Claude Code、Codex、Gemini CLI、OpenCode、OpenClaw,以及即将支持的 Hermes Agent。每个工具都有自己独立的配置格式——JSON、TOML、.env 文件散落在不同的隐藏目录里。

2026年05月14日

使用buildah在容器中构建镜像

背景

多年来, Kaniko一直是构建镜像的首选方案,它是谷歌专为在非特权容器内构建镜像而开发的工具,无需 Docker 守护进程。然而在 2025 年 6 月,谷歌将该代码库归档,现在它已变为只读。GitLab 也已移除 Kaniko 的相关文档,并推荐使用 Buildah 或 Podman 等替代工具。

2026年03月15日

跨平台音乐播放器

MusicFree下载安装

  • 项目地址:
    • 手机端:https://github.com/maotoumao/MusicFree
    • 桌面端:https://github.com/maotoumao/MusicFreeDesktop
  • 插件地址:
    • https://musicfreepluginshub.2020818.xyz/plugins.json

2025年05月11日

如何在手机终端上使用claude-code?

在Termux中使用proot-distro运行ubuntu

直接在termux中安装claude code会遇到下面错误:

bun -version
error: "/data/data/com.termux/files/home/.bun/bin/bun" has unexpected e_type: 2

这个错误是因为bun是为标准Linux环境(依赖glibc库)编译的,和Termux的Android环境(bionic libc)不兼容。

2021年02月18日

git通过https协议使用仓库时如何记住token?

git通过https协议使用仓库时如何记住token?

通过配置 Git 的凭据助手(credential helper),可以记住 HTTPS 访问时需要的用户名和 Token(作为密码),避免重复输入。

常用方法(按安全性/便捷性排序)

1. 临时缓存(适合短期使用)

1git config --global credential.helper cache
2# 默认缓存 15 分钟,可修改超时(秒):
3git config --global credential.helper 'cache --timeout=3600'

2. 永久存储到文件(明文,安全性低)

1git config --global credential.helper store
2# 凭据会保存在 ~/.git-credentials,首次输入后永久生效

3. 使用操作系统安全存储(推荐)

  • Windows(Git for Windows 自带)
    1git config --global credential.helper manager-core
    2# 或旧版:git config --global credential.helper wincred
    
  • macOS(钥匙串)
    1git config --global credential.helper osxkeychain
    
  • Linux(需要安装 libsecret)
    1sudo apt-get install libsecret-1-0 libsecret-1-dev
    2sudo make -C /usr/share/doc/git/contrib/credential/libsecret
    3git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
    
    或者使用 gnome-keyring 等。

4. 直接在远程 URL 中嵌入 Token(一次性配置,URL 变更)

1git remote set-url origin https://你的用户名:你的[email protected]/用户名/仓库.git

⚠️ Token 会明文存储在 .git/config 中,且 git remote -v 会暴露 Token。

2021年02月18日

处理git无法显示中文的问题

git pull 遇到乱码

执行git pull 输出好多编码非中文的字符:

 1remote: Enumerating objects: 42, done.
 2remote: Counting objects: 100% (42/42), done.
 3remote: Compressing objects: 100% (18/18), done.
 4remote: Total 32 (delta 9), reused 32 (delta 9), pack-reused 0 (from 0)
 5Unpacking objects: 100% (32/32), 4.17 KiB | 8.00 KiB/s, done.
 6From github.com:JermineHu/jerminehu.github.io
 7   08d9ec6..9c5c1ec  master     -> origin/master
 8Updating 08d9ec6..9c5c1ec
 9Fast-forward
10 .../29\346\227\245/\345\205\263\344\272\216claude code\344\275\277\347\224\250.md" | 39 +++++++++++++++++++++++++++++++++++++++
11 .../30\346\227\245/\346\210\220\344\270\272\350\207\252\345\267\261.md"            |  1 +
12 .../03\346\227\245/\345\205\263\344\272\216\347\235\241\347\234\240.md"            | 21 +++++++++++++++++++++
13 ...203\345\271\263\350\203\275\346\204\210\344\270\211\345\215\203\347\226\276.md" | 15 +++++++++++++++
14 ...214\345\222\214\346\203\263\346\210\220\344\270\272\347\232\204\344\272\272.md" | 14 ++++++++++++++
15 .../05\346\227\245/\346\234\235\350\212\261\345\244\225\346\213\276.md"            |  6 ++++++
16 6 files changed, 96 insertions(+)
17 create mode 100644 "6. \350\241\250\350\276\276/\345\215\241\347\211\207/2026\345\271\264/2\345\255\243\345\272\246/05\346\234\210/03\346\227\245/\345\205\263\344\272\216\347\235\241\347\234\240.md"
18 create mode 100644 "6. \350\241\250\350\276\276/\345\215\241\347\211\207/2026\345\271\264/2\345\255\243\345\272\246/05\346\234\210/05\346\227\245/\345\277\203\345\271\263\350\203\275\346\204\210\344\270\211\345\215\203\347\226\276.md"
19 create mode 100644 "6. \350\241\250\350\276\276/\345\215\241\347\211\207/2026\345\271\264/2\345\255\243\345\272\246/05\346\234\210/05\346\227\245/\346\210\221\344\273\254\347\273\210\345\205\266\344\270\200\347\224\237\345\257\273\346\211\276\347\232\204\357\274\214\345\272\224\350\257\245\346\230\257\350\207\252\345\267\261\345\226\234\346\254\242\347\232\204\347\224\237\346\264\273\346\226\271\345\274\217\357\274\214\345\222\214\346\203\263\346\210\220\344\270\272\347\232\204\344\272\272.md"
20 create mode 100644 "6. \350\241\250\350\276\276/\345\215\241\347\211\207/2026\345\271\264/2\345\255\243\345\272\246/05\346\234\210/05\346\227\245/\346\234\235\350\212\261\345\244\225\346\213\276.md"

解决方案:

遇到的问题是 Git 默认将非 ASCII 路径名(如中文)转义为 \nnn 形式的八进制编码,这是为了确保在老旧或非 UTF-8 环境中输出不会乱码。解决办法很简单:关闭路径转义。

2021年01月18日

解决GPU显存未释放问题

定位问题

我们在使用tensorflow+pycharm或者PyTorch写程序的时候, 有时候会在控制台终止掉正在运行的程序,但是有时候程序已经结束了,nvidia-smi也看到没有程序了,但是GPU的内存并没有释放,这是怎么回事呢?

2019年03月21日

Openshift Setup

介绍:

OpenShift是红帽的云开发平台即服务(PaaS)。自由和开放源码的云计算平台使开发人员能够创建、测试和运行他们的应用程序,并且可以把它们部署到云中。Openshift广泛支持多种编程语言和框架,如Java,Ruby和PHP等。另外它还提供了多种集成开发工具如Eclipse integration,JBoss Developer Studio和 Jenkins等。OpenShift 基于一个开源生态系统为移动应用,数据库服务等,提供支持。 OpenShift Online服务构建在Red Hat Enterprise Linux上。Red Hat Enterprise Linux提供集成应用程序,运行库和一个配置可伸缩的多用户单实例的操作系统,以满足企业级应用的各种需求。

2019年03月15日

基于Docker部署ceph分布式文件系统[MImic13.2

本文记录了基于docker部署最新ceph版本的多节点高可用测试详尽过程,切身体会比ceph-deploy方便得多,希望能给初次接触ceph的同学提供些许参考。

2019年01月24日
  • ««
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
  • »»

分类

  • all70
  • c/c++2
  • ceph1
  • chart1
  • conda1
  • cuda3
  • database1
  • deeplearn3
  • devops4
  • docker12
  • dotnet core1
  • efficiency3
  • gdb1
  • git3
  • golang6
  • harbor1
  • helm1
  • kubernetes4
  • kvm2
  • linux31
  • microservice1
  • mq1
  • nvidia3
  • openshift2
  • openstack1
  • python3
  • raspberry-pi7
  • registry1
  • server4
  • sse1
  • tensorflow2
  • tools7
  • train1
  • web1
  • websocket1
  • windows4
  • “cuda”1
  • “docker”1
  • 代理1
  • 关于我1
  • 协议2
  • 嵌入式1
  • 课程1
  • 项目管理1

标签

  • agent1
  • ai1
  • all1
  • arm6
  • arm646
  • c/c++2
  • ceph1
  • chart1
  • claude code3
  • code-review1
  • codex1
  • conda1
  • cross-compiling1
  • cuda3
  • database1
  • debug1
  • deeplearn3
  • devops3
  • dns1
  • docker17
  • dotnet core1
  • editor1
  • efficiency4
  • gdb1
  • gemini cli1
  • git5
  • golang6
  • gpu1
  • harbor3
  • helm1
  • influxdb1
  • jenkins1
  • jermine1
  • jira2
  • k8s1
  • kubernates2
  • kubernetes3
  • kvm5
  • ldap2
  • linux32
  • markdown1
  • microservice1
  • mirrors1
  • mq1
  • music1
  • nexcloud1
  • nvida-docker1
  • nvidia3
  • openclaw1
  • opencv2
  • openshift2
  • openstack1
  • proot-distro1
  • python3
  • raspberry-pi7
  • registry1
  • reviewboard1
  • samba1
  • server4
  • shortcut keys1
  • sse1
  • ssh1
  • swap1
  • tensorflow3
  • termux1
  • tools5
  • vs-code2
  • web1
  • websocket1
  • windows4
  • zsh1
  • “cuda”1
  • “docker”1
  • 交叉编译1
  • 代理1
  • 关于我1
  • 协议2
  • 嵌入式1
  • 开发工具1
  • 敏捷开发1
  • 武汉大学授课1
  • 自动化1
  • 课程1
  • 项目管理1

归档

标签云

agent ai all arm arm64 c/c++ ceph chart claude code code-review codex conda cross-compiling cuda database debug deeplearn devops dns docker dotnet core editor efficiency gdb gemini cli git golang gpu harbor helm influxdb jenkins jermine jira k8s kubernates kubernetes kvm ldap linux markdown microservice mirrors mq music nexcloud nvida-docker nvidia openclaw opencv openshift openstack proot-distro python raspberry-pi registry reviewboard samba server shortcut keys sse ssh swap tensorflow termux tools vs-code web websocket windows zsh “cuda” “docker” 交叉编译 代理 关于我 协议 嵌入式 开发工具 敏捷开发 武汉大学授课 自动化 课程 项目管理
RSS 订阅

Powered by Jermine © 2026 Jermineの博客