<?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 Margrop Blog</title>
    <link>https://blog.margrop.net/en/tag/tmux/</link>
    <description>Recent content in Tmux on Margrop Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-US</language>
    <lastBuildDate>Fri, 19 Jun 2026 10:58:00 +0800</lastBuildDate>
    <atom:link href="https://blog.margrop.net/en/tag/tmux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>One sentence let Claude upgrade Ubuntu 22.04 to 24.04: a near-zero-screen-time cross-LTS run</title>
      <link>https://blog.margrop.net/en/post/upgrade-ubuntu-via-agent/</link>
      <pubDate>Fri, 19 Jun 2026 10:58:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/upgrade-ubuntu-via-agent/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A remote home-lab box had been sitting on Ubuntu 22.04.4 LTS (jammy, kernel 5.15) for a long time. After one sentence — &amp;ldquo;upgrade the box at 192.168.103.182 to Ubuntu 24.04&amp;rdquo; — Claude opened a tmux session to babysit the run, brought up a fallback sshd on port 1022 so a mid-upgrade sshd restart would not strand me, then drove &lt;code&gt;do-release-upgrade -f DistUpgradeViewNonInteractive&lt;/code&gt; end to end. Twenty-five minutes later the host came back: kernel 6.8.0-124, every service still listening.&lt;/p&gt;&#xA;&lt;p&gt;This is not a tutorial on &lt;code&gt;do-release-upgrade&lt;/code&gt;; the Ubuntu docs already cover that. This is about what an Agent does once it gets an SSH handle on a box, why it does each step, and which pitfalls you have to clear out of the way before letting it loose.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Mystery: Where Did That http_proxy Come From in My New Tmux Session?</title>
      <link>https://blog.margrop.net/en/post/tmux-zsh-http-proxy-mystery/</link>
      <pubDate>Sat, 30 May 2026 16:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/tmux-zsh-http-proxy-mystery/</guid>
      <description>&lt;h1 id=&#34;preface&#34;&gt;Preface&lt;/h1&gt;&#xA;&lt;p&gt;Today I ran into a truly bizarre problem: in a freshly created tmux session, &lt;code&gt;echo $http_proxy&lt;/code&gt; showed a valid proxy address. But I distinctly remember that my &lt;code&gt;.zshrc&lt;/code&gt; only defines two aliases — &lt;code&gt;proxy_on&lt;/code&gt; and &lt;code&gt;proxy_off&lt;/code&gt; — both of which require manual invocation and don&amp;rsquo;t run automatically.&lt;/p&gt;&#xA;&lt;p&gt;The weirdest part: my main shell shows &lt;code&gt;http_proxy&lt;/code&gt; as empty, but as soon as I enter tmux, it&amp;rsquo;s there. I spent nearly an hour tracking this down, so I&amp;rsquo;m documenting it for posterity.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Debugging Chinese Text Turning into Underscores in tmux &#43; opencode: The Real Culprit Was client_utf8=0</title>
      <link>https://blog.margrop.net/en/post/tmux-opencode-chinese-underscore-fix/</link>
      <pubDate>Tue, 28 Apr 2026 18:40:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/tmux-opencode-chinese-underscore-fix/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;This was not an opencode Chinese rendering bug, and it was not a broken terminal font. The tmux client had been detected as not supporting UTF-8. The decisive evidence was &lt;code&gt;tmux display-message -p &#39;client_utf8=#{client_utf8}&#39;&lt;/code&gt;, which returned &lt;code&gt;client_utf8=0&lt;/code&gt;. In that state, tmux replaces non-ASCII output with underscores, so every Chinese character inside the opencode TUI appeared as &lt;code&gt;_&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This post documents a small but very typical terminal debugging session. On the same Mac, running &lt;code&gt;opencode&lt;/code&gt; directly displayed Chinese text correctly. But after starting a tmux session first and then running &lt;code&gt;opencode&lt;/code&gt;, all Chinese text became underscores.&lt;/p&gt;&#xA;&lt;p&gt;This kind of problem is easy to misdiagnose. The first instinct is often to blame the font, the terminal emulator, the opencode version, a color theme, Nerd Font configuration, Unicode width handling, or a bug in the TUI framework. In this case, however, the key question was much narrower: &lt;strong&gt;does the current tmux client believe it can write UTF-8 back to the outer terminal?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;To avoid exposing private environment details, all examples below are generalized. They do not include real hostnames, private addresses, session names, credentials, usernames, or project paths. The only things preserved are the technical facts needed to understand the failure and the fix.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
