<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Ajith's notes]]></title><description><![CDATA[Ajith's notes]]></description><link>https://ajithakdev.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Mon, 02 Nov 2026 06:49:59 GMT</lastBuildDate><atom:link href="https://ajithakdev.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How I install Claude Desktop on Fedora 44 (the official Linux build, no root)]]></title><description><![CDATA[Run Anthropic's official Claude Desktop Linux beta on Fedora: a script that verifies the .deb, installs it without root, fixes dark mode and Cowork.]]></description><link>https://ajithakdev.hashnode.dev/install-claude-desktop-fedora</link><guid isPermaLink="true">https://ajithakdev.hashnode.dev/install-claude-desktop-fedora</guid><category><![CDATA[claude]]></category><category><![CDATA[fedora44]]></category><category><![CDATA[Linux]]></category><category><![CDATA[Claude Desktop]]></category><category><![CDATA[open source]]></category><dc:creator><![CDATA[Ajith Kumar K]]></dc:creator><pubDate>Sat, 24 Oct 2026 18:24:55 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6adcedb5886ba59dba60f5a2/f0ebcc05-979b-4d96-ab9b-a261db6fa6cf.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Anthropic released a Linux beta of Claude Desktop, but it only ships as a <code>.deb</code> for Debian and Ubuntu. I use Fedora 44, so I wrote a small Bash script that installs the same package on Fedora. This post is what it does and why.</p>
<img src="https://raw.githubusercontent.com/ajithakdev/claude-desktop-rpm/main/docs/images/claude-desktop-fedora-dark.png" alt="Claude Desktop running on Fedora 44 GNOME in dark mode" style="display:block;margin:0 auto" />

<h2>Install</h2>
<pre><code class="language-bash">sudo dnf install curl gnupg2 binutils tar
curl -fLO https://github.com/ajithakdev/claude-desktop-rpm/releases/latest/download/claude-desktop-rpm.sh
chmod +x claude-desktop-rpm.sh &amp;&amp; ./claude-desktop-rpm.sh install
</code></pre>
<p>Then open Claude from the app menu and sign in. If something looks off, run:</p>
<pre><code class="language-bash">claude-desktop-rpm doctor
</code></pre>
<p>It checks the install, the tray icon, the keyring, the Quick Entry hotkey and the Cowork requirements, and prints the exact fix for anything missing.</p>
<h2>What it does</h2>
<p>The script downloads Anthropic's package straight from <code>downloads.claude.ai</code>. Before installing anything it checks:</p>
<ul>
<li>the signing key's fingerprint</li>
<li>the signature on the repository index, and that the index hasn't expired</li>
<li>the checksum of the package list, and the checksum of the <code>.deb</code> itself</li>
</ul>
<p>If any check fails, it stops. Then it unpacks the app into <code>~/.local</code>, so the app itself needs no root, and adds a menu entry, icons and the <code>claude://</code> handler that sign-in needs. I don't modify any of Anthropic's files.</p>
<h2>Things that broke on Fedora</h2>
<p><strong>Dark mode.</strong> I set Claude's theme to System, GNOME was dark, and the app stayed light. It turns out Electron here ignores GNOME's dark style setting and only looks at the GTK theme name. Mine is Breeze, which is light. The launcher now sets <code>GTK_THEME=Adwaita:dark</code> when GNOME is in dark mode, and that fixed it.</p>
<p><strong>Cowork.</strong> Claude's agent mode runs in a small VM and looks for the firmware at Debian's path. <code>claude-desktop-rpm cowork</code> installs QEMU, edk2-ovmf and virtiofsd from Fedora's repos and links the firmware where the app expects it. Log out and back in afterwards so the <code>kvm</code> group applies.</p>
<p><strong>Tray icon.</strong> On GNOME you need the AppIndicator extension, otherwise there's no tray icon, and the tray is where Quit lives. <code>doctor</code> tells you whether it's installed and enabled.</p>
<h2>Updates</h2>
<p>A systemd user timer checks for a new version once a day. If Claude is closed, it installs the update right away. If Claude is open, it verifies and stages the update, and the launcher swaps it in the next time you start the app. You can turn this off with <code>claude-desktop-rpm auto-update off</code>.</p>
<h2>Limits</h2>
<p>I've only tested it on Fedora 44 GNOME on x86_64. KDE, RHEL, Rocky and Alma probably work, but I haven't tried them. Computer Use and dictation aren't in Anthropic's Linux build yet, on any distro. And this is a community script, not an official Anthropic project.</p>
<p>If you try it on another setup, I'd like to see your <code>doctor</code> output. Issues and PRs are open:</p>
<p><a href="https://github.com/ajithakdev/claude-desktop-rpm">https://github.com/ajithakdev/claude-desktop-rpm</a></p>
<p><a class="embed-card" href="https://github.com/ajithakdev/claude-desktop-rpm">https://github.com/ajithakdev/claude-desktop-rpm</a></p>
]]></content:encoded></item></channel></rss>