<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tmux on 魔都水滴</title>
    <link>https://blog.margrop.net/tag/tmux/</link>
    <description>Recent content in Tmux on 魔都水滴</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-CN</language>
    <lastBuildDate>Fri, 19 Jun 2026 10:58:00 +0800</lastBuildDate>
    <atom:link href="https://blog.margrop.net/tag/tmux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>一句话让 Claude 把 Ubuntu 22.04 升级到 24.04:一次几乎不用盯屏幕的跨 LTS 实战</title>
      <link>https://blog.margrop.net/post/upgrade-ubuntu-via-agent/</link>
      <pubDate>Fri, 19 Jun 2026 10:58:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/upgrade-ubuntu-via-agent/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先说结论&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;这台远端机器是家里那台 24 小时开机的代理机,系统一直停在 Ubuntu 22.04.4 LTS(jammy),内核 5.15。一句&amp;quot;帮我把 192.168.103.182 升级到 ubuntu24.04&amp;quot;,Claude 就替我拆开了旧柜子,在另一个房间装上了新柜子,过程中它自己开了 tmux 守夜、自己起了 fallback sshd 备胎、自己用 &lt;code&gt;do-release-upgrade -f DistUpgradeViewNonInteractive&lt;/code&gt; 跑完了整段流水线。25 分钟后主机回来,内核已经是 6.8.0-124,所有服务依旧在听。&lt;/p&gt;&#xA;&lt;p&gt;本文不是讲 do-release-upgrade 怎么用,那是 Ubuntu 官方文档的事;本文是讲&amp;quot;当 Agent 拿到 SSH 之后,它在做什么、为什么这么做、以及哪些坑你必须提前排&amp;quot;。&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>诡异！Tmux 新 session 里凭空多出一个 http_proxy 环境变量</title>
      <link>https://blog.margrop.net/post/tmux-zsh-http-proxy-mystery/</link>
      <pubDate>Sat, 30 May 2026 16:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/tmux-zsh-http-proxy-mystery/</guid>
      <description>&lt;h1 id=&#34;前言&#34;&gt;前言&lt;/h1&gt;&#xA;&lt;p&gt;今天遇到一个非常诡异的问题：新创建的 tmux session 里，&lt;code&gt;echo $http_proxy&lt;/code&gt; 竟然显示了一个有效的代理地址。但我明明记得自己在 &lt;code&gt;.zshrc&lt;/code&gt; 里只定义了两个 alias：&lt;code&gt;proxy_on&lt;/code&gt; 和 &lt;code&gt;proxy_off&lt;/code&gt;，它们都是手动触发的，不会自动执行。&lt;/p&gt;&#xA;&lt;p&gt;诡异的是，我的主 shell 里 &lt;code&gt;http_proxy&lt;/code&gt;明明是空的，但一进 tmux 就有了。这个问题排查了将近一个小时才找到根因，特此记录。&lt;/p&gt;</description>
    </item>
    <item>
      <title>一次 tmux &#43; opencode 中文变下划线的排障：不是字体坏了，而是 client_utf8=0</title>
      <link>https://blog.margrop.net/post/tmux-opencode-chinese-underscore-fix/</link>
      <pubDate>Tue, 28 Apr 2026 18:40:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/tmux-opencode-chinese-underscore-fix/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先说结论&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;这次问题不是 opencode 不支持中文，也不是终端字体突然坏了，而是 tmux 当前 client 被判定为“不支持 UTF-8”。证据是 &lt;code&gt;tmux display-message -p &#39;client_utf8=#{client_utf8}&#39;&lt;/code&gt; 返回了 &lt;code&gt;client_utf8=0&lt;/code&gt;。在这种状态下，tmux 会把非 ASCII 字符替换成下划线，所以中文在 opencode 的 TUI 里看起来就像全部变成了 &lt;code&gt;_&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;这篇文章记录一次很小、但很典型的终端排障：同一台 Mac 上，直接运行 &lt;code&gt;opencode&lt;/code&gt; 时中文显示正常；先进入 tmux，再运行 &lt;code&gt;opencode&lt;/code&gt;，中文就全部变成下划线。&lt;/p&gt;&#xA;&lt;p&gt;这种问题非常容易误判。第一反应通常是怀疑字体、终端模拟器、opencode 版本、主题、Nerd Font、宽字符宽度，甚至怀疑是不是某个 TUI 框架把 CJK 字符处理坏了。但这次真正的关键点只有一个：&lt;strong&gt;tmux 自己是否愿意把 UTF-8 字符写回外层终端。&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;为了不泄露任何私人环境信息，下面的命令输出都做了抽象化处理，不包含真实主机名、内网地址、会话名、密钥、账号或项目路径。保留的只有与问题本身有关的技术事实。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
