<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="http://0.0.0.0:4000/feed.xml" rel="self" type="application/atom+xml" /><link href="http://0.0.0.0:4000/" rel="alternate" type="text/html" /><updated>2026-09-13T13:50:00-07:00</updated><id>http://0.0.0.0:4000/feed.xml</id><title type="html">Dave Compton</title><subtitle>What I am doing, what I have done, and what I learned along the way.
</subtitle><author><name>{&quot;email&quot;=&gt;&quot;davecompton7@gmail.com&quot;}</name><email>davecompton7@gmail.com</email></author><entry><title type="html">Rust + GKT4 on Windows (v2)</title><link href="http://0.0.0.0:4000/2026/09/13/rust-gkt4-on-windows-v2.html" rel="alternate" type="text/html" title="Rust + GKT4 on Windows (v2)" /><published>2026-09-13T13:12:59-07:00</published><updated>2026-09-13T13:12:59-07:00</updated><id>http://0.0.0.0:4000/2026/09/13/rust---gkt4-on-windows--v2-</id><content type="html" xml:base="http://0.0.0.0:4000/2026/09/13/rust-gkt4-on-windows-v2.html"><![CDATA[<p>This post is mostly the same information as on <a href="/2022/04/10/rust-gkt4-on-windows-getting-started.html">this previous post</a> which, in turn, was taken from <a href="https://doko-demo-doa.medium.com/rust-gtk-on-windows-getting-started-14aa2d7c825d">this medium post</a>, by someone named Doko, which I will refer to in this post as “the Doko page”.</p>

<p>The goal here is to put together a portable rust/gtk4 development environment on windows.  As of this writing I’m using windows11.</p>

<h1 id="install-choco">Install Choco</h1>
<p>These days I’m using the choco package manager on windows.   Installation instructions <a href="https://chocolatey.org/install">here</a></p>

<h1 id="install-rust-and-msys2-using-choco">Install Rust and msys2 (using Choco)</h1>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ choco install rustup.install msys2
Chocolatey v2.7.4
Installing the following packages:
rustup.install;msys2
By installing, you accept licenses for the packages.

</code></pre></div></div>

<p>Update rust with</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>rustup update
</code></pre></div></div>

<h1 id="add-the-gnu-toolchain">Add the GNU toolchain</h1>

<p>The Doko page suggests doing this even before installing the gnu tools.  I had my doubts but it worked.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>rustup target add x86_64-pc-windows-gnu
</code></pre></div></div>

<p>Run …</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>rustup show
</code></pre></div></div>

<p>… to show the current target:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>stable-x86_64-pc-windows-gnu
stable-x86_64-pc-windows-msvc (default)
</code></pre></div></div>

<p>Run …</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>rustup default stable-x86_64-pc-windows-gnu
</code></pre></div></div>

<p>… to switch targets and run …</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>rustup show
</code></pre></div></div>
<p>… again to see that the current target has changed.</p>

<h1 id="using-a-msys-shell-run-the-following-commands">Using a MSYS Shell, run the following commands;</h1>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pacman -S mingw-w64-x86_64-gtk4
pacman -S mingw-w64-x86_64-toolchain
</code></pre></div></div>

<p>The second (toolchain) pacman command gives some options.   The necessary ones for this task are: “binutils”, “gcc”, and “pkgconf”.   Or take the default to install them all which takes longer but seems to work.</p>

<h1 id="add-mingw64bin-to-your-path">Add mingw64/bin to your PATH</h1>

<p>The following is from my shell start script.   I’m running bash in cygwin but something similar should work in the windows cmd.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>export PATH=\
/cygdrive/c/tools/msys64/mingw64/bin:\
$PATH
</code></pre></div></div>
<p>It seems that this is necessary to give access to an executable, dlltool.exe, as well as some other things that are found based on the location of dlltool.exe.   If you see an error message related to dlltool not being found, check your PATH.</p>

<h1 id="compile-and-run-gtk4-programs">Compile and run gtk4 programs.</h1>
<p>Examples are available as part of the <a href="https://github.com/gtk-rs/gtk4-rs">gtk4-rs repository</a>.
They work both on Windows and on Linux without modification.</p>]]></content><author><name>{&quot;email&quot;=&gt;&quot;davecompton7@gmail.com&quot;}</name><email>davecompton7@gmail.com</email></author><summary type="html"><![CDATA[This post is mostly the same information as on this previous post which, in turn, was taken from this medium post, by someone named Doko, which I will refer to in this post as “the Doko page”.]]></summary></entry><entry><title type="html">linux screen blank</title><link href="http://0.0.0.0:4000/2026/08/24/linux-screen-blank.html" rel="alternate" type="text/html" title="linux screen blank" /><published>2026-08-24T11:06:00-07:00</published><updated>2026-08-24T11:06:00-07:00</updated><id>http://0.0.0.0:4000/2026/08/24/linux-screen-blank</id><content type="html" xml:base="http://0.0.0.0:4000/2026/08/24/linux-screen-blank.html"><![CDATA[<h1 id="blank-screen--unresponsive-keyboard-investigation">Blank Screen / Unresponsive Keyboard Investigation</h1>

