<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bambustudio on Zwindler's Reflection</title><link>https://blog.zwindler.fr/en/tags/bambustudio/</link><description>Recent content in Bambustudio on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Sun, 04 May 2025 12:00:00 +0200</lastBuildDate><atom:link href="https://blog.zwindler.fr/en/tags/bambustudio/index.xml" rel="self" type="application/rss+xml"/><item><title>AppImages on Ubuntu, Example with Bambu Studio</title><link>https://blog.zwindler.fr/en/2025/05/04/appimages-on-ubuntu-example-with-bambu-studio/</link><pubDate>Sun, 04 May 2025 12:00:00 +0200</pubDate><guid>https://blog.zwindler.fr/en/2025/05/04/appimages-on-ubuntu-example-with-bambu-studio/</guid><description>&lt;img src="https://blog.zwindler.fr/2025/05/desktop.webp" alt="Featured image of post AppImages on Ubuntu, Example with Bambu Studio" /&gt;&lt;h2 id="bambu-studio-and-3d-printing-on-linux"&gt;Bambu Studio and 3D Printing on Linux
&lt;/h2&gt;&lt;p&gt;For a few months now, as you know, I&amp;rsquo;ve gotten into 3D printing. And while at the beginning, I started with Klipper (for the 3D printer) and &lt;a class="link" href="https://slic3r.org/" target="_blank" rel="noopener"
&gt;Slic3r&lt;/a&gt; (or rather its fork, Artillery Slicer) for slicing, since January I&amp;rsquo;ve switched to a Bambu Labs printer that I&amp;rsquo;m very happy with (that comment should upset LinuxFR).&lt;/p&gt;
&lt;p&gt;Of course, when I bought the printer, I checked if there was a Linux-compatible slicer, because Windows is fine for gaming (even then) but if I can skip it for 3D printing, that&amp;rsquo;s good too.&lt;/p&gt;
&lt;h2 id="yes-but"&gt;Yes, but&amp;hellip;
&lt;/h2&gt;&lt;p&gt;So yes, it&amp;rsquo;s &amp;ldquo;supported&amp;rdquo; (note the quotes) but it&amp;rsquo;s not as straightforward as for Windows and MacOS where you just click a button.&lt;/p&gt;
&lt;p&gt;A quick visit to the tool&amp;rsquo;s download site will reveal that we Linux users are indeed second-class nerds for BambuLab.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/05/t%c3%a9l%c3%a9chargement.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;You can see in tiny text that for Linux, we&amp;rsquo;ll have to settle for Github releases.&lt;/p&gt;
&lt;p&gt;Well, the idea of not bothering and using Wine emulation crossed my mind, but I figured I&amp;rsquo;d try the official method.&lt;/p&gt;
&lt;h2 id="appimage"&gt;AppImage
&lt;/h2&gt;&lt;p&gt;There are two options. The first, via AppImages, is the one that&amp;rsquo;s highlighted but probably not the most &amp;ldquo;practical&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Actually, I discovered a bit later that there&amp;rsquo;s a flatpak available through the flathub repository. The only &amp;ldquo;downside&amp;rdquo; is that it requires yet another package manager, but it&amp;rsquo;s not impossible that you already have it&amp;hellip;&lt;/p&gt;
&lt;p&gt;So, I&amp;rsquo;ll stick in this article with the method I used, namely AppImages, because it will allow us to play with Ubuntu&amp;rsquo;s .desktop files and that&amp;rsquo;s 2 tutorials in one (and that&amp;rsquo;s fun).&lt;/p&gt;
&lt;h2 id="download-and-launch"&gt;Download and Launch
&lt;/h2&gt;&lt;p&gt;This part is the simplest. So we simply go to BambuStudio&amp;rsquo;s github releases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/bambulab/BambuStudio/releases" target="_blank" rel="noopener"
&gt;github.com/bambulab/BambuStudio/releases&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We take the latest one and download it:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/05/releases.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Note that AppImages are only available for Ubuntu 22.04 and 24.04 (and Fedora). A few versions earlier, it was 20.04 and 24.04. Since the AppImage is linked to libs (gtk) present on the OS, if you launch the Ubuntu image with the wrong version, it won&amp;rsquo;t find the lib version and it&amp;rsquo;s very annoying.&lt;/p&gt;
&lt;p&gt;You can cheat by &lt;em&gt;linking&lt;/em&gt; the versions so it finds the lib but it&amp;rsquo;s probably quite risky as a workaround&amp;hellip;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo ln -sf /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.1.so.0 /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Once the archive is downloaded and extracted, you&amp;rsquo;ll end up with a folder containing the AppImage directly.&lt;/p&gt;
&lt;p&gt;If you double-click on it, it should work, Bambu Studio will launch.&lt;/p&gt;
&lt;h2 id="victory"&gt;Victory?
&lt;/h2&gt;&lt;p&gt;Yes OK, it works, but it&amp;rsquo;s still not very practical to go to the Downloads folder and click on the AppImage.&lt;/p&gt;
&lt;p&gt;You can obviously move the AppImage to a folder in your PATH (&lt;code&gt;/usr/local/bin&lt;/code&gt;) and call it via a terminal, but that&amp;rsquo;s not great either in terms of user experience (I&amp;rsquo;m not the only one doing 3D printing at home).&lt;/p&gt;
&lt;p&gt;Enter &lt;code&gt;.desktop&lt;/code&gt; files. This is a text file that will allow us to add the appImage to Ubuntu&amp;rsquo;s application list and that&amp;rsquo;s nice because it&amp;rsquo;s user friendly.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ll move the AppImage to a folder in PATH, and create a symbolic link:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /home/zwindler/.local/bin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mv Téléchargements/BambuStudio_ubuntu-24.04_PR-6688/Bambu_Studio_ubuntu-24.04_PR-6688.AppImage .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ln -s Bambu_Studio_ubuntu-24.04_PR-6688.AppImage bambustudio
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Why am I creating a symbolic link? 2 reasons.&lt;/p&gt;
&lt;p&gt;The first is that if I still want to launch Bambu Studio from my terminal (in case of issues at launch, I want to be able to see the logs), I can do it by simply running the command &lt;code&gt;bambustudio&lt;/code&gt; and not &lt;code&gt;Bambu_Studio_ubuntu-24.04_PR-6688.AppImage&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The second is that at the next update, I&amp;rsquo;ll &amp;ldquo;just&amp;rdquo; have to modify the symbolic link to point to the new appImage rather than having to redo all the steps that follow.&lt;/p&gt;
&lt;p&gt;By default, all applications in the list are in your &lt;code&gt;.local/share/applications/&lt;/code&gt; folder:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;zwindler@normandy:~$ ls .local/share/applications/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;appimagekit-openshot-qt.desktop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Bambu_Studio.desktop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chrome-hmjkmjkepdijhoojdojkdfohbdgmmhki-Default.desktop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mimeapps.list
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mimeinfo.cache
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;userapp-Firefox-V48P02.desktop
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here&amp;rsquo;s what our &lt;code&gt;Bambu_Studio.desktop&lt;/code&gt; file should look like:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;Desktop&lt;/span&gt; &lt;span class="nx"&gt;Entry&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="nx"&gt;Bambu&lt;/span&gt; &lt;span class="nx"&gt;Studio&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;GenericName&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="nx"&gt;Bambu&lt;/span&gt; &lt;span class="nx"&gt;Studio&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Comment&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="nx"&gt;Bambu&lt;/span&gt; &lt;span class="nx"&gt;Studio&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Exec&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;home&lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;zwindler&lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;local&lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;bin&lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;bambustudio&lt;/span&gt; &lt;span class="err"&gt;%&lt;/span&gt;&lt;span class="nx"&gt;F&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Icon&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;home&lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;zwindler&lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;local&lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;share&lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;icons&lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;bambustudio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;png&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Terminal&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="nx"&gt;Application&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Nothing too extravagant here, we mainly give the application name, a Type, and an execution path (and some additional parameters).&lt;/p&gt;
&lt;p&gt;The most observant among you will have noticed that you can also add an icon, it&amp;rsquo;s true that it&amp;rsquo;s much nicer to add the Bambu Lab logo than the default icon&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/05/icon1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;I got the Bambu Lab logo from their Github and placed it in the &lt;code&gt;/home/zwindler/.local/share/icons/&lt;/code&gt; folder:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://avatars.githubusercontent.com/u/96461528?s=200&amp;amp;v=4" target="_blank" rel="noopener"
&gt;avatars.githubusercontent.com/u/96461528?s=200&amp;amp;v=4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And here&amp;rsquo;s the result :)&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/05/desktop.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="addendum"&gt;Addendum
&lt;/h2&gt;&lt;p&gt;If you REALLY want to do AppImages, there&amp;rsquo;s a github project with 6k stars, &lt;strong&gt;AppImageLauncher&lt;/strong&gt;, that helps manage AppImages&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/TheAssassin/AppImageLauncher" target="_blank" rel="noopener"
&gt;https://github.com/TheAssassin/AppImageLauncher&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;makes your Linux desktop AppImage ready™&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Basically it&amp;rsquo;s a launcher for AppImages, which gives you the choice between installing AppImages for you or running them oneshot, deleting and updating images, and a CLI.&lt;/p&gt;
&lt;p&gt;Thanks Fabio for the info.&lt;/p&gt;</description></item></channel></rss>