Linux AppImage Finally Addresses Greatest Flaw!!
Key Takeaways
This video discusses the updates to Linux AppImage and its greatest flaw
Full Transcript
there was a time really not that long ago where app image was incredibly convenient and really simple to use all you would do is download the app image maybe rename it to make it a bit easier to find you would make it executable and then in your file manager double click it or from a terminal you would just run the file and then on pretty much any Linux system it would just load the application that time is kinda long pass now for quite a while app Images has basically been on life support any major reason for this is more and more distros choosing not to ship one of its dependencies completely destroying the selling point over other systems the idea of an app image is you download it and it runs no questions asked and it's very unclear from the app image website that there's even anything you need to install leading Linux distributions download an application make it executable and run no need to install no system libraries or preferences are altered can also run in a sandbox like fire jail and lists out all of these different distros here this one shouldn't even be on the list anymore distribute your desktop Linux application in the app image format and win users running all common Linux distributions package once and run everywhere reach users on all major desktop distributions and it doesn't even mention the dependency in the quick start guide literally all it says is you can run it or from the terminal you can run it the only mention of the dependency at least the only one that I can find is in the troubleshooting guide so it's like hey I get some errors related to something called fuse that is because your distro is missing lib fuse too this project had its last release all the way back on January 5th 2019 but that doesn't mean that lib fuse itself is over there's a lib fuse too so there's probably a lib fuse one and a live fuse three this is a maintenance release from the 2.9 branch of lib fuse users are encouraged to transition to the actively developed lib 3.x with its latest release being three weeks ago lib fuse 3.14.0 now unlike some projects that are done like d menu like St things like that where they don't need to be updated lib fuse 2 is not like lib fuse 2 has known security vulnerabilities it has known bugs and if you're going to be using lib views you should be updating to the three-point X branch and since the last update of 2.x was three years ago distros like Ubuntu stop shipping it in 22.04 and a lot of other distros out there basically just do what Ubuntu does now in most cases it is still going to be available in your repos it's just not going to be installed out of the box with the continuing rise of flat pack app image is basically just going to waste and nobody is going to make an app image if it doesn't really have any benefit over the other Solutions anymore but finally the app image developer accepts that there is a real problem not just the problem with live fuse too also the Alpine problem use lib View use three but before that quick explanation on what lib fuse actually is lib fuse it is a library for fuse fuse stands for file system in user space and this does basically what it says on the tin typically file system operations require you to be a privileged user typically the root user you don't want to just have a regular user you know making petitions deleting the boot petition so leaving this to the privileged user you know makes perfect sense but there are cases where you want to have a non-privileged user be able to you know mount a drive for example let's say they plug in a USB thumb drive let's say they have like a phone for example and they want to access its contents these are perfectly reasonable cases so what fuse lets you do is run that false system code in user space as a non-privileged user and then acts as a bridge to the Eternal functions and all the things that need to go on in the background to make a false system work it is by no means the quickest or most efficient way to handle file systems but for things like this it is perfectly functional and app image relies on this functionality let's get over to the I guess it's GitHub so we pull the request we are not interested in updating the major version of the statically linked live views all the time however it has been said that Upstream does not provide security fixes for lib fuse too anymore is there a link to this this was posted three days ago by the way so in the past three years he has not looked at the lib fuse repo to see that has not been updated literally look at the repo and you will see that none of these cves that exist granted there's not that many here are ever going to be addressed hence we should use lib fuse in the hope that the fuse project object will stay with that major version indefinitely which is not was not and never will be the goal of the lib fuse project at some point there will be a lib juice 4 at some point there will be a lib fuse five they're not gonna stay on lib fuse three that's just not how this works but there is a reason why he doesn't want to try and keep it updated with whatever's going on are there any compatibility guarantees with regard to fuse amount fuse amount three fuse amount and you know whatever version comes in the future app Images currently rely on the fuse amount binary being there some distributions are now shipping fuse amount 3 by default one day they might ship fuse Mount 4 fusel Mount n it would be very valuable to know for sure that versions of fuse amount will continue to be compatible to earlier ones so that things like go fuse could be made to work not just for fuse amount and fusel mount 3 but also for future versions there are no compatibility guarantees however multiple major versions of lib views are intended to be co-installable and the right version of fuse amount should be pulled in automatically through the dependency on the right lib view shared Library this is true the problem is that a lot of gestures just don't ship the version that app image is using because that version is dead now to work out how we got here let's go back to when Ubuntu basically killed app image when this happened the dev realized that something had to be done otherwise there's no reason to even use an app image from here he had a couple of different considerations one of them was actually removing the need for fuse amount the fuse amount command might change in the future currently some distributions are shipping fuse amount While others are shipping fuse amount three and at some point in the future they might ship other versions Upstream seems to make no compatibility guarantees regarding future versions of choose amount so we need to find a way to get rid of fuse amount all together and he had a tool that was doing it the problem is it required a root permissions and he even considered hatching lib fuse too having more than one live fuse doubles the maintenance burden in size so it is not something we should do instead we should patch lib fuse so that it tries in this order fuse amount fuse amount two fuse amount three so on and so forth until the end of time that patch would never be accepted because lib fuse 2 is a dead project and then eventually this all circled back to a completely separate issue from 2018. if you're an Alpine Linux user you've probably noticed that app Images have never worked because app Images are dynamically linked against libc Alpine Linux being a non-gunu system does not have glib C so app Images don't work the plan here is to statically link them instead but this plan also helps with lib fuse as well if lib fuse is statically linked assuming that it still works with the current kernel so an app image should theoretically work on any distribution whatsoever here's the problem though initially when he was planning to do the static linking he was going to statically link against lib fuse 2. this once again was being discussed this year there was no reason why in 2023 you would statically link against lib fuse too so then he decided wait maybe we should statically link against lib fuse 3 instead yes correct this is where we should have been from the start and there is an experimental build tool for doing this static linking but it's experimental so it's gonna take a while for things you know get ready to be used by everyone so here's my prediction app image is going to have the ability to be statically linked against lib fuse 3 and then three four five years from now the exact same thing is going to happen lib fuse 3 is no longer going to be updated you're supposed to move to lib fuse 4 and app image is not going to do so and then the developer is going to say hmm are there any links to show that lib fuse 3 is no longer being updated I haven't looked at the repo in three years I have no idea and you know what the same thing will probably happen once again app image is a really weird project it sort of frames itself as this really useful tool that would be great for everybody to use but it's kind of maintained as if it's a personal project for the developer and there's nothing wrong with either of these things happening the problem is when they happen at the same time pick one or the other and it'll give people a better understanding of whether they should or shouldn't use app image but let me know your thoughts do you think they should do the static linking do you think it's not really that big of a deal you have to just install a package and they work I would love to know and if you liked the video go and like the video and if you really like the video and you want to become one of these amazing people over here check out my patreon scrub Silly Bear pay Linked In the description down below that's gonna be it for me and use flat pack [Applause] [Music]
Original Description
Linux Appimages were at one point incredibly convenient and easy to use, that point is long past and now they don't work out of the box on distros like Ubuntu but there is a plan in the works to fix this problem.
==========Support The Channel==========
► $100 Linode Credit: https://brodierobertson.xyz/linode
► Patreon: https://brodierobertson.xyz/patreon
► Paypal: https://brodierobertson.xyz/paypal
► Liberapay: https://brodierobertson.xyz/liberapay
► Amazon USA: https://brodierobertson.xyz/amazonusa
==========Resources==========
AppImage Website: https://appimage.org/
AppImage Quickstart: https://docs.appimage.org/introduction/quickstart.html#how-to-run-an-appimage
AppImage Troubleshoot: https://docs.appimage.org/user-guide/troubleshooting/fuse.html?highlight=libfuse
Libfuse2 Final Update: https://github.com/libfuse/libfuse/releases/tag/fuse-2.9.9
Libfuse3 MR: https://github.com/AppImage/type2-runtime/pull/6
Compat Guarentee: https://github.com/libfuse/libfuse/issues/670
Remove Fusermount: https://github.com/probonopd/static-appimage/issues/4
Libfuse2 Patch: https://github.com/AppImage/type2-runtime/pull/3#issuecomment-1265141256
AppImage 2018 Issue: https://github.com/AppImage/AppImageKit/issues/877
Go AppImage: https://github.com/probonopd/go-appimage/
=========Video Platforms==========
🎥 Odysee: https://brodierobertson.xyz/odysee
🎥 Podcast: https://techovertea.xyz/youtube
🎮 Gaming: https://brodierobertson.xyz/gaming
==========Social Media==========
🎤 Discord: https://brodierobertson.xyz/discord
🎤 Matrix Space: https://brodierobertson.xyz/matrix
🐦 Twitter: https://brodierobertson.xyz/twitter
🌐 Mastodon: https://brodierobertson.xyz/mastodon
🖥️ GitHub: https://brodierobertson.xyz/github
==========Credits==========
🎨 Channel Art:
Profile Picture:
https://www.instagram.com/supercozman_draws/
#Linux #Appimage #OpenSource #FOSS #Snap
🎵 Ending music
Music from https://filmmusic.io
"Basic Implosion" by Kevin MacLeod (https://incompetech.com)
License: CC B
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Brodie Robertson · Brodie Robertson · 24 of 60
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
▶
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
This Linux Patch Removes Spectre & Meltdown Protections
Brodie Robertson
Linux's Most Degenerate Terminal Application
Brodie Robertson
You Can Buy Modern Linux Distros On A DVD??
Brodie Robertson
Bypass Paywalls Vanishes From Firefox Addon Store
Brodie Robertson
CoreJS: The Web & Open Source Are Broken!
Brodie Robertson
Begone GTK4, Long Live The New King GTK5
Brodie Robertson
Flathub Finally Adds Much Needed Flatpak Feature
Brodie Robertson
Google Should Be Worried About ChatGPT Bing
Brodie Robertson
How To Never Improve The Linux Wayland Experience
Brodie Robertson
Fedora Linux Unveils New 5 Year Roadmap
Brodie Robertson
Linux Desktop Randomly Stuttering? Here's Why #shorts
Brodie Robertson
Why We Need Even More Linux Distros!?!
Brodie Robertson
This Wayland Change Will Improve Linux Forever
Brodie Robertson
Ubuntu Linux Was Once Spyware Says EFF & Stallman
Brodie Robertson
Rise Of A New Kind Of Linux Package Manager
Brodie Robertson
Rolling Release Linux Distro Probably Isn't For You
Brodie Robertson
Ubuntu Flavors Put An End To Shipping Flatpak
Brodie Robertson
WINE Will Finally Run On Wayland NATIVELY!!
Brodie Robertson
No ZDNET, Linux 6.2 WILL NOT Run On M1 Macs
Brodie Robertson
Ubuntu Linux Announces New Kind Of Mini ISO??
Brodie Robertson
Fedora Linux Finally Kills Off Delta RPM
Brodie Robertson
Linus Torvalds Is Sick Of Useless Git Merges
Brodie Robertson
Arch Linux Bricks Dual Boot With One Kernel Change
Brodie Robertson
Linux AppImage Finally Addresses Greatest Flaw!!
Brodie Robertson
Refusing To Use Windows For "Religious Reasons"
Brodie Robertson
GNOME Shell & Mutter Finally Drop GTK3!!
Brodie Robertson
11 Documents Showing Microsoft Tried To Destroy Linux
Brodie Robertson
Manjaro Linux Is The Joke That Never Ends
Brodie Robertson
The New Ubuntu Linux "Flavor" We All Expected
Brodie Robertson
NEVER Write Git Commit Messages With ChatGPT
Brodie Robertson
Why GNOME? Why Didn't KDE Takeover Linux?!?
Brodie Robertson
Discord Tried To END This Reverse Engineered Server
Brodie Robertson
Mesa 23 Makes Linux Shader Stuttering A Thing Of The Past
Brodie Robertson
Linux Kernel Broke A Feature NOBODY Uses!
Brodie Robertson
Manjaro Broke Asahi Linux... AGAIN!!!
Brodie Robertson
Linux Hasn't Become Complicated & Limiting | Distrotube Reply
Brodie Robertson
Ubuntu Linux's Steam Snap Is Almost Stable
Brodie Robertson
Wayland Is Linux's Future, But Why Do I Care?
Brodie Robertson
John Deere Refuses To Respect Free Software & GPL
Brodie Robertson
Why BSD Documentation Is Just Better Than Linux
Brodie Robertson
KDE Fixes Discord On Wayland Because Discord Can't
Brodie Robertson
Xorg Foundation Has A Serious Problem
Brodie Robertson
Manjaro Linux's Biggest Drama That Never Happened
Brodie Robertson
I'm Leaving Arch Linux For A Better Distro!!
Brodie Robertson
Red Hat Linux Once Featured A REDNECK Translation
Brodie Robertson
Android Authority Doesn't Understand Linux or Android
Brodie Robertson
Switching To Wayland: Why I'm Daily Driving Hyprland
Brodie Robertson
Private Security Patching Is A Nightmare In Open Source
Brodie Robertson
Xorg Vs Wayland Is Just A Technical Detail
Brodie Robertson
Why Did Fedora Linux Drop Its Wacky Release Names?
Brodie Robertson
KDE App Theming On Other Desktops Is A Mess
Brodie Robertson
Xenocara: That X11 Server That Isn't Xorg
Brodie Robertson
PopOS New COSMIC Desktop Has Me Excited Again!
Brodie Robertson
Hilarious GNOME Archive Bug Finally Gets Addressed
Brodie Robertson
Rust Foundation Has A Serious Trademark Problem
Brodie Robertson
Top 5 Best Hyprland Linux Features
Brodie Robertson
Installing Linux Software Is More Confusing Than Ever
Brodie Robertson
Clipboard: Simple Unified Linux Clipping Tool
Brodie Robertson
Solus Linux Returns From The Distro Afterlife
Brodie Robertson
uBlue Linux: Immutable Fedora With Batteries Included
Brodie Robertson
Related Reads
📰
📰
📰
📰
South Korea will give all 52 million citizens free AI access, becoming the first G20 nation to do so
The Next Web AI
Learn AI Training from Industry Experts at Visualpath
Dev.to · kalyan visualpath
AI Theatre: The Gap Between Talking About AI and Actually Using It
Medium · Cybersecurity
How to Structure Content for AI-First Indexing: 7 Rules That Get You Cited
Medium · AI
🎓
Tutor Explanation
DeepCamp AI