<h2 id="diagnosis-and-summary-thanks-to-claude">diagnosis and summary thanks to Claude</h2>

<h2 id="symptom">Symptom</h2>
<p>On this Dell 14 Plus 2-in-1 (Intel Lunar Lake, Arc 130V/140V graphics), the screen
occasionally goes completely black and the keyboard stops responding — except F5
(keyboard backlight toggle) still works. Happens after long periods of inactivity
with the laptop lid <strong>open</strong> (not closed), on battery power. Connecting/disconnecting
the charger while stuck made no difference.</p>

<h2 id="diagnosis">Diagnosis</h2>
<p>Checked <code class="language-plaintext highlighter-rouge">journalctl</code>/<code class="language-plaintext highlighter-rouge">dmesg</code> across ~10 recent boots. No kernel panics, GPU
hangs/resets, or unclean shutdowns were logged — but a clear pattern emerged:</p>

<ul>
  <li><strong>Aug 23, 19:17:06</strong> — system entered suspend (<code class="language-plaintext highlighter-rouge">s2idle</code>) after the 15-minute
battery idle timeout</li>
  <li><strong>~20:34–20:35</strong> (≈78 min later) — kernel and networking resumed successfully
(confirmed via Tailscale reconnect logs scrambling back online at that exact time)</li>
  <li><strong>Display and input never came back</strong> — nothing further logged until a hard
power-cycle forced a new boot</li>
</ul>

<p><strong>Root cause:</strong> the kernel resumes from suspend correctly, but the <code class="language-plaintext highlighter-rouge">xe</code> gra
driver / Wayland compositor fails to reinitialize the display pipeline afterward —
a known class of bug on this very new Lunar Lake + <code class="language-plaintext highlighter-rouge">xe</code> driver combination.
Backlight toggling  works because backlight toggling is handled by the EC/ACPI layer directly, not
through the wedged compositor. BIOS was already current (1.11.0), so this is a
driver-side issue, not a firmware gap.</p>

<h2 id="fix-applied">Fix Applied</h2>
<p>Disabled auto-suspend on battery so the machine can’t hit the broken resume.
It will still blank/lock the screen on idle, just won’t suspend:</p>

<p>gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type ‘nothing’</p>

<p>Verified current settings:</p>

<table>
  <thead>
    <tr>
      <th>Setting</th>
      <th>Value</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">sleep-inactive-battery-type</code></td>
      <td><code class="language-plaintext highlighter-rouge">nothing</code></td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">sleep-inactive-battery-timeout</code></td>
      <td>900s</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">sleep-inactive-ac-type</code></td>
      <td><code class="language-plaintext highlighter-rouge">nothing</code></td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">sleep-inactive-ac-timeout</code></td>
      <td>3600s</td>
    </tr>
  </tbody>
</table>

<h2 id="safe-recovery-if-it-happens-again-beforewithout-this-fix">Safe Recovery (if it happens again before/without this fix)</h2>
<p>Instead of holding the power button (risks filesystem corruption from unflushed
writes), use the Magic SysRq key — handled directly by the kernel’s keyboar
interrupt handler, bypassing the frozen compositor entirely.</p>

<p>This system’s SysRq is enabled at level <code class="language-plaintext highlighter-rouge">176</code> (Ubuntu default), which permits only:</p>

<ul>
  <li><strong>S</strong> — sync disks (flush dirty pages)</li>
  <li><strong>U</strong> — remount filesystems read-only</li>
  <li><strong>B</strong> — reboot</li>
</ul>

<p>(<code class="language-plaintext highlighter-rouge">R</code>/<code class="language-plaintext highlighter-rouge">E</code>/<code class="language-plaintext highlighter-rouge">I</code> — raw keyboard toggle and process terminate/kill — are disabled by
default on Debian/Ubuntu and won’t do anything here.)</p>

