Create Portable Packages With AppImage

  Рет қаралды 26,900

DistroTube

DistroTube

3 жыл бұрын

AppImage has become my favorite packaging format since they are simple to download and use. But I've never actually packaged anything as an AppImage myself. So today, I'm going to package something (nothing too complicated) as an AppImage.
REFERENCED:
► appimage.github.io/appimagetool/ - AppImageTool
► docs.appimage.org/index.html - AppImage Docs
WANT TO SUPPORT THE CHANNEL?
💰 Patreon: / distrotube
💳 Paypal: www.paypal.com/cgi-bin/webscr...
🛍️ Amazon: amzn.to/2RotFFi
👕 Teespring: teespring.com/stores/distrotube
SOCIAL PLATFORMS:
🗨️ Mastodon: distrotoot.com/@derek
💬 IRC: irc://freenode #distrotube
👫 Reddit: / distrotube
📽️ LBRY/Odysee: odysee.com/$/invite/@DistroTu...
DT ON THE WEB:
🕸️ Website: distrotube.com/
🐿️ Gemini Capsule: gemini://distro.tube
📁 GitLab: gitlab.com/dwt1
🔊 Audio Podcasts: www.buzzsprout.com/1263722
FREE AND OPEN SOURCE SOFTWARE THAT I USE:
🌐 Brave Browser - brave.com/dis872
📽️ Open Broadcaster Software: obsproject.com/
🎬 Kdenlive: kdenlive.org
🎨 GIMP: www.gimp.org/
🎵 Audacity: www.audacityteam.org/
💻 VirtualBox: www.virtualbox.org/
🗒️ Doom Emacs: github.com/hlissner/doom-emacs
Your support is very much appreciated. Thanks, guys!

