<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Wsl on Neale Pickett</title>
    <link>https://woozle.org/tags/wsl/</link>
    <description>Recent content in Wsl on Neale Pickett</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 29 Jun 2026 12:15:45 -0600</lastBuildDate>
    <atom:link href="https://woozle.org/tags/wsl/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Emacs tramp, wsl2, and ssh</title>
      <link>https://woozle.org/blog/2026/06-24-tramp-wsl-ssh/</link>
      <pubDate>Wed, 24 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://woozle.org/blog/2026/06-24-tramp-wsl-ssh/</guid>
      <description>&lt;p&gt;I run emacs in Windows,&#xA;and do all my development in wsl.&#xA;Doing it this way means the laptop will go to sleep:&#xA;running a graphical application in wsl seems to block suspend&#xA;because it uses RDP.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve got a cool &lt;a href=&#34;../04-02-tramp-wsl/&#34;&gt;wsl method for tramp&lt;/a&gt;,&#xA;but it doesn&amp;rsquo;t let a remote ssh access any agents.&#xA;If I&amp;rsquo;m editing code that lives in wsl,&#xA;an I try to &lt;code&gt;git push&lt;/code&gt; or &lt;code&gt;git pull&lt;/code&gt;,&#xA;it prompts for SSH credentials.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using the Windows ssh-agent in wsl</title>
      <link>https://woozle.org/blog/2026/06-24-win-ssh-agent/</link>
      <pubDate>Wed, 24 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://woozle.org/blog/2026/06-24-win-ssh-agent/</guid>
      <description>&lt;p&gt;Since I&amp;rsquo;m using the Windows ssh-agent,&#xA;I&amp;rsquo;d like to make that available to wsl things too.&lt;/p&gt;&#xA;&lt;p&gt;You do that by listening on the ssl agent socket in Linux,&#xA;and forwarding those to a proxy program in Windows,&#xA;which contacts the agent.&lt;/p&gt;&#xA;&lt;h2 id=&#34;in-windows&#34;&gt;In Windows&lt;/h2&gt;&#xA;&lt;p&gt;You need a program called &lt;code&gt;npiperelay&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;winget install albertony.npiperelay&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Restart powershell and display your path to see where npiperelay got installed.&#xA;You&amp;rsquo;ll need that path in the next step.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tramp wsl method</title>
      <link>https://woozle.org/blog/2026/04-02-tramp-wsl/</link>
      <pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://woozle.org/blog/2026/04-02-tramp-wsl/</guid>
      <description>&lt;p&gt;Emacs has a built-in thing called &amp;ldquo;tramp&amp;rdquo; that lets you open files over various transports&#xA;like ssh, docker, and sudo.&lt;/p&gt;&#xA;&lt;p&gt;It doesn&amp;rsquo;t have a built-in method to use wsl files,&#xA;despite Microsoft Copilot insisting this exists.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s how you can make it exist:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-elisp&#34; data-lang=&#34;elisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(use-package tramp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  :config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;;; This uses a program called pipetty, from the colorized-logs package in Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (add-to-list &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tramp-methods&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wsl&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                 (tramp-login-program &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wsl.exe&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                 (tramp-login-args ((&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-d&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;%h&amp;#34;&lt;/span&gt;) (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;--user&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;%u&amp;#34;&lt;/span&gt;) (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pipetty&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;%l&amp;#34;&lt;/span&gt;))))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;;; A version that uses the less-obscure script&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (add-to-list &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tramp-methods&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wsl-script&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                 (tramp-login-program &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wsl.exe&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                 (tramp-login-args ((&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-d&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;%h&amp;#34;&lt;/span&gt;) (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;--user&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;%u&amp;#34;&lt;/span&gt;) (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;script&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-qc&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;%l&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/dev/null&amp;#34;&lt;/span&gt;))))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This works exactly like you would expect.&#xA;For instance, I can now open &lt;code&gt;/wsl:Debian:/etc/profile&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