<p><strong>To use:</strong> hold <strong>Alt+SysRq</strong> (often shares the PrtScn key, sometimes need
tap <strong>S</strong>, release, tap <strong>U</strong>, release, tap <strong>B</strong> — with a brief pause between each.</p>]]></content><author><name>{&quot;email&quot;=&gt;&quot;davecompton7@gmail.com&quot;}</name><email>davecompton7@gmail.com</email></author><summary type="html"><![CDATA[Blank Screen / Unresponsive Keyboard Investigation]]></summary></entry><entry><title type="html">Build Jekyll site locally; serve on Github (v2)</title><link href="http://0.0.0.0:4000/2026/07/11/build-jekyll-site-locally-serve-on-github-v2.html" rel="alternate" type="text/html" title="Build Jekyll site locally; serve on Github (v2)" /><published>2026-07-11T13:41:17-07:00</published><updated>2026-07-11T13:41:17-07:00</updated><id>http://0.0.0.0:4000/2026/07/11/build-jekyll-site-locally--serve-on-github--v2-</id><content type="html" xml:base="http://0.0.0.0:4000/2026/07/11/build-jekyll-site-locally-serve-on-github-v2.html"><![CDATA[<p>This post is a simplified version of <a href="https://davecompton.net/2018/12/13/building-jekyll-site-locally-to-be-displayed-on-github.html">a post from 2018</a>.</p>

<p>The two posts accomplish the same thing but the steps in the earlier post, worked with the repository containing the jekyll source.  The steps in this post work by creating an additional local repository in the _site directory that contains the content to be published.</p>

<hr />

<p>If you publish a Jekyll based website on Github they will do the Jekyll compile for you.  This is easy and quick to set up but here are some reasons you may want to build on your local machine and push the results up to Github:</p>

<ul>
  <li>Github only supports a limited number of Jekyll plugins.  If you use any plugins outside of that set then you must build locally and push the result.</li>
  <li>Other web hosting sites will not support automated Jekyll builds in the same way.  If you want to compare sites you may need to do a local build anyway.</li>
  <li>Github does not provide automated builds for static site generators other than Jekyll.  Knowing how to push a local build lends itself to working with those other static site generators.</li>
</ul>

<p>Here’s a script that provides some help in pushing a local build to the gh-pages branch for a repository.  It’s not very polished - users will need to edit it to specify the correct baseurl for the jekyll build.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>#! /bin/bash

# -- Build with baseurl, '/ntest'
# bundle exec jekyll build --baseurl '/ntest' 

# -- Build with no baseurl
bundle exec jekyll build 

# -- Switch to the _site directory
cd _site/

# -- Set up a git repository for this directory ( if not already done )
git init 
git branch -m gh-pages
git remote add ghp git@github.com:dc25/davecompton.net # of course, use your own remote repo 

# -- add, commit, and push _site contents to gh-pages branch.

git add .
git commit -m 'adding site to be pushed to gh-pages'
git push -f ghp gh-pages
</code></pre></div></div>

<p>After pushing to gh-pages, github will unset any custom domain name you might have specified.   Just re-enter and save it if needed.</p>]]></content><author><name>{&quot;email&quot;=&gt;&quot;davecompton7@gmail.com&quot;}</name><email>davecompton7@gmail.com</email></author><summary type="html"><![CDATA[This post is a simplified version of a post from 2018.]]></summary></entry><entry><title type="html">VMware Shared Folders — Persistent Mount Setup</title><link href="http://0.0.0.0:4000/2026/05/06/vmware-shared-folders-persistent-mount-setup.html" rel="alternate" type="text/html" title="VMware Shared Folders — Persistent Mount Setup" /><published>2026-05-06T10:38:13-07:00</published><updated>2026-05-06T10:38:13-07:00</updated><id>http://0.0.0.0:4000/2026/05/06/vmware-shared-folders---persistent-mount-setup</id><content type="html" xml:base="http://0.0.0.0:4000/2026/05/06/vmware-shared-folders-persistent-mount-setup.html"><![CDATA[<p>Enables automatic mounting of VMware shared folders at <code class="language-plaintext highlighter-rouge">/mnt/hgfs</code> on an Ubuntu guest.</p>

<p>This post and the technique described here are thanks to claude.ai .</p>

<h2 id="prerequisites">Prerequisites</h2>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt <span class="nb">install </span>open-vm-tools
</code></pre></div></div>

<h2 id="steps">Steps</h2>

<p><strong>1. Create the unit file</strong></p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo tee</span> /etc/systemd/system/mnt-hgfs.mount <span class="o">&lt;&lt;</span> <span class="sh">'</span><span class="no">EOF</span><span class="sh">'
[Unit]
Description=VMware Shared Folders
DefaultDependencies=no
Requires=open-vm-tools.service
After=open-vm-tools.service