Пікірлер: 274
@kendarr
@kendarr 2 жыл бұрын
Appimage is the best format i've seen, it just works on any distro, and even complex games with wine works like a charm.
@JimTTang
@JimTTang 3 ай бұрын
Good saying, we, the Linux community should advocate appimage harder because this is our format!
@masterninjason157
@masterninjason157 2 жыл бұрын
When I first got into Linux, I found appimages pretty quick, and thought it was super cool and simple, and wondered why everything can't be an appimage, I then realized how easy it is to manage stuff with a package manager (I was still new to pretty much everything) and so didn't think about it too much anymore... Now that I see how easy they are to actually make, I'm starting to wonder again...
@jaxxarmstrong
@jaxxarmstrong 3 жыл бұрын
I never use Snaps or Flatpaks. I highly prefer AppImages as they are fully contained environments for the application (version mis-matches begone), but without the overhead of daemons running etc. For once I completely agree with your regarding the topic of this video. Keep up the good work!
@Person1873
@Person1873 3 жыл бұрын
Hey DT The origin is from when Ken Thompson and co originally wrote Unix. /usr Was originally the User Directory, however they ran out of space on their machine, so they made /home /usr now gets used almost like a "Program Files" directory on windows, however it was only ever supposed to be for user files
@EUXINOS
@EUXINOS 3 жыл бұрын
This only works because you already had it compiled on your system, so you have the dependencies. It may run on other distros, however it will never run on a system with older libc. There is a reason "official" AppImages are built against CentOS 6 : libc is backward compatible, but not forward compatible.
@enderger5308
@enderger5308 3 жыл бұрын
Yeah, that’s one of the things Nix fixes. Nix packages can only access what is given to them (outside of user home files).
@sudheerkmuhammed6363
@sudheerkmuhammed6363 3 жыл бұрын
U can put all dependencies in the appimage
@mgord9518
@mgord9518 3 жыл бұрын
@@sudheerkmuhammed6363 I've tried to add libc into AppImages and no matter what I did, they would just call the one from the system
@notuxnobux
@notuxnobux 3 жыл бұрын
Right, this makes AppImage completely useless for most use cases.
@mgord9518
@mgord9518 3 жыл бұрын
@@notuxnobux That's not true at all. Any AppImages built statically won't experience this issue, and building against an older distro doesn't make it useless.
@FrasSmith
@FrasSmith 3 жыл бұрын
As a developer, it irritates me that they should go to all the effort of explaining that you don't need the ".png" on your icon definition when it would have probably been less work just to accept the icon definition with or without the extension.
@mjaga56
@mjaga56 3 жыл бұрын
So the executable is linked to only static libraries? Of course, it will work on the system where it was built! I would like to see it installed on a Linux system that may have different versions of shared libraries installed than yours.
@leahblack4417
@leahblack4417 2 жыл бұрын
Yeah, totally won't work in that case
@suomynona4420
@suomynona4420 Жыл бұрын
I'd like to know if it matters that you use different versions of Glibc.
@iodreamify
@iodreamify 3 жыл бұрын
Appimages are very useful for people on static release distros and is probably the one format on Linux that makes it easy to run older versions on software on a machine that is offline.
@claudemods
@claudemods 5 ай бұрын
absolute legend you never over complicate your tutorials thank you again mate was so easy
@AmirZaimMohdZaini
@AmirZaimMohdZaini 2 жыл бұрын
AppImage is the really way to make Linux much easier to everyone. Should be the standard for most distros. AppImage package creation can be fun and even tiring at same time, finding the errors on what are library files needed in order to launch it as stand-alone package.
@khosrawazizi
@khosrawazizi 3 жыл бұрын
This is gonna be so useful. Thanks DT!
@loughkb
@loughkb 3 жыл бұрын
Yeah, it's simple for single stand alone binaries. I've spent a couple of days trying to create an appimage of a program I had to build from source, along with several libraries I also had to build from source due to different (newer) versions of them than available in the current repositories. ldd shows me that the program is dependent on 147 other files. The appimage tool with the --generate flag is supposed to figure all of that out for you, but it crashes. So now I'm looking for tutorials that explain including all of the libraries the program also needs. How about a follow up tutorial that goes deeper down the rabbit hole and clarifies such a scenario? BTW, thanks for this one, it helped.
@IvanAlexHC86
@IvanAlexHC86 2 жыл бұрын
on my github repository, ivan-hc, I've some tools and sample of appimage
@RealMazharHussain
@RealMazharHussain 3 жыл бұрын
I think the best reason to use AppImages is to isolate manually compiled Apps from the system. Just think about it. When you build an App manually and then install it with 'cmake install' or something, it gets mixed up with the system files. You can install that app to a temporary directory with 'cmake install destdir=temp.AppDir prefix=/usr' or something, then package that directory as an AppImage, and then use that AppImage without having to ever mess with your system.
@debianswami8204
@debianswami8204 3 жыл бұрын
Exactly... Another great example would be Wine. If you have a running 64bit system, there are cases in which you DON'T want to introduce slower lib32 libraries to your system. Wine needs lib32 architecture to run most of the Windows prefix executables (vbruns, ttf installs, etc). AppImages would allow you to install Wine along with an Exe without having to have all that bloat(slower lib32 architecture) installed on your system- it would only run in memory while the AppImage ran, and would just vanish when the program stopped.
@RealMazharHussain
@RealMazharHussain 3 жыл бұрын
Yeah, that too.
@enderger5308
@enderger5308 3 жыл бұрын
You should really look into using the standalone Nix package manager (especially, flakes). It’s repos are quite comprehensive (the NUR even more so), it works cross-system (even MacOS and maybe BSD) and packaging things yourself is not bad (Nix expressions are a lot like Haskell, and it gets easy with time). The new Flake system makes it quite easy to host your Nix-related files on Git (packages can be downloaded directly from git repos using the new style commands, and anything defined by a flake including NixOS systems and Nix libraries can be included by other flakes).
@jackrichardson6541
@jackrichardson6541 3 жыл бұрын
Thanks DT, that HERE variable hack was super useful.
@nightwolf1966
@nightwolf1966 3 жыл бұрын
Thanks DT this was very informative .
@smile768
@smile768 3 жыл бұрын
Thanks. I’m liking Appimages more and more.
@AndersJackson
@AndersJackson 3 жыл бұрын
Not I, I think it is bloat. Same argument against snap and flatpak. But that is me.
@deliriumcode
@deliriumcode 3 жыл бұрын
@@AndersJackson one or two sentences to elaborate that (on app images)? thanks in advance!
@softwarelivre2389
@softwarelivre2389 3 жыл бұрын
@@AndersJackson I don't personally know how AppImages and Snap work under the hood (not yet, I'm doing my research), but Flatpak handles file deduplication and works more or less like git. There are some talks on youtube about it talking exactly why Flatpaks are efficient if used correctly. One I'd suggest is an interview made by Cassidy James Blaede from ElementaryOS, which shows why some assumptions about flatpaks are myths and misconceptions and how they can be lightweight and efficient.
@sbrazenor2
@sbrazenor2 3 жыл бұрын
DT: "It's fast and easy." Gentoo users: "I feel personally attacked." 😥 🤣
@daveshouldaine2520
@daveshouldaine2520 3 жыл бұрын
explain pls
@sbrazenor2
@sbrazenor2 3 жыл бұрын
@@daveshouldaine2520 The joke is that Gentoo is supposed to be neither fast, nor easy to setup or install anything in. (Usually requiring everything to be compiled from source.) Having something quick and pre-packaged that you can just download and use is the opposite of that. Now that I explained the joke, it's likely not funny to you. 🤣
@daveshouldaine2520
@daveshouldaine2520 3 жыл бұрын
@@sbrazenor2 anyways, thanks for explaining, I'm currently installing Gentoo alongside with Artix, last time I broke my grub and it didn't work well. So, I'm gonna be careful this time :)
@RealMazharHussain
@RealMazharHussain 3 жыл бұрын
It is much easier than how it is shown in the video. You just need to put binary,desktop,icon file(s) in proper directories inside AppDir/usr and appimagetool will automatically create AppRun and other files needed to be placed directly in AppDir.
@kendarr
@kendarr 2 жыл бұрын
Will that work on any system or just the system it was built on?
@RealMazharHussain
@RealMazharHussain 2 жыл бұрын
@@kendarr It depends on the files included in the AppDir. If they are binary files, they will only work on the systems with the same or newer version of GLibC that they were compiled on. It also depends on if all the dependencies of an application are included the AppDir or not. After trying to create an AppImage for a real application that I developed, I came to the conclusion that packaging a real application as an actually portable AppImage is not easy.
@kendarr
@kendarr 2 жыл бұрын
@@RealMazharHussain Thanks, I got curious after seeing a guy on YT packing a full wine version with a Windows game, and it worked just fine on my machine, I'm still very curious as to how to do that for a Photoshop app for example. In theory as long as the AppDir has all of the software dependencies it will work?, so I can to build a appimage and check what it says is missing and so on?, I might be way of track here lol
@RealMazharHussain
@RealMazharHussain 2 жыл бұрын
​@@kendarr Yes, as long as the AppDir has ALL of the dependencies (and also, correctly set up environment variables), it should work. But it doesn't always say that a dependency is missing because it is available on the system that AppImage is running on. What it does is throw a random error message which you may or may not understand. Everything is about versions. As long as you are packaging an AppImage on an old system like Ubuntu 18.04 or something, everything should be fine. TLDR; As long as the AppImage has all the dependencies and correctly set up environment, it should work on the system it was packaged on, plus newer systems. E.g. AppImage packaged on Ubuntu 20.04 should work on Ubuntu 20.04 and newer, Debian 11 and newer, Linux Mint 20 and newer, Fedora 32 and newer, Arch Linux, Manjaro, etc. AppImage packaged on Ubuntu 22.04 would only work on Debian 12 (testing) and newer, Fedora 36 (beta) and newer, Arch Linux (no Manjaro). AND AppImage packaged on Ubuntu 18.04 should work on almost every distro.
@neildelport6725
@neildelport6725 3 ай бұрын
Appimage rocks and love that you think so aswell.Cudos bro
@robtingle7752
@robtingle7752 3 жыл бұрын
That's pretty awesome. I was wondering how those were made. Very useful
@claudemods
@claudemods 5 ай бұрын
thank you DistroTube you helped me with my welcomeapp and some other applications for builds
@TheWitzig
@TheWitzig 3 жыл бұрын
Love your outros haha ;)
@seargd1
@seargd1 Жыл бұрын
Thank you so much. Your video was clear and concise. It really helped me with deploying my app.
@user-ez3ei8cd5o
@user-ez3ei8cd5o 3 жыл бұрын
Appimage is basically an archive with all the dependencies and a script to execute. The only noticeable differences from other packaging formats are that it is executable on its own and is self-contained with no dependencies to cause a dependency hell. The problem I see is that it is as safe as random .exe files from the internet in windows. And we obviously don't want 3 electron apps to take 3 instances of electron worth of space on a disk. Now if we want to wrap a binary with a bunch of docs/images, then it is indeed better to use an appimage.
@shubhamdwivedi7766
@shubhamdwivedi7766 3 жыл бұрын
Finally a relief thanks DT for showing us the path✌️
@hostgrady
@hostgrady 3 жыл бұрын
My issue with appimages is that you can't install them from the terminal and they don't integrate as typical packages. They also wouldn't appeal to a new user because they aren't as friendly as the shops you get with synaptic and pamac and other graphical package managers. I feel like there needs to be some sort of integration of appimages as well as some package managers (both graphical and non graphical) to search for and install them. Just my input personally.
@michaelcarnevale5620
@michaelcarnevale5620 3 жыл бұрын
is it theoretically possible to install an app-image via terminal? like is it just something that hasn't been done yet or can it never be done?
@hostgrady
@hostgrady 3 жыл бұрын
@@michaelcarnevale5620 well the thing is they arent like "installed". It's like a portable exe in windows if you've ever used that
@michaelcarnevale5620
@michaelcarnevale5620 3 жыл бұрын
@@hostgrady so then couldn't an installer just send it to bin with a config folder somewhere? I'm new to linux I don't mean to be asking obvious questions if that's what I'm doing
@debianswami8204
@debianswami8204 3 жыл бұрын
but the whole idea is that there is nothing to install. you can do it strictly from the terminal...its just a little harder- use curl or wget to download the AppImage, use chmod u+x to make it executable, and just run it from download directory. You could even add it to your path to make it easier to find.
@michaelcarnevale5620
@michaelcarnevale5620 3 жыл бұрын
@@debianswami8204 i still think a repository holding good quality app-images and relevant configs would be useful
@cryinkfly
@cryinkfly 2 жыл бұрын
Very nice short tutorial! 🙂
@enderger5308
@enderger5308 3 жыл бұрын
The Nix-bundle project is another cool solution, it’s being integrated into the new Nix3-style command. It can convert Nix expressions into standalone executables, similar to AppImage, while still allowing for the use of Nix’s guarantees in system independence.
@ibrahim-tech
@ibrahim-tech 3 жыл бұрын
2:38 /usr was originally used instead of /home on the PDP-11 back then
@your-mom-irl
@your-mom-irl 2 жыл бұрын
the space invaders thing looks like one of the aliens took a smelly crap lmao cool tutorial btw!
@DrZingo_
@DrZingo_ 3 жыл бұрын
Hey DT! I don't know if you are joking. I thought that you wanted to promote freedom instead of bloated binary blobs ;) There is really no reason to have ordinary applications anywhere else than in the standard repositories of your distro. We don't want redundant and/or outdated libraries stuffed in every application. BUT, out of the three (snap, flatpak, appimages) appimages is the preferred, and it have its uses - for example: Proprietary software that you can't compile and link to your libraries, i.e. games or software that does not get updates anymore. //voluntary bald boomer
@linuxinside6188
@linuxinside6188 3 жыл бұрын
Thanks for the amazing tutorial, please make a video on .deb packaging .
@example101
@example101 3 жыл бұрын
Thanks a lot for some clarity. Didnt know to just copy the binary from previously installed package (from repo). I am a little confused on that but for simple cases makes sense
@pushqrdx
@pushqrdx 3 жыл бұрын
i believe that appimages are the best solution, they are better than flatpaks and snaps. Ofc they are not perfect but the closest thing to minimal and easy to use, and NO NEED FOR DAEMON OR ROOT ACCESS
@michaelcarnevale5620
@michaelcarnevale5620 3 жыл бұрын
agreed. when i installed neovim as an appimage it rly won me over immediately. gave me way more control and flexibility.
@pushqrdx
@pushqrdx 3 жыл бұрын
@@michaelcarnevale5620 right? i have everything i can put in an appimage as an image and it's very clean and portable, i can just copy paste my apps on any system and run them no need for root or installing anything
@jorchyr
@jorchyr 2 жыл бұрын
Very good tutorial! I find it very useful. I was looking for a way to package aseprite so I don't have to compile it on each of my PCs.
@blackcatdevel0per
@blackcatdevel0per 3 жыл бұрын
Big thanks BRO!!!
@unclearam2055
@unclearam2055 2 жыл бұрын
There is an appimage called *linuxdeploy*. It is truly the easiest way to compile all the dependencies, icon, desktop icon and it auto generates an apprun file and exports the AppDir to an appimage.
@voidspawn2351
@voidspawn2351 3 жыл бұрын
AppImage for the win :D
@smokessliquidpepper2544
@smokessliquidpepper2544 2 жыл бұрын
Well that was great, thank you very much. Could you also show packing appimages including shared libraries? Do you think this could also work with wine-dependent applications?
@kda_-uh3vj
@kda_-uh3vj 3 жыл бұрын
8hrs ago I searched for how to create app images. 3hrs later DT releases a video on the topic... How. Is. That. Possible.
@Eziekel666
@Eziekel666 3 жыл бұрын
Spyware
@goyslop-consumer
@goyslop-consumer 3 жыл бұрын
he's watching you
@fractievoorzitter
@fractievoorzitter 3 жыл бұрын
I agree AppImage should more adapted
@linuxtutorialshindi8582
@linuxtutorialshindi8582 3 жыл бұрын
that app image is 200Kb in size, are you sure all required dependencies are packaged in it?
@ultralink9892
@ultralink9892 3 жыл бұрын
Really useful!!!!!!
@somnathdas7595
@somnathdas7595 2 жыл бұрын
Now it is easy for me to create an exe like binaries for my Linux... Thanks Mr. Love from India.
@Photon89
@Photon89 3 жыл бұрын
Thanks for the good explanation! Any hint how I would go about packaging an app which requires a big number of dependencies? The app is in the AUR so it would be easy, if I could just install it and all its dependencies in a clean chroot using some AUR helper, but I couldn't find a way to do so, so far.
@mairacristian54
@mairacristian54 3 жыл бұрын
i got the feeling thumbnail text meant it as something it takes long xD, as if "this takes so many minutes!"
@SkyyySi
@SkyyySi 3 жыл бұрын
Does the AppImage also contain the LibC which the binaries were compiled against? Because otherwise, how could this particular AppImage work with anything but the current libraries you used to compile the st binary with? Also: 1. usr does mean user. If I'm not mistaken, the default home directory on FreeBSD is still /usr/home/name. 2. How is a BSD user supposed to use a binary compiled for the Linux kernel?
@red13emerald
@red13emerald 3 жыл бұрын
It can. DT should’ve probably run ldd on the binary and copied all libraries into it to make it truly portable.
@pfft.7532
@pfft.7532 3 жыл бұрын
Thanks DT for this tutorial, can you make a video on how to use pkgbuild to install stuff via pacman(for dependency convenience) for stuff that is not natively supported for arch(like some companies provide rpm packages for their product drivers) ?
@micmacha
@micmacha Жыл бұрын
AppImages are possibly the best way to take advantage of affordable long term storage space.
@fuseteam
@fuseteam 3 жыл бұрын
fun trivia: usr originally stood for user before /home was a thing :p
@debianswami8204
@debianswami8204 3 жыл бұрын
fun trivia: USR stands for: Unix System Resources. It was then used by Linux and stands for: User System Resources. BIN is for storing binary files and the ETC really does stand for etcetera, where trivial stuff like startup, shutdown and admin files would go.
@Chr0n0s38
@Chr0n0s38 3 жыл бұрын
*BSD users using AppImage would have Bash because it's done through a Linux compatibility layer (basically WINE but for Linux). It requires kernel support and only the Linux kernel has support for it at the moment (also the executable being run is a Linux ELF, not a *BSD executable so it wouldn't work natively anyway). The Linux compatibility layers installs a small Linux system including tools like bash.
@stevem3432
@stevem3432 3 жыл бұрын
Question for those who use appimages. Is there a package manager for appimages or a way to manage appimage updates? Or do you guys just manually grab new ones to update?
@jrgenbull5334
@jrgenbull5334 3 жыл бұрын
I believe that you have to download them manually, but there is a gui program that makes grabbing appimages easier. I also believe that many people's attraction to appimages comes from the fact that you don't have to update them while you are trying to an update. So you would get an appimage for all the programs that you don't want to update.
@techheaven8132
@techheaven8132 3 жыл бұрын
I use the AppImageUpdateTool to automatically update the appimage files in my Applications folder.
@debianswami8204
@debianswami8204 3 жыл бұрын
you have to manually go out and grab the new AppImage. However the program developer could write the program to check and tell you when one is available. I use the AppImage of LibreWolf(fork of FireFox), and it will tell you that there is a newer version out, and that you should go get it.
@RealMazharHussain
@RealMazharHussain 3 жыл бұрын
There is a graphical AppStore named App-Outlet that can download and update AppImages along with Snaps and Flatpaks. I think DT made a video on App-Outlet too.
@temudjin1155
@temudjin1155 3 жыл бұрын
Very nice
@nikolaikiselev253
@nikolaikiselev253 3 жыл бұрын
Hi DT! Are you going to make a vlog about archinstall -- a helper library to install Arch Linux?
@DistroTube
@DistroTube 3 жыл бұрын
Maybe...if it worked. I couldn't get it work a couple weeks ago. Just a bunch of Python errors. So it's not something I would want to put on camera...I don't like trashing free and open source software.
@SFSAtlas
@SFSAtlas 3 жыл бұрын
@@DistroTube I personally used it and installs a lot of bloat
@reaperfs2371
@reaperfs2371 3 жыл бұрын
Hey DT! Is there a way to quickly transfer your files and configs and apps from one distribution to another? I fucked up my boot partition on another drive that had Manjaro installed when I tried to install Garuda.
@downbelxw
@downbelxw 3 жыл бұрын
You can try manjaro architect and mounting root and home partitions without formatting them and just formatting boot partition
@reaperfs2371
@reaperfs2371 3 жыл бұрын
@@downbelxw okay gonna try that. Thanks!
@downbelxw
@downbelxw 3 жыл бұрын
@@reaperfs2371 if you need any help feel free to dm me on discord maksez_#4866
@ArsenGaming
@ArsenGaming 3 жыл бұрын
@Zion All Linux distros can be installed on a flash drive
@BrucesWorldofStuff
@BrucesWorldofStuff 3 жыл бұрын
Awesome! Not the WM... LOL Thanks for the video! LLAP
Жыл бұрын
Hey DT, AppRun may simply be a symlink to your binary, or even better the binary itself (the .desktop file in AppDir does not seem to need an Exec= definition) ...in case you would want to debloat your appimage.
@burnyllama7071
@burnyllama7071 2 жыл бұрын
Obly problems are they don't work on musl (most of the time?). Also I packaged an AppImage of something on my system and sent it to a friend, but they couldn't run it because there GlibC was too old.
@nbbz6455
@nbbz6455 3 жыл бұрын
Is there a way to package an app with it's configs? For example my riced polybar or some window manager
@maskedredstonerproz
@maskedredstonerproz 3 жыл бұрын
there should be a way
@example101
@example101 3 жыл бұрын
Can multiple apps be combined into one appimage? And then result multiple apps start on one icon click or one cli command?
@vidyulshah6216
@vidyulshah6216 7 ай бұрын
After Creating the AppImage I am getting the following error: execv error: No such file or directory. What could be the problem? Is there a problem in making the directory structure and also the dependency is on Qt
@sstechtips7321
@sstechtips7321 3 жыл бұрын
Those apps that are directly installed from arch repository.. For then how can we get the binary file?
@louistournas120
@louistournas120 3 жыл бұрын
But if you make an appimage, where do you place the executable? How do you put a shortcut on the start menu?
@AmirZaimMohdZaini
@AmirZaimMohdZaini 2 жыл бұрын
under ...usr/bin folder. You wil need to write command to execute the binary file from the folder.
@vainolli5471
@vainolli5471 3 жыл бұрын
I did not remember that "(a) graphical file manager" is THAT complicated to use :o That process would be 10x quicker in terminal.
@utherbone
@utherbone Ай бұрын
thanks!
@hermannpaschulke1583
@hermannpaschulke1583 3 жыл бұрын
AppImages are nice, but they are going to be much larger than FlatPaks for example, because large libraries like GTK or Qt can't be shared between them.
@micmacha
@micmacha Жыл бұрын
I'm a bit surprised if the icon parameter doesn't support SVG yet.
@tobiasfalk7345
@tobiasfalk7345 3 жыл бұрын
Maybe I should try to build my very own absolute portable version of Thunderbird I can just copy over when switching machines. That would be so nice.
@debianswami8204
@debianswami8204 3 жыл бұрын
yeah Windows has a way of doing this called PortableApps, where you can just tote the executable around on a USB stick, stick it on a machine you want to use it on, and just pull out the USB stick when your done. Not really viable with Linux as you already have to be a user on a machine to be able to do anything...and it would try to leave dotfiles behind....
@tobiasfalk7345
@tobiasfalk7345 3 жыл бұрын
@@debianswami8204 exactly... I wish I could somehow have this on Linux. I read about ways but those don't work. Maybe with AppImage2.0 or something in the future.
@RealMazharHussain
@RealMazharHussain 3 жыл бұрын
@@debianswami8204 You can do that with AppImages too. Just make a directory with the name of your AppImage File + '.home'. For example, for Etcher.AppImage, I would need to create a folder named 'Etcher.AppImage.home' inside the directory where Etcher.AppImage is located. Then, All the config will be saved in this folder instead of user's home. Or you can run '/path/to/Etcher.AppImage --appimage-portable-home' and it will create that portable home folder for you.
@Luc484
@Luc484 10 ай бұрын
Most difficult thing is to create a bundle with all the deps. Is your binary 100% static?
@blackcatdevel0per
@blackcatdevel0per 3 жыл бұрын
Hi! How to export program directories to another directory in the AppRun file? For example src directory: / usr / share / app / src in /user/.local/share/app/src
@blackcatdevel0per
@blackcatdevel0per 3 жыл бұрын
I don't know bash scripts very well
@fuseteam
@fuseteam 3 жыл бұрын
now i would like see you package a snap :p
@JandyCZ
@JandyCZ 3 жыл бұрын
Snap the Snap and Flatpak the Flathub
@mawortz
@mawortz 3 жыл бұрын
is there a video where he talks about that tower with the sound system?
@greob
@greob 3 жыл бұрын
Been saying it for years: AppImages are the best.
@shubhampawar7921
@shubhampawar7921 3 жыл бұрын
But they are slow as compared to native packages
@mgord9518
@mgord9518 3 жыл бұрын
A big downside is storage size, but that isn't really a problem of the format, more just the fact that distros are so different, devs are forced to throw everything in there. That's not even a development problem, it's just one of the drawbacks to freedom. I'll take them over corporate bullshit any day of the week though.
@mgord9518
@mgord9518 3 жыл бұрын
@@shubhampawar7921 Yes, but remember that the problems from native packages are why AppImage, Snap and Flatpak were developed in the first place. Installing video games using the same software that updates your operating system definitely shouldn't be utilizing the same directories, along with dependency hell for any software a couple years old or less supported. Everything will have advantages and drawbacks. Personally, I think average consumers shouldn't *have to* even understand what a shared library is. They should be able to take a program on their flash drive the same way they do a word document or text file, which is something only AppImages can accomplish.
@josephcagle
@josephcagle 3 жыл бұрын
2:33 Haha this is interesting... I keep hearing different things on the meaning of "usr" . People say it means "user," other, people say it means "Unix System Resources" (etc.), and both sides are absolutely sure that the other is wrong.
@Dennis-Earl-Smiley
@Dennis-Earl-Smiley Жыл бұрын
Asking here first. Not ready to do it yet, but can you talk more about creating .debs and .msis, but .msis should be using non microsoft tools. It should be for linux mint and windows 10, respectively. So far, ive gone with .zips on both platforms, because its for sure, easy and free. But i want to learn, for when im finally ready.
@jrgenbull5334
@jrgenbull5334 3 жыл бұрын
I used the time command to check which one was most efficient, you can't argue against the numbers, test it yourself: #!/bin/zsh # first one on time 1.05s user 0.33s repeat 1000 dirname "$(readlink -f "${0}")" # second one on time 0.00s user 0.01s repeat 1000 pwd
@red13emerald
@red13emerald 3 жыл бұрын
But pwd maybe something different. If you’re running it like ./applications/Utilities/st.AppImage, the pwd is your pwd, not ./applications/Utilities/, right?
@shanrockz4104
@shanrockz4104 2 жыл бұрын
how to solve cannot execute binary file: Exec format error this error while build appimage
@addygreen8919
@addygreen8919 3 жыл бұрын
AppImage
@linuxstreamer8910
@linuxstreamer8910 3 жыл бұрын
i use all package formats the only package format i don't like to use is snap but i use it if i can't find a non snap version of a app
@slackmaster1970
@slackmaster1970 2 жыл бұрын
Ive downloaded the appimage tool kit code but don't know how to build it
@louistournas120
@louistournas120 3 жыл бұрын
Packaging is not enough. We need to know how to make an installer. How to install an app on a user's PC jsut like we did with InstallShield on Windows.
@angelrivera8013
@angelrivera8013 3 жыл бұрын
How good does audacity works as an app image?
@angeloprince6190
@angeloprince6190 3 жыл бұрын
Hey DT!
@DistroTube
@DistroTube 3 жыл бұрын
Hey hey!
@angeloprince6190
@angeloprince6190 3 жыл бұрын
@@DistroTube Hey, U should make a video on your specs of ur workstation
@goyslop-consumer
@goyslop-consumer 3 жыл бұрын
@@angeloprince6190 good idea, i hope he see's you're comment
@angeloprince6190
@angeloprince6190 3 жыл бұрын
@@goyslop-consumer Thanks Man
@nibirray1877
@nibirray1877 3 жыл бұрын
Dt if you are seeing this can you do a video on xmonad as tiling window manager for gnome. I like tiling wm but sometimes would just want to use the gui get things done and gnome hybrid seems the best way
@brandonlee712
@brandonlee712 3 жыл бұрын
Gnome actually has its own tiling manager. There are gnome extensions for it. Also there is pop_shell, too.
@nibirray1877
@nibirray1877 3 жыл бұрын
I tried material shell and pop os shell and both are absolutely crap compared to xmonad
@cherubin7th
@cherubin7th 3 жыл бұрын
I always have trouble using AppImage on Ubuntu. Yes you can start that easily, but it doesn't integrate well for me. Also many images fail to start for some reason.
@zekiahcantanimate447
@zekiahcantanimate447 3 жыл бұрын
I recommend AppImageLauncher on github, it auto integrates appimages and allows them to be run from the folder in nautilus, or run from your applications menu.
@TheSulross
@TheSulross 3 жыл бұрын
the simplest "packaging" format I've found for Linux programs is a compiled Golang program - hand a person one file and say, "here, run this file"
@ArsenGaming
@ArsenGaming 3 жыл бұрын
@@TheSulross Until you try to use cgo
@debianswami8204
@debianswami8204 3 жыл бұрын
instead of trying to click on an AppImage to try to run it, open a terminal and run it after making it executable "chmod u+x
@RealMazharHussain
@RealMazharHussain 3 жыл бұрын
Plz, don't use appimageLauncher. It takes over all the AppImage commands, even if you run an AppImage from Terminal. I use appimaged. It just creates a menu entry for the AppImage and does nothing else since nothing else is needed to be done. You may wanna try it out. Github repo is AppImage/appimaged. It is archived for the sake of probonopd/go-appimage (github repo). But don't use go-appimage. It is still in experimental stage and doesn't work that well. Just use AppImage/appimaged. It works perfectly.
@veyselerden72
@veyselerden72 3 жыл бұрын
you should've shared that st appimage too
@quinnporter289
@quinnporter289 Жыл бұрын
Im still new to Linux im trying to make an appimage for a smash bros mod, there's one i got for a different mod to work on steamdeck so i know appimage is what i need
@muradbashirov6435
@muradbashirov6435 3 жыл бұрын
you didn't talk about the dependencies
@debianswami8204
@debianswami8204 3 жыл бұрын
no, he was trying to make a "simple" howto. IRL you really only use AppImages if you have different library versions or do not have all dependencies on your machine and don't want to change your local versions or upgrade them.
@DistroTube
@DistroTube 3 жыл бұрын
You can add dependencies to /usr/bin. You can add needed libraries to /usr/lib. You know, put things in their usual places. Of course, you don't have to add dependencies to your personal AppImages if you know the machines that you are going to be using will already have the dependencies installed.
@linuxstreamer8910
@linuxstreamer8910 3 жыл бұрын
for my appimages i always use appimagelaunche. so that i can launch it as a app. and i don't have to click on the appimage everytime. i don't need to launch it because it is a system app now
@zeitue
@zeitue 3 жыл бұрын
@DistroTube USR = Unix Shared Resources
@adecfd6c8e3fe1cd9adcad
@adecfd6c8e3fe1cd9adcad 3 жыл бұрын
Good video DT. If you, or anyone else here, is interested in seeing an AppImage in action, I have an open source project which uses them. It's called fractorium (dot com) and the project is hosted on bitbucket. We had to use it in a somewhat non-standard way: it needed to be a self contained executable like you demonstrated, but also needed to perform some install steps to place config files on the system. It also had to be able to run several command line programs contained within, which accept command line arguments. If you look at how we did it, you can see that we were able to accomplish all of this using AppImage.
@simongratz9696
@simongratz9696 3 жыл бұрын
There are appimages of Emacs - that much Said If anyone would package Emacs do Something useable Like package Emacs 28 with native compilation and gtk3 as available through some Feature Branchen Form Savannah ... Or some Others interessting Branches ... In the end regular Emacs ist available prettie much everywhere ... But Special Emacs Versions dir testing ... Would bei fun
@robertmaxa6631
@robertmaxa6631 3 жыл бұрын
Not all app images work with all versions of Linux. I run MX Linux as a live USB version 18.3. An App Image I downloaded would not work, but the very same App Image did work with version 19, so...
@WithJupiterInMind
@WithJupiterInMind 3 жыл бұрын
I'm also using MX Linux due to compatibility with latest AMD hardware. From my understanding, MX is a bit of an anomaly in terms of packages, because it is primarily based off Debian Buster (old version of Debian), so this means you have to rely on Buster packages. Bullseye or Sid packages will not work without requiring reinstalling lots of other system packages like libc6. But thankfully the MX team ships the system with custom repositories already included in Apt-Get so you get latest versions of apps you would not find on the stock Debian repositores themselves. From my understanding, that's it. Been running into some problems trying to install OBS-Studio in MX exactly because the Buster versions are outdated. An updated Appimage is lacking as well. Some fine tuning here and there needed to make it even better.
@WithJupiterInMind
@WithJupiterInMind 3 жыл бұрын
In terms of ease of use and less hassle overall, Manjaro is the number 1 winner by a long shot, in terms of installing apps. But the system would break too often after 2 weeks or so of daily usage, which prevented me from making Manjaro my main system.
@guessabrami1305
@guessabrami1305 3 жыл бұрын
Please PLEAASSEE can you make a video about creating .deb files and how to make a bootable and installable copy of a arch based system or debian based system (ex: when some likes your own "special" distro and he wants to install it on his machine) THANKS❤❤
@minepro1206
@minepro1206 3 жыл бұрын
About the second thing, just dd the original partition to make an iso. Then in the new system, dd again to write the iso to an UNUSED partition (do not overwrite your bootable OS yet). Mount the newly created partition, change the fstab and other configurations (xorg.conf for example), and you should be ready to boot into it. Better search an online guide though, never done it myself. I don't believe it's easy to create your own bootable installer. Not from scratch at least.
@guessabrami1305
@guessabrami1305 3 жыл бұрын
@@minepro1206 Thank you so much i really appreciate your help this can help so much and yes i think this solves the problem i can dd my os partition and create a live iso with an installer. Thank you so much.😄❤
@nchapkanski
@nchapkanski 3 жыл бұрын
what is this behind you
@proxeIO
@proxeIO 3 жыл бұрын
Universally Shared Resources
@enderger5308
@enderger5308 3 жыл бұрын
The 2 problems with AppImage are that every AppImage needs everything it depends on bundled with it or risk system dependence and the inability to integrate with the system (lacking a way to bundle default configs and other data files such as desktop entries).
@AbhinavKulshreshtha
@AbhinavKulshreshtha 3 жыл бұрын
These are not problems with just appimage, snap and flatpak also have same issue. Because they package apps as a system independent bundle, they need to bundle everything they need to run the app. Desktop entries and other integrated configs are actually available. in appimage, But it is up to distro developer to allow its integration. Mostly, Gnome has created issues when they decided to reduce accessibility to .desktop files. In all major linux distros (except solus) you can install a service called AppimageLauncher, which provide missing integration services. For me, I just mark it as executable manually and use menu-editor to create launcher entries. Somehow Appimage still generate smaller install size compared to Snap or Flatpak. It also has better system theme integration compared to snap and flatpak, while also maintaining similar level of isolation. And if you need even more sandboxed level of isolation, its integration with firejail is one of a kind. Appimage really needs more awareness. Snap and Flatpak has corporate marketing team behind them, but Appimage is truly a community project. Up until recently, The author ( probonopd on github ) personally helped app developers setup CI/CD build chain for AppImage for their app. He still actively responds to community queries.
@RealMazharHussain
@RealMazharHussain 3 жыл бұрын
Have you heard about appimaged? It integrates appimages with system seamlessly. And default config files are mostly created on first run of the AppImage. You can also browse an AppImage after running './app.appimage --appimage-mount' in order to copy the default config from it.
@JandyCZ
@JandyCZ 3 жыл бұрын
@@AbhinavKulshreshtha I create .desktop files manually, it's very easy. I use a lot of AppImages on my PC.
@AbhinavKulshreshtha
@AbhinavKulshreshtha 3 жыл бұрын
@@JandyCZ I wrote a python script for creating .desktop files. But in reality, I have rarely seen an appimage which doesn't automatically create one for its app.
@JandyCZ
@JandyCZ 3 жыл бұрын
@@AbhinavKulshreshtha I downloaded appimages from github mostly and none of them created .desktop entry. It's not a big problem for me tho, so I don't really find this inconvinient. sometimes I don't even want desktop entry for an app.
@Enzed_
@Enzed_ 3 жыл бұрын
Can you update apps from appimages? If you can then that's a very useful way of keeping apps
@RealMazharHussain
@RealMazharHussain 3 жыл бұрын
Yes, in fact, updating an AppImage only downloads the differences between versions instead of downloading the whole AppImage. AppImages can be updated using AppImageUpdate (github project) by AppImage (github user).
@Enzed_
@Enzed_ 3 жыл бұрын
@@RealMazharHussain Could I do this if I made an appimage from a git hub build? Won't I need to do a git pull first and recompile or can I just use the appimageupdate?
@RealMazharHussain
@RealMazharHussain 3 жыл бұрын
@@Enzed_ If you build an AppImage yourself, then you need to do a git pull first and recompile it. But if the maintainer provides an AppImage in their project's releases, then you can usually use AppImageUpdate to update it. If you don't want to create an AppImage by hand everytime you want to update, you can just create a shell script to automate the processes of git pull, compiling, creating AppImage and putting it in the right place.
@Enzed_
@Enzed_ 3 жыл бұрын
@@RealMazharHussain thx for the suggestion. I might try to make a shell script.
@RealMazharHussain
@RealMazharHussain 3 жыл бұрын
@@Enzed_ You're Welcome.
The 12 Linux Apps Everyone Should Know About
21:20
DistroTube
Рет қаралды 456 М.
Easily Run Windows Apps On Linux With Bottles
14:25
DistroTube
Рет қаралды 150 М.
WHAT’S THAT?
00:27
Natan por Aí
Рет қаралды 13 МЛН
Как бесплатно замутить iphone 15 pro max
00:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 6 МЛН
The Beginner's Guide To SSH
20:10
DistroTube
Рет қаралды 55 М.
Flatpak vs Snaps vs Appimage vs Packages - Linux packaging formats compared
14:12
Managing AppImages Is Easy With "AM" Application Manager
12:31
DistroTube
Рет қаралды 15 М.
История Appimage, Flatpak и Snap
26:43
Aleksey Samoilov
Рет қаралды 53 М.
This Tool Converts Arch Linux Packages To AppImage
13:28
DistroTube
Рет қаралды 16 М.
Keep Your Snaps and Flatpaks, I'll Take AppImages!
15:24
DistroTube
Рет қаралды 53 М.
Rust Programs Every Linux User Should Know About
13:18
DistroTube
Рет қаралды 134 М.
Make an AppImage for your app
11:51
Cukmekerb's Coding Class
Рет қаралды 9 М.
Installing Xorg And A Window Manager In Arch Linux
22:06
DistroTube
Рет қаралды 400 М.
The Only Password Manager I Can Trust
12:19
DistroTube
Рет қаралды 79 М.
BEKMOBILDA Tecno Camon 30 smartfoni🔥🤩 #bekmobil
1:01
Bekmobil shorts
Рет қаралды 2,3 МЛН
Это Xiaomi Su7 Max 🤯 #xiaomi #su7max
1:01
Tynalieff Shorts
Рет қаралды 2 МЛН
$1 vs $100,000 Slow Motion Camera!
0:44
Hafu Go
Рет қаралды 27 МЛН
Сколько реально стоит ПК Величайшего?
0:37