[Mount]
What=.host:/
Where=/mnt/hgfs
Type=fuse.vmhgfs-fuse
Options=defaults,allow_other,auto_unmount,entry_timeout=0,attr_timeout=0

[Install]
WantedBy=multi-user.target
</span><span class="no">EOF
</span></code></pre></div></div>

<p><strong>2. Enable and start it</strong></p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>systemctl daemon-reload
<span class="nb">sudo </span>systemctl <span class="nb">enable</span> <span class="nt">--now</span> mnt-hgfs.mount
</code></pre></div></div>

<p><strong>3. Verify</strong></p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>systemctl status mnt-hgfs.mount
<span class="nb">ls</span> /mnt/hgfs/
</code></pre></div></div>

<h2 id="notes">Notes</h2>

<ul>
  <li><code class="language-plaintext highlighter-rouge">DefaultDependencies=no</code> is required. Without it, systemd creates an ordering cycle: <code class="language-plaintext highlighter-rouge">.mount</code> units are automatically added to <code class="language-plaintext highlighter-rouge">local-fs.target</code>, but <code class="language-plaintext highlighter-rouge">open-vm-tools</code> starts <em>after</em> <code class="language-plaintext highlighter-rouge">local-fs.target</code>, so the mount can never satisfy its own dependency. <code class="language-plaintext highlighter-rouge">DefaultDependencies=no</code> removes the unit from <code class="language-plaintext highlighter-rouge">local-fs.target</code> ordering, breaking the cycle.</li>
  <li>An <code class="language-plaintext highlighter-rouge">/etc/fstab</code> entry is not a viable alternative — fstab-generated units have <code class="language-plaintext highlighter-rouge">DefaultDependencies=yes</code> and there is no fstab option to override it.</li>
  <li>The mount point <code class="language-plaintext highlighter-rouge">/mnt/hgfs</code> does not need to be created manually; the fuse driver creates it on first mount.</li>
  <li>Shared folders appear as subdirectories under <code class="language-plaintext highlighter-rouge">/mnt/hgfs/</code> (e.g. <code class="language-plaintext highlighter-rouge">/mnt/hgfs/shared</code>).</li>
</ul>]]></content><author><name>{&quot;email&quot;=&gt;&quot;davecompton7@gmail.com&quot;}</name><email>davecompton7@gmail.com</email></author><summary type="html"><![CDATA[Enables automatic mounting of VMware shared folders at /mnt/hgfs on an Ubuntu guest.]]></summary></entry><entry><title type="html">Note to self: VM on windows11</title><link href="http://0.0.0.0:4000/2025/09/02/note-to-self-vm-on-windows11.html" rel="alternate" type="text/html" title="Note to self: VM on windows11" /><published>2025-09-02T16:09:49-07:00</published><updated>2025-09-02T16:09:49-07:00</updated><id>http://0.0.0.0:4000/2025/09/02/note-to-self--vm-on-windows11</id><content type="html" xml:base="http://0.0.0.0:4000/2025/09/02/note-to-self-vm-on-windows11.html"><![CDATA[<ul>
  <li>After upgrading to windows 11, virtualbox no longer worked.</li>
  <li>Spent a little time trying to fix but gave up eventually.</li>
  <li><a href="https://askubuntu.com/questions/1415045/ubuntu-22-04-seems-to-freeze-in-virtualbox-6-1-on-windows-11">Others</a> seem to be having similar problems.</li>
  <li>Tried disabling hyper-v per: <a href="https://www.xda-developers.com/disable-hyper-v-windows-11/">disable hyper-v</a> by running “Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Hypervisor” in powershell.</li>
  <li>Also accessed hyper-v setting through control panel.</li>
  <li>This appeared to have disabled hyper-v (as seen in control panel) but didn’t seem to help with virtualbox.</li>
  <li>Gave up on virtualbox and decided to try vmware.</li>
  <li>Had to create support.broadcom.com login.</li>
  <li>Downloaded vmware from broadcom. VMWare Workstation Pro for windows under free downloads.</li>
  <li>Spent some time trying to get bridged networking to work but eventually gave up and decided to fall back on NAT (which actually should be fine).</li>
  <li>per:    <a href="https://askubuntu.com/a/1399909/1176839">This askubuntu answer</a>  was able to mount from windows host using : “sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other”</li>
  <li>also per:    <a href="https://askubuntu.com/a/1399909/1176839">This askubuntu answer</a>  use “.host:/   /mnt/hgfs   fuse.vmhgfs-fuse    auto,allow_other,uid=1000,gid=1000    0   0” in /etc/fstab to get mount to persist.</li>
  <li>Files created with this mount are owned by root.   Still needs work.</li>
  <li>Left hyper-v off for now.   Is this a problem?</li>
  <li>Installed open-vm-tools as follows: “sudo apt install open-vm-tools open-vm-tools-desktop” per : https://knowledge.broadcom.com/external/article?legacyId=2073803</li>
</ul>]]></content><author><name>{&quot;email&quot;=&gt;&quot;davecompton7@gmail.com&quot;}</name><email>davecompton7@gmail.com</email></author><summary type="html"><![CDATA[After upgrading to windows 11, virtualbox no longer worked. Spent a little time trying to fix but gave up eventually. Others seem to be having similar problems. Tried disabling hyper-v per: disable hyper-v by running “Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Hypervisor” in powershell. Also accessed hyper-v setting through control panel. This appeared to have disabled hyper-v (as seen in control panel) but didn’t seem to help with virtualbox. Gave up on virtualbox and decided to try vmware. Had to create support.broadcom.com login. Downloaded vmware from broadcom. VMWare Workstation Pro for windows under free downloads. Spent some time trying to get bridged networking to work but eventually gave up and decided to fall back on NAT (which actually should be fine). per: This askubuntu answer was able to mount from windows host using : “sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other” also per: This askubuntu answer use “.host:/ /mnt/hgfs fuse.vmhgfs-fuse auto,allow_other,uid=1000,gid=1000 0 0” in /etc/fstab to get mount to persist. Files created with this mount are owned by root. Still needs work. Left hyper-v off for now. Is this a problem? Installed open-vm-tools as follows: “sudo apt install open-vm-tools open-vm-tools-desktop” per : https://knowledge.broadcom.com/external/article?legacyId=2073803]]></summary></entry><entry><title type="html">Notes about tteck dashboards for proxmox</title><link href="http://0.0.0.0:4000/2024/03/02/notes-about-tteck-dashboards-for-proxmox.html" rel="alternate" type="text/html" title="Notes about tteck dashboards for proxmox" /><published>2024-03-02T09:03:56-08:00</published><updated>2024-03-02T09:03:56-08:00</updated><id>http://0.0.0.0:4000/2024/03/02/notes-about-tteck-dashboards-for-proxmox</id><content type="html" xml:base="http://0.0.0.0:4000/2024/03/02/notes-about-tteck-dashboards-for-proxmox.html"><![CDATA[<p>I’m trying out some of the “dashboards” for proxmox listed under the tteck scripts collection.   I’ll update this page as I go.</p>

<hr />
<h1 id="mafl-lxc">Mafl LXC</h1>

<p>Installation went smoothly.   Access was in browser via port 3000. This results in a page that looks like this:</p>

<p><img src="https://github.com/dc25/davecompton.net_images/raw/main/mafl_home_page.jpg" alt="image from github" /></p>

<p>As far as I can tell, each of these icons is a link that by default is not enabled.   I looked briefly at the documentation to find out what it takes to get them working but got impatient and moved on.</p>

<hr />
<h1 id="heimdall-dashboard-lxc">Heimdall Dashboard LXC</h1>

<p>Again, install went smoothly.   Access through port 7990, Used the builtin gui to add a couple of “apps” resulting in this:</p>

<p><img src="https://github.com/dc25/davecompton.net_images/raw/main/heimdall_dashboard.jpg" alt="image from github" /></p>

<p>These are clickable and I configured them to link to the plex and pi-hole web interfaces.</p>

<p>I’m starting to get the impression that a “dashboard” is just a fancy collection of bookmarks.</p>

<hr />
<h1 id="homepage-lxc">Homepage LXC</h1>

<p>Again, install went without a hitch.   Access using browser at port# 3000.   Configure using scripts at /opt/homepage/config . I added plex and LMS to get a setup like this:</p>

<p><img src="https://github.com/dc25/davecompton.net_images/raw/main/homepage_dashboard.jpg" alt="image from github" /></p>

<hr />
<h1 id="thoughts">Thoughts</h1>

<p>These seem pretty easy to install and configure but I don’t think they buy you all that much.   I’ll probably stick with plain old bookmarks.</p>]]></content><author><name>{&quot;email&quot;=&gt;&quot;davecompton7@gmail.com&quot;}</name><email>davecompton7@gmail.com</email></author><summary type="html"><![CDATA[I’m trying out some of the “dashboards” for proxmox listed under the tteck scripts collection. I’ll update this page as I go.]]></summary></entry><entry><title type="html">Windows sshd notes</title><link href="http://0.0.0.0:4000/2023/12/14/windows-sshd-notes.html" rel="alternate" type="text/html" title="Windows sshd notes" /><published>2023-12-14T05:14:27-08:00</published><updated>2023-12-14T05:14:27-08:00</updated><id>http://0.0.0.0:4000/2023/12/14/windows-sshd-notes</id><content type="html" xml:base="http://0.0.0.0:4000/2023/12/14/windows-sshd-notes.html"><![CDATA[<p>Yesterday I tried (but failed) to get sshd working on my windows machine.   Here are some notes to self in case I ever go this route again.
I’ve been using <a href="https://chocolatey.org/install">choco</a> to install windows software when possible.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ choco install openssh
Chocolatey v2.2.2
3 validations performed. 2 success(es), 1 warning(s), and 0 error(s).

Validation Warnings:
 - System Cache directory is not locked down to administrators.
   Remove the directory 'C:\ProgramData\ChocolateyHttpCache' to have
   Chocolatey CLI create it with the proper permissions.

Installing the following packages:
openssh
By installing, you accept licenses for the packages.
Progress: Downloading openssh 8.0.0.1... 100%

openssh v8.0.0.1 [Approved]
openssh package files install completed. Performing other installation steps.
The package openssh wants to run 'chocolateyinstall.ps1'.
Note: If you don't run this script, the installation will fail.
Note: To confirm automatically next time, use '-y' or consider:
choco feature enable -n allowGlobalConfirmation
Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): Y

Running on: Windows 10 Pro, (Professional)
Windows Version: 10.0.19045

************************************************************************************
************************************************************************************
This package is a Universal Installer and can ALSO install Win32-OpenSSH on
Nano, Server Core, Docker Containers and more WITHOUT using Chocolatey.

.... (more output)
</code></pre></div></div>

<p>Now, per <a href="https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH">OpenSSH instructions</a> , open port 22 , install openssh as a service, and start the service</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>dc202@DESKTOP-MAR8MAD /cygdrive/c
$ cd 'c:/Program Files/OpenSSH-Win64'

dc202@DESKTOP-MAR8MAD /cygdrive/c/Program Files/OpenSSH-Win64
$ netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
Ok.


dc202@DESKTOP-MAR8MAD /cygdrive/c/Program Files/OpenSSH-Win64
$ powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
[SC] SetServiceObjectSecurity SUCCESS
[SC] ChangeServiceConfig2 SUCCESS
[SC] ChangeServiceConfig2 SUCCESS
sshd and ssh-agent services successfully installed

dc202@DESKTOP-MAR8MAD /cygdrive/c/Program Files/OpenSSH-Win64
$ net start sshd
The OpenSSH SSH Server service is starting.
The OpenSSH SSH Server service was started successfully.


dc202@DESKTOP-MAR8MAD /cygdrive/c/Program Files/OpenSSH-Win64
$
</code></pre></div></div>

<p>That seems to be <em>almost</em> enough but when I try to log in remotely, ssh rejects my password:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>dave@vbox:/tmp$ ssh -l dc202 192.168.8.146
dc202@192.168.8.146's password:
Permission denied, please try again.
dc202@192.168.8.146's password:
</code></pre></div></div>

<p>At this point I searched online a little for a solution but eventually gave up (for now).</p>

<p>I restored the machine to its previous state.   Thanks to <a href="https://superuser.com/a/1237985">this superuser.com answer from “Vomit IT - Chunky Mess Style”</a> for telling how to undo the firewall changes.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>dc202@DESKTOP-MAR8MAD /cygdrive/c/Program Files
$ net stop sshd

The OpenSSH SSH Server service was stopped successfully.


dc202@DESKTOP-MAR8MAD /cygdrive/c/Program Files
$ netsh advfirewall firewall show rule status=enabled name=all | grep sshd
Rule Name:                            sshd

dc202@DESKTOP-MAR8MAD /cygdrive/c/Program Files
$ netsh advfirewall firewall delete rule name="sshd"

Deleted 1 rule(s).
Ok.


dc202@DESKTOP-MAR8MAD /cygdrive/c/Program Files
$ cd 'c:/Program Files/OpenSSH-Win64'/

dc202@DESKTOP-MAR8MAD /cygdrive/c/Program Files/OpenSSH-Win64
$ powershell.exe -ExecutionPolicy Bypass -File uninstall-sshd.ps1
sshd successfully uninstalled
ssh-agent successfully uninstalled

dc202@DESKTOP-MAR8MAD /cygdrive/c/Program Files/OpenSSH-Win64
$ cd ..

dc202@DESKTOP-MAR8MAD /cygdrive/c/Program Files
$ choco uninstall openssh
Chocolatey v2.2.2
3 validations performed. 2 success(es), 1 warning(s), and 0 error(s).

dc202@DESKTOP-MAR8MAD /cygdrive/c/Program Files
$ rm -rf OpenSSH-Win64/
</code></pre></div></div>

<p>If anyone reads this and happens to know what the missing link is to get logins working, please let me know.</p>]]></content><author><name>{&quot;email&quot;=&gt;&quot;davecompton7@gmail.com&quot;}</name><email>davecompton7@gmail.com</email></author><summary type="html"><![CDATA[Yesterday I tried (but failed) to get sshd working on my windows machine. Here are some notes to self in case I ever go this route again. I’ve been using choco to install windows software when possible.]]></summary></entry><entry><title type="html">RSS “tricks” to access various sources (reddit, twitter, etc)</title><link href="http://0.0.0.0:4000/2023/03/31/note-to-self-rss-for-stack-overflow-and-reddit.html" rel="alternate" type="text/html" title="RSS “tricks” to access various sources (reddit, twitter, etc)" /><published>2023-03-31T06:31:01-07:00</published><updated>2023-03-31T06:31:01-07:00</updated><id>http://0.0.0.0:4000/2023/03/31/note-to-self--rss-for-stack-overflow-and-reddit</id><content type="html" xml:base="http://0.0.0.0:4000/2023/03/31/note-to-self-rss-for-stack-overflow-and-reddit.html"><![CDATA[<p>Here are some RSS tricks (I’m sure there’s a better word but that will do for now).   I’ll add more as I learn about them.</p>

<ul>
  <li>
    <p>For reddit.com/r/rust RSS feed, use : www.reddit.com/r/rust/new/.rss</p>
  </li>
  <li>
    <p>For stack overflow questions tagged rust use: https://stackoverflow.com/feeds/tag/rust?sort=newest</p>
  </li>
  <li>
    <p>For google alerts, create the alert via alerts.google.com, edit the alert to “Deliver to” RSS feed, then follow the RSS icon for the new alert.</p>
  </li>
  <li>
    <p>For mastodon, use, for example, https://mathstodon.xyz/@johncarlosbaez.rss</p>
  </li>
  <li>
    <p>For twitter, use a nitter instance.  For example: https://nitter.privacydev.net/nytimes/rss .   Twitter seems to be a moving target.</p>
    <ul>
      <li>As of 8/21/2023, the twitter/nitter technique here worked but it may not last.</li>
      <li>As of 09/01/2023 it’s broken.</li>
      <li>If anyone reading this knows a way to view a twitter feed as rss, please let me know.</li>
    </ul>
  </li>
</ul>]]></content><author><name>{&quot;email&quot;=&gt;&quot;davecompton7@gmail.com&quot;}</name><email>davecompton7@gmail.com</email></author><summary type="html"><![CDATA[Here are some RSS tricks (I’m sure there’s a better word but that will do for now). I’ll add more as I learn about them.]]></summary></entry><entry><title type="html">Proof of Concept: image hosting</title><link href="http://0.0.0.0:4000/2023/02/05/proof-of-concept-image-hosting.html" rel="alternate" type="text/html" title="Proof of Concept: image hosting" /><published>2023-02-05T06:30:31-08:00</published><updated>2023-02-05T06:30:31-08:00</updated><id>http://0.0.0.0:4000/2023/02/05/proof-of-concept--image-hosting</id><content type="html" xml:base="http://0.0.0.0:4000/2023/02/05/proof-of-concept-image-hosting.html"><![CDATA[<p>There are a number of sites that will host images for free.   Some of these are demonstrated below.   Remember these are free solutions that may or may not be maintained so it’s probably a good idea to keep local copies of all your photos (i.e. don’t use these for storage - just for display).   I may add to the collection if I learn about other hosting options.</p>

<hr />
<h1 id="dropbox">Dropbox:</h1>
<p><img src="https://www.dropbox.com/s/ffmsl8yel52wtbt/bird.jpg?raw=1" alt="image from dropbox" />
<a href="https://www.dropboxforum.com/t5/Create-upload-and-share/How-do-I-embed-images-with-a-direct-link-from-Dropbox/td-p/245432">How to get dropbox image url.</a></p>

<hr />
<h1 id="flickr">Flickr:</h1>
<p><img src="https://live.staticflickr.com/65535/52670424446_5abbf3bb04_o.jpg" alt="image from flickr" />
<a href="https://www.flickrhelp.com/hc/en-us/articles/4404078014356-Share-or-Embed-Flickr-Photos-or-Albums">How to get flickr image url.</a></p>

<hr />
<h1 id="github">github:</h1>
<p><img src="https://github.com/dc25/birdphoto/raw/main/bird.jpg" alt="image from github" />
I got the image link by :</p>
<ul>
  <li>Uploading the image to <a href="https://github.com/dc25/birdphoto">a github repository</a>.</li>
  <li>Clicking on the <a href="https://github.com/dc25/birdphoto/blob/main/bird.jpg">image in the repository</a></li>
  <li>Right clicking on the download link and selecting “Copy link address”</li>
</ul>

<hr />
<h1 id="imgurcom">imgur.com:</h1>
<p><img src="https://i.imgur.com/VJtlHBD.jpg" alt="image from imgur.com" />
Just click on the uploaded image in imgur.com and use the “Direct Link”</p>

<hr />
<h1 id="imgbbcom">imgbb.com:</h1>
<p><img src="https://i.ibb.co/sw3Zpzq/bird.jpg" alt="image from imgbb.com" />
use the “Direct links” option in the “Embed codes” menu for the uploated image in imgbb.com</p>

<hr />
<p>Below is the markup for <em>this</em> page, included to show how to embed the images.</p>

<div class="code-container" style="height:800px">
  <iframe class="code-text" src="https://dc25.github.io/showCode?codeURL=https%3A%2F%2Fraw.githubusercontent.com%2Fdc25%2Fdavecompton.net%2Fmaster%2F_posts%2F2023-02-05-proof-of-concept--image-hosting.markdown"></iframe>
  <hr />
  <div class="code-bar">
	  <a href="https://github.com/dc25/davecompton.net/blob/master/_posts/2023-02-05-proof-of-concept--image-hosting.markdown" class="code-link">2023-02-05-proof-of-concept--image-hosting.markdown</a>
	  <a href="https://raw.githubusercontent.com/dc25/davecompton.net/master/_posts/2023-02-05-proof-of-concept--image-hosting.markdown" class="code-raw-link">view raw</a>
  </div>
</div>
<p><br /></p>]]></content><author><name>{&quot;email&quot;=&gt;&quot;davecompton7@gmail.com&quot;}</name><email>davecompton7@gmail.com</email></author><summary type="html"><![CDATA[There are a number of sites that will host images for free. Some of these are demonstrated below. Remember these are free solutions that may or may not be maintained so it’s probably a good idea to keep local copies of all your photos (i.e. don’t use these for storage - just for display). I may add to the collection if I learn about other hosting options.]]></summary></entry><entry><title type="html">Changing the default grub selection (almost painless)</title><link href="http://0.0.0.0:4000/2022/11/07/changing-the-default-grub-selection-almost-painless.html" rel="alternate" type="text/html" title="Changing the default grub selection (almost painless)" /><published>2022-11-07T07:05:06-08:00</published><updated>2022-11-07T07:05:06-08:00</updated><id>http://0.0.0.0:4000/2022/11/07/changing-the-default-grub-selection--almost-painless-</id><content type="html" xml:base="http://0.0.0.0:4000/2022/11/07/changing-the-default-grub-selection-almost-painless.html"><![CDATA[<p>A couple months ago I added Linux Mint as a boot option on my work computer.   This morning after booting into Mint for the first time in months, updating with apt, and rebooting I found that my grub boot menu had been reordered with Mint as default.  Because I rarely boot into Mint, I wanted to change the default boot selection.</p>

<p>Later on, working in Ubuntu now, I searched the web and found <a href="https://askubuntu.com/a/110738">these instructions</a> that say to</p>
<ul>
  <li>change /etc/default/grub to specify a default</li>
  <li>run update-grub.</li>
</ul>

<p>I did this but nothing changed.</p>

<p>The reason that nothing changed is that Mint had taken ownership of the boot process.   After booting into Mint and making the same changes, the default boot option was updated as expected.</p>

<p>Looking back, this should have been obvious but it cost me a few minutes.</p>

<p>At some point, I expect that an Ubuntu update will again rewrite the grub configuration and I’ll have to go through the process again on the Ubuntu side.</p>]]></content><author><name>{&quot;email&quot;=&gt;&quot;davecompton7@gmail.com&quot;}</name><email>davecompton7@gmail.com</email></author><summary type="html"><![CDATA[A couple months ago I added Linux Mint as a boot option on my work computer. This morning after booting into Mint for the first time in months, updating with apt, and rebooting I found that my grub boot menu had been reordered with Mint as default. Because I rarely boot into Mint, I wanted to change the default boot selection.]]></summary></entry></feed>