NOTE: I was told of another method to handle theming using flatseal, that should be less prone to breakage in apps: instead of adding the GTK_THEME override in .bash-profile, and giving flatpak access to the .themes folder, you can add the 2 following overrides for all apps in flatseal in the "other files" section: xdg-config/gtk-4.0:ro xdg-config/gtk-3.0:ro This will let flatpak read the current theme in your config, and change it for all flatpak apps. Should be more resilient if things change in GNOME, and shouldn't break too much stuff. As awlays, though, theming is a "hack" so it's never 100% perfect. Oh, and also, if you want to secure and monitor your internet connection, you can download Safing's Portmaster and take control of your network traffic: safing.io
Yeah I was playing with vanillaOS and found it hilarious that the flatseal icon is a roll of scotch tape 😂 so accurate! I need to take baby steps with the container OS'es there is definitely a very steep learning cliff I mean curve
On the theming part, it's worth noting Linux Mint takes care of all of it, just pick the theme you like as you usually do, and the Mint Update manager will download said theme as a flatpack and apply it to all your installed flatpacks
It seems GNOME Software is also smart enough to install your active theme when you install software. Wished the CLI version or Pamac would do that too.
I love the permissions popup idea! When I installed Bottles I had no idea that it only had access to ~/Downloads by default so when I downloaded an app, ran it to test if it works, then moved it to an apps folder, I was very surprised to see a WINE error message. No warning from Bottles or Flatpak that somethign was wrong. I spent a good half hour troubleshooting before I thought of checking the permissions in Flatseal - something that came to mind only because YOU mentioned Flatseal in a previous video. Had I not watched it, I would have no idea what was going on or how to fix it!
multiple people pointed out that permissions should've been realtime from the get go but the committee working on it refused by never even really acknowledging the question. it's one of my biggest gripes about flatpak. I hate having to launch flatseal to change/fix permissions. it's better now though but the solution has been to do more broader permissions from the get go. that said, managing flatpak is much better than snaps, appimages and even system packages at times.
Unfortunately, I do not think that is so easy to implement from a programmers perspective. A much easier and cleaner way to achieve this is via the use of flatpak portals (maybe a drag and drop portal in this specific case). This does require the app developers to update their apps to use the new APIs though. Something I think is a reasonable thing to ask for new and actively maintained applications but less likely to happen for legacy ones
Flatpak has great potential for both developers and users. And mostly this has been realized. It's just nice that you can rely on one solution that will work regardless of distro. The permission situation is a bit lacking still. Your solution is how Android does things and it works beautifully there. If an app wants to use your camera or microphone it'll request it with a popup. The only thing I wish Flatpak did is cleaning up runtimes when they're no longer needed. When you remove a program Flatpak will leave all the runtimes behind. If I choose to uninstall an app and it's the only thing using that runtime then Flatpak should just get rid of that runtime too. Or alternatively: ask real quick if I wanna leave the runtime or remove it. Would save a little space.
@@MichaelMantion That's unfortunate, personally though for me it's been great! Pretty much every time I had an issue with something, the solution ended up being "Just use Flatpak" I use an immutable system now because of it, I only have solaar and ckb-next installed with traditional packaging (by layering them) because they're not available as Flatpak
@@softwarelivre2389 That action should be automatically run after each Flatpak update and uninstall, with a prompt asking the user if they want to clean these unused Flatpaks or not. It's a silly oversight in my opinion, and a costly one on storage space (the first time I discovered and ran this command, it freed up almost 50Go of space on my disk...)
I agree for the pop up permission like android or ios do. For me the fact that it's me who should disable some permissions is weird and the proof that developers should be more aware, the developer shouldn't just force his flatpak to access everything and I have to disable the various permissions and see if the application will work or not and what settings should be enable to make the app works...etc. For me the mentality of just "there isn't any virus on linux so let's use X11 even when it's not secure and we don't have to enforce sandboxing" is false.
The fact that some will want to disable some permissions stems from the fact, that we're all different and static permissions are just an in between before there are enough portals. Permissions on flathub are vetted, but some even want all apps to don't have network access by default. It's a compromise between usability and security.
@@razzeeee I understand that and I don't want to remove the possibility of editing permissions. But for me and for most normal user I think, they just want the sandboxing to have a secure system, and so it's better for us that the developers choose themselves the permissions needed to have a working application but that doesn't have access to everything. Or they can enable some permission to have a working application but disable some because they are uses in some option and if you want those options a pop up will tell you if you want to allow this access or not.
@@moussagacem8260 I think you need to be more specific and call out apps, that don't have a minimal set of permissions in your opinion. Best would be to then open an issue on their flathub repo. Flatpak shows you that exact pop up, for webcam access and file access, if your app is up to date enough.
If the flatpak devs implemented your suggestions (I'm not sure how the permissions popup will work, but the CLI part about program names over IDs is a must) I would consider switching to flatpak for all desktop applications possible.
Flatpak isn't targeted for CLI apps, so why would you consider using it for them? It's primarily for GUI apps, and it already has all kinds of permissions popups, including file chooser drag-and-drop.
For me appimage is the best package format. Just 1 thing to download and use it from a USB you can want to move it from debian to arch you can flatpak/snap is just to complicated. Only thing appimage does lack is theming and update option. And it will be instantly better than flatpak or snap
The issue I have with Flatpak is not the Flatpak technology itself, but the shift of responsibility towards developers. That means, i have to trust 50 developers of Flatpaks, instead of only my distribution. It also means that a single Flatpak can't be perfectly suited to all distributions and need configuration by the end user to be usable. A native package is already packaged and configured in a way, that it works perfectly fine for the individual distribution. Not to mention CLI apps, which Flatpak does not support and it's my preferred way of handling many things. Hopefully this will be addressed soon. Still Flatpak is useful today and I use a few programs.
If you use their app, you implicitly trust them? Why would you trust a version of the app packaged by a third party that barely had any time to test it compared to a package the developer made and tested because that’s the only one they make?
@@TheLinuxEXP Because the distribution is an additional step, which involves the quality standards I expect with a specific maintainer and the rest of the distribution having an eye on the system. To me it is an improvement over Windows in example, that we do not get the applications directly from the developers. That means for a distribution less control over the integrity of the system. I'm not saying that I don't trust nobody. Most popular software like Firefox and LibreOffice isn't actually an issue. Otherwise I wouldn't use Flatpaks. But I mean the general trust issue and concept over ANY software. And as said, I do not hate the Flatpak. The opposite is true! Hopefully ALL distributions will support Flatpak and Flathub out of the box. But I do want distributions to continue packaging usual as business (maybe with exceptions for big and complex software such as Firefox). Because that is my preferred way of managing the system.
@@pulkitkrishna8809 With a distribution package there is a second step between the 50 developers and the highly trusted distribution packager. I prefer this way.
I use the source with the most up-to-date version. It's a simple practical matter. Surprisingly, flatpack isn't always the most recent. Since my application needs are pretty mainstream I've never had any "dependency hell" problems. I appreciate the appeal of Flatpaks for developers / maintainers, and *philosophically* I like the idea of Flatpaks, but as a practical matter I just want something that is up-to-date and works with my system with minimal fuss.
10:15 - That kind of exists... Apps open the file chooser popup (included with your system) in which you can choose any file you want to give to the app. Works for drag-and-drop, too. The way you phrased all that, sounds as if there is no way to do that. A special popup for apps that don't support Flatpak & portals could be a fine bonus, but I doubt it would actually be all that commonly usable.
Flatpack looks great compared to what we've had in the past. It solves a lot of problems with installing shared libraries that have plagued Linux for a long time. And it eases the developer's burden of creating distro-specific images. It does however look a little rough around the edges for installing themes. That will obviously need a lot more work to make it user friendly. And Flatpack doesn't address installing non-GUI apps, does it? I'd be interested in seeing a video about that problem and if there are any potential solutions on the horizon apart from snaps, which I believe supports it.
Unfortunately Flatpak still suffers from inter-flatpak apps communication. Inability to use Flatpak KeepassXC together with Flatpak Firefox is a great example of that, and this is a bigger problem that it seems which must be addressed on the Flatpak implementation level. CLI apps on the other hand don't really need Flatpak, and was never within Flatpak scope, Nix-packages can address CLI apps, but honestly CLI apps are usually low-level applications which comes with the base system, so there are not much benefit of packing them into something fancy. I guess in future linux will split between base system where low-level system lives together with DE, and GUI apps distributed as Flatpaks - that would have make more sense than trying to package the entire system into Flatpaks.
I don't use Flatpak because there's a large difference between the sizes of applications. For example, VS Code's rpm would have a size of 25-50mb whereas it's flatpak equivalent would be 200-300mb. Yes, it could be because I have never downloaded any flatpak apps before and there's no common packages to share, but I'm on a daily data limit so I can't spend it downloading a single application. Plus I surely wouldn't bother doing all this stuff just to get the theming right, something which is a very basic thing an application is supposed to do.
That's the best mentality to have, use what tool works best for the job. Personally I use flatpaks because they do the job reliably across distros but I can see why someone would avoid it.
I like to just wrap everything in containers and just map in exactly what I want them to know/have access to. Completely distro agnostic. Thanks to Jessie Frazzelle, the docker queen, for detailing how to do it all on her blog.
I love Flatpaks as a supplement to existing distro repos but I never want to see them straight up replace them! They are big and bloated and because they're containerized they ship dependencies that you might already have installed (double edged sword). Also because of permissions issues, some types of apps may not have permission to do things they may need to do like access certain parts of the filesystem you may actually want to access. Another example is Dejadup which for the longest time didn't have permission to automate backups on Mint. This is partially the fault of Cinnamon not properly supporting portals but this still proves my point because not all desktops may properly support all aspects of Flatpak especially more obscure or less popular ones. Flatpak is awesome, I use it a lot but never let it replace base repos. 🥺🙏
10:36 Either the ability to drag and drop files into Flatpaks, via a 'drag and drop' Portal, is in the works or already exists but Discord doesn't use it yet.
Shared linking libraries/packages was a mistake. The perfect application is self contained and does not break with a package update. Storage is not a bottleneck anymore to advocate for shared linking and statically linking everything at compile time prevents "packaging" applications for every other distribution. Flatpak runtimes are slowly becoming the NPM module folder, gotta have 5 versions of a runtime because every other application relies on a different one
There is also "flatpak remote-ls --updates" command to check what updates your system is waiting. I wish you would add this as well :) but great video overall, thank you!
Flatpak has so many issues. My TexMaths extension doesn't work on LibreOffice Flatpak. SImilarly, KiCAD Flatpak doesn't recognize the system Text editor in the preferences. Same is true for Inkscape Flatpak Latex extension. And I m afraid to uninstall LibreOffice as my work has lot of references, that might go bad. If Anyone is having a solution to these issues, please help?
I know the LO devs are working on fixing access to extensions, but I’m not sure there is solution yet! Maybe giving the app access to the directory where the extension is usually installed?
Would have been nice to touch on the de-duplication properties of Flatpak, as "Flatpak takes a huge amount of space" is a common criticism which, while still partially true, I think is blown way out of proportion.
What annoys me a little about all package managers is that I have to remember exactly what word they used for "get rid of some app" command. There are at least three words in English that basically mean the same thing - remove, uninstall, delete. And different package managers use different words! In Russian we use only one word in this context.
My issue with Bottles is that, although it does have internet connection or access turned on for apps, the bottle-containers still say there don't have access to internet. This is happening when I\m trying to install any kind of windows software inside of them. That's something which I do not understand. Any ideas?
I've been a die hard Linux user for years, but we NEEEEED a SINGLE app for all of what you did for themes, this is something we are WAY behind with compared to windows and mac, I know how complicated it might be, but it's worth it for everyone wanting to give Linux a try, this leaves just enough of a bad taste in the regular computer users mouth to not want to consider living with the rest of the trade offs of Linux, if I had the ability, I'd make that app rn
"flatpak run minitext" is certainly an improvement over the awful terminal launch process we had before, but I would much prefer it if I could just do: $ minitext Y'know, like other package types. Will "flatpak run steam" even accept switches?
Dans une de tes vidéos, tu expliques comment régler le problème des doubles icons qui s'ouvrent dans le dock lorsque qu'on ouvre une application flatpak. Je n'arrive pas à la retrouver.
Thanks Nick for the Flatpak themes tutorial! Hope someday all this theme stuff will get an automated running script or something in any distro to just apply/copy/whatever is needed to set a theme to Flatpak apps. And shorter name for Flatpak run and kill in the future is a must-have, it is odd that it require full name, but install works.
One thing I love about Flatpak is I can have the entire installation on a dedicated partition that can be shared between several distributions and kept intact even if I reinstall my system.
I think there is a need for tutorials or good blogs on the correct use of flatpak. An example, I was trying to implement using flatpak and I thought that google chrome was not working correctly. I understood after much research and especially when commenting on the problem that I needed to give permissions to access certain files and directories. Now I feel like Flatpak makes sense to me.
5:00 I am running NixOS with a standalone window manager, and I use about a dozen Flatpaks. However, I simply *cannot* get them to respect my theme. If I change nothing, some apps use dark mode and some use light mode, both of the Adwaita theme, and very inconsistently. My cursor theme (Bibata Modern Ice) is only right in Flatpaks such as Flatseal itself, and it is wrong in basically every other Flatpak I have installed. My GTK theme (let's not even talk about QT theming in Flatpak… (yes, there is Kvantum, but it's not a solution for me, it's not what I use not what I want to use with my normal system packages), is Flat Remix Blue Dark, it is installed on my system as a package and as a flatpak. Yet, not any of my Flatpak uses it. I tried to add "GTK_THEME=Flat-Remix-GTK-Blue-Darkest-Solid", but it didn't do anything, and as the theme is installed as a flatpak, I really have no idea why it doesn't work. Also, I can't find a way to make the fonts work properly either, but that's a minor inconvenience for me. --- Theming in Flatpak is still a hell after all these years.
My root / partition is 30 gigs and is routinely getting close to full. The flatpak folder is huge and removing old versions on the CLI doesn't do anything.
Make your root partition bigger (or don't separate /home at all). While 30GB might usually suffice for newly installed system, you will eventually grow out of it, Flatpak or not.
Kinda complicated on Fedora right now. The gimp flatpack works better then the official fedora repository package, but it can't see any printers on the system [permissions?🤷♂️]. There are other problems with other packages like kdenlive.. and its weird that I can have a flatpack AND a package from a dnf repository too. Libre office also dosen't load printers on Fedora [permissions?... 🙈]
Although Flatpaks are safer than native packages, it still isn't much as their sandbox is pretty weak and there are exploits that allow (or allowed) acess to the host. If you want maximum security, ONLY allow permisions that you know will be used like there is zero reason.
If you want MAXIMUM security you could give every app it's own docker container but unfortunately security and privacy often come at the cost of convenience
@@TheLinuxEXPis it? Like I have a fence up in my yard that has multiple gaps in it, the only reason why we haven’t taken it down yet is because we haven’t had the time too. But I promise that the fence is absolutely useless because it can be thwarted by walking just a bit further. Flatpaks are ok but security is the worst thing to bring up because it makes people think that their system is secure, when it really isn’t.
@@zetetic-astronomer The fence is a minor obstacle to indicate to people that you don't want them walking in your space. It keeps casual or incidental trespassers out, but will not stop an even mildly determined intruder. I guess the sandbox serves a similar function here. But it could be worse than no sandbox if it provides a false sense of security.
@@monabuuHow is Docker any better? It also comes with a huge attack surface out of the box. VMs are better. If you want maximum security you don't run code you don't trust.
So debian and archlinux aren't one of the "good ones" distributions because they don't come with Flatpak and Flathub pre-installed? Debian/ArchLinux masterrace!
Nick, instances - I want to be able to run several instances of a selected application, e.g. one instance of browser for work and one for private stuff.
Personally, I still prefer appimages, though there can be issues with them. The apps need to be complete. I've had appimages that kept crashing trying to find missing libraries, etc. I like appimages because I can download them, set them to execute, put them in a shared folder, and all of my other systems can use them without having to install the same app on multiple machines. Same with updating. Download the updated version, set to execute, copy/move to the shared drive, and the other systems are updated at the same time. At worst, just refresh the file browser to see the updated version, not have to install separately. I know I should start looking into flatpaks going forward.
So if I install all my flatpaks as a user (in my home directory) and later reinstall the OS (or an other distro with flatpak support), can I use flatpak repair to restore the local installation without having to download all of the flatpaks again?
In speak of themes: Is there Yaru Colors for GTK4? i am aware of Gradience, but last time I checked I didn't see theme like that. I wish accent colors were already a thing in GNOME.
Every time I try to save a file using the brave or vscode flatpak or any other flatpak it opens some wierd '/run/user/1000/doc/.... directory. How can I fix this
But why is flatpak better than snap or appimage? Or just using your distribution's repos? From what I can tell, appimage is superior to all the others... and I don't understand why everyone hates on snap. I'd love a compare-and-contrast episode of these technologies!
This is a great video on Flatpak Nick. The way theming works on flatpak is convoluted like you said. The guide you provide in your video really helps to correct that, thanks! Hopefully flatpak will make it easier to follow the theme used by the system in the future.
So much for Flatpak being everywhere, I just booted up Ubuntu 22.04 LTS, no sign of Flatpak, it's all running via Snap. I did get Flatpak to install, and to load a test program, 'Brave browser'. It kind of confused me as instead of the 'Flat Hub' as mentioned, I saw another icon labelled 'Software' with a white briefcase icon alongside the orange briefcase 'A' icon software supplied as default by Ubuntu. The new one, that says 'Gnome software' in deals is kind of confusing as it does got line up with your video at all.
It's the default method to install applications on the Steam Deck and I suspect, this is the most common consumer GNU/Linux device currently available, so I guess Flatpak has won.
if I already have installed clang diagnostic from apt repo, any programs that I installed through flatpak that requires clang diagnostic will not not find/work. for example emacs or vscode. but if I install from snap everything working fine with no issue...
mister thelinuxexp i have a question does Flatpak include the needed libraries in every single package install, or does it save the libraries to somewhere all packages can access?
Both. The main, major libraries are shared, but some individual libraries are packaged by the app itself and can be duplicated. It’s generally small stuff though
@@TheLinuxEXP Even libraries packaged by individual apps can be de-duplicated when it's the same version. Flatpak uses OSTree so identical files are de-duplicated across the entire installation.
What I wanna know is: When can I get Firefox Beta and/or Nightly Flatpaks 😭. I tried the Snap once but it didn't register my locally installed default font.
Yeah the issue is that there is no « general » theming API. Apps aren’t meant to be themed and it’s a hack that will never work completely reliably on every app, so I doubt they’ll spend much time on it. I included it because I knew people would ask, but I personally don’t do it
Instead of permissions for temporary drag-drop things that I have to grant to the whole directory, a temporary 'access token' such as 'okay let this app read this file/directory just this once' would be great, so that I don't have to keep removing and checking permissions just because I am a disorganized weiro lmao Great video as usual!
The readme file that pops up at the first startup (or at least in VSCodium) says that you can add for example "flatpak-spawn --host bash" (or any other) as shell to work with the programs and commands from outside the flatpak.
You really don't need to know most things he said to use it. I use it since a long time and I didn't know most of it. Everything just worked out of the box except drag and drop files into discord (if it was not in the download folder) that I had to add access.
Wow! Flatseal is brilliant! I just enabled user and system d-bus for all flatpacks and libreoffice finally has global menus! However, menus in LO do not have the icons as they do when Libre is launched from repo, but nevertheless, this is an improvement. Didn't know it is possible. However, Portals section is grayed out. How to enable it? The tooltip shows that the portal data were not configured yet. Looking online for "configure portal on linux" doesn't show any relevant matches :(.
I ran into a roadblock using flatpak with programs that have embedded terminals (such as IDEs): it ignores that I have zsh as my shell. And since /bin and /usr/bin from the host isn't available, I can't even star zsh manually. Completely unacceptable.
I love that Flatpak apps have restricted access to the rest of the system by default, but I wish it was more obvious when the user tries accessing an inaccessible path. When I tried installing GOG games using the Heroic launcher, it kept putting them in my ~/.var/... directory, which was located on a hard disk at the time, instead of the dedicated SSD at /games. I couldn't figure out what the issue was, so I ended up using the installer EXE through straight wine.
I wish appimages would have a central repo, im working on a coding app right now and realistically I need access to the host it's running on for opening a shell instance or just opening it from the command line, perfect use case for a appimage.
God, yeah, the theming is annoying. I just do a global override for all gtk files and folders in .config, plus I think my theme is in the .local/share/themes folder. Idk, I just backup the global overrides file and all the other files, which is easier to do with a flatpak --user install. Also, anyone else still waiting for Network Host Messaging? Waiting for that one so long that I'm pretty much moving all of my stuff to Nix and Conty which covers most of my usecases anyways.
the developers need to figure out the theming without me having to do anything, and that is enough reason for me to not use this system. permissions it's also a fail here, learn from Android, when an application needs a permission you ask the user with a popup, (once/always/no), flatseal should be rare to use, just do not apply permissions by default, ask the user. once this issues are fixed, then i would consider using and recommending flatpak for now, it's a no go.
Thanks for the quick tutorial for terminal usage - that's what is usually missing for me in your videos, as you're rather graphic-oriented (I'm not saying, it's bad, of course, it's just not my preferred way)
NOTE: I was told of another method to handle theming using flatseal, that should be less prone to breakage in apps: instead of adding the GTK_THEME override in .bash-profile, and giving flatpak access to the .themes folder, you can add the 2 following overrides for all apps in flatseal in the "other files" section:
xdg-config/gtk-4.0:ro
xdg-config/gtk-3.0:ro
This will let flatpak read the current theme in your config, and change it for all flatpak apps. Should be more resilient if things change in GNOME, and shouldn't break too much stuff. As awlays, though, theming is a "hack" so it's never 100% perfect.
Oh, and also, if you want to secure and monitor your internet connection, you can download Safing's Portmaster and take control of your network traffic: safing.io
Nice
Yeah I was playing with vanillaOS and found it hilarious that the flatseal icon is a roll of scotch tape 😂 so accurate! I need to take baby steps with the container OS'es there is definitely a very steep learning cliff I mean curve
On the theming part, it's worth noting Linux Mint takes care of all of it, just pick the theme you like as you usually do, and the Mint Update manager will download said theme as a flatpack and apply it to all your installed flatpacks
That’s really nice!
This is default behavior from Flatpak, it works on all distros
It seems GNOME Software is also smart enough to install your active theme when you install software. Wished the CLI version or Pamac would do that too.
Mint is my single favorite recommendation for new users for that single reason
@@6XGateI think you mean Ubuntu, Fedora gnome does not do that as well I'm afraid
I love the permissions popup idea! When I installed Bottles I had no idea that it only had access to ~/Downloads by default so when I downloaded an app, ran it to test if it works, then moved it to an apps folder, I was very surprised to see a WINE error message. No warning from Bottles or Flatpak that somethign was wrong. I spent a good half hour troubleshooting before I thought of checking the permissions in Flatseal - something that came to mind only because YOU mentioned Flatseal in a previous video. Had I not watched it, I would have no idea what was going on or how to fix it!
Yeah they really should implement that
multiple people pointed out that permissions should've been realtime from the get go but the committee working on it refused by never even really acknowledging the question. it's one of my biggest gripes about flatpak. I hate having to launch flatseal to change/fix permissions. it's better now though but the solution has been to do more broader permissions from the get go.
that said, managing flatpak is much better than snaps, appimages and even system packages at times.
Unfortunately, I do not think that is so easy to implement from a programmers perspective. A much easier and cleaner way to achieve this is via the use of flatpak portals (maybe a drag and drop portal in this specific case). This does require the app developers to update their apps to use the new APIs though. Something I think is a reasonable thing to ask for new and actively maintained applications but less likely to happen for legacy ones
Yep, this is a portal thing.
Pretty sure your actually describing a portal here
Great explanation. I think that Linux really needs to make the Flatpak experience much easier than it currently is.
Flatpak has great potential for both developers and users. And mostly this has been realized. It's just nice that you can rely on one solution that will work regardless of distro. The permission situation is a bit lacking still. Your solution is how Android does things and it works beautifully there. If an app wants to use your camera or microphone it'll request it with a popup.
The only thing I wish Flatpak did is cleaning up runtimes when they're no longer needed. When you remove a program Flatpak will leave all the runtimes behind. If I choose to uninstall an app and it's the only thing using that runtime then Flatpak should just get rid of that runtime too. Or alternatively: ask real quick if I wanna leave the runtime or remove it. Would save a little space.
flatpak remove --unused
@@softwarelivre2389 That'll work, sure, but is not intuitive for the every day user and should be done automatically anyway
I've seen a lot of flatpaks that don't work, or are much slower than native apps.
@@MichaelMantion That's unfortunate, personally though for me it's been great! Pretty much every time I had an issue with something, the solution ended up being "Just use Flatpak"
I use an immutable system now because of it, I only have solaar and ckb-next installed with traditional packaging (by layering them) because they're not available as Flatpak
@@softwarelivre2389 That action should be automatically run after each Flatpak update and uninstall, with a prompt asking the user if they want to clean these unused Flatpaks or not.
It's a silly oversight in my opinion, and a costly one on storage space (the first time I discovered and ran this command, it freed up almost 50Go of space on my disk...)
I came here for flatearth
Obviously the earth is a square!
@@Nan0MK_Olda square in space. Which segways into this comment's sponsor. 😂
😂100
It's a potato
I thought you were flat packer
Hey Nick, great video! I would recommend reading about portals, which is pretty much what you described as per managing permissions dynamically.
Portals are great, yeah!
I agree for the pop up permission like android or ios do.
For me the fact that it's me who should disable some permissions is weird and the proof that developers should be more aware, the developer shouldn't just force his flatpak to access everything and I have to disable the various permissions and see if the application will work or not and what settings should be enable to make the app works...etc. For me the mentality of just "there isn't any virus on linux so let's use X11 even when it's not secure and we don't have to enforce sandboxing" is false.
The fact that some will want to disable some permissions stems from the fact, that we're all different and static permissions are just an in between before there are enough portals. Permissions on flathub are vetted, but some even want all apps to don't have network access by default.
It's a compromise between usability and security.
@@razzeeee I understand that and I don't want to remove the possibility of editing permissions.
But for me and for most normal user I think, they just want the sandboxing to have a secure system, and so it's better for us that the developers choose themselves the permissions needed to have a working application but that doesn't have access to everything. Or they can enable some permission to have a working application but disable some because they are uses in some option and if you want those options a pop up will tell you if you want to allow this access or not.
@@moussagacem8260 I think you need to be more specific and call out apps, that don't have a minimal set of permissions in your opinion. Best would be to then open an issue on their flathub repo.
Flatpak shows you that exact pop up, for webcam access and file access, if your app is up to date enough.
Btw, .local/share/themes should be preferred to .themes
And you could use xdg-documents instead of the whole path :)
I wish flatpaks used more xdg paths
.local/bin
.local/lib
.local/share/applications
.config
.cache
And friends xd
If the flatpak devs implemented your suggestions (I'm not sure how the permissions popup will work, but the CLI part about program names over IDs is a must) I would consider switching to flatpak for all desktop applications possible.
Flatpak isn't targeted for CLI apps, so why would you consider using it for them? It's primarily for GUI apps, and it already has all kinds of permissions popups, including file chooser drag-and-drop.
For me appimage is the best package format. Just 1 thing to download and use it from a USB you can want to move it from debian to arch you can flatpak/snap is just to complicated. Only thing appimage does lack is theming and update option. And it will be instantly better than flatpak or snap
No
The issue I have with Flatpak is not the Flatpak technology itself, but the shift of responsibility towards developers. That means, i have to trust 50 developers of Flatpaks, instead of only my distribution. It also means that a single Flatpak can't be perfectly suited to all distributions and need configuration by the end user to be usable. A native package is already packaged and configured in a way, that it works perfectly fine for the individual distribution. Not to mention CLI apps, which Flatpak does not support and it's my preferred way of handling many things. Hopefully this will be addressed soon.
Still Flatpak is useful today and I use a few programs.
If you use their app, you implicitly trust them? Why would you trust a version of the app packaged by a third party that barely had any time to test it compared to a package the developer made and tested because that’s the only one they make?
@@TheLinuxEXP Because the distribution is an additional step, which involves the quality standards I expect with a specific maintainer and the rest of the distribution having an eye on the system. To me it is an improvement over Windows in example, that we do not get the applications directly from the developers. That means for a distribution less control over the integrity of the system.
I'm not saying that I don't trust nobody. Most popular software like Firefox and LibreOffice isn't actually an issue. Otherwise I wouldn't use Flatpaks. But I mean the general trust issue and concept over ANY software.
And as said, I do not hate the Flatpak. The opposite is true! Hopefully ALL distributions will support Flatpak and Flathub out of the box. But I do want distributions to continue packaging usual as business (maybe with exceptions for big and complex software such as Firefox). Because that is my preferred way of managing the system.
With traditional packages you have trust all those 50 developers plus at least 1packager (assuming all 50 are packaged by the same person).
@@pulkitkrishna8809 With a distribution package there is a second step between the 50 developers and the highly trusted distribution packager. I prefer this way.
I use the source with the most up-to-date version. It's a simple practical matter. Surprisingly, flatpack isn't always the most recent.
Since my application needs are pretty mainstream I've never had any "dependency hell" problems. I appreciate the appeal of Flatpaks for developers / maintainers, and *philosophically* I like the idea of Flatpaks, but as a practical matter I just want something that is up-to-date and works with my system with minimal fuss.
what i like about flatpak is that you can:
* disable internet access
* set firewall rules to app
* install multiple app versions
10:15 - That kind of exists... Apps open the file chooser popup (included with your system) in which you can choose any file you want to give to the app. Works for drag-and-drop, too. The way you phrased all that, sounds as if there is no way to do that. A special popup for apps that don't support Flatpak & portals could be a fine bonus, but I doubt it would actually be all that commonly usable.
I wish flatpak had support for parallel downloads, it would be much faster to install and update lots of packages at once.
Flatpack looks great compared to what we've had in the past. It solves a lot of problems with installing shared libraries that have plagued Linux for a long time. And it eases the developer's burden of creating distro-specific images. It does however look a little rough around the edges for installing themes. That will obviously need a lot more work to make it user friendly. And Flatpack doesn't address installing non-GUI apps, does it? I'd be interested in seeing a video about that problem and if there are any potential solutions on the horizon apart from snaps, which I believe supports it.
Unfortunately Flatpak still suffers from inter-flatpak apps communication. Inability to use Flatpak KeepassXC together with Flatpak Firefox is a great example of that, and this is a bigger problem that it seems which must be addressed on the Flatpak implementation level.
CLI apps on the other hand don't really need Flatpak, and was never within Flatpak scope, Nix-packages can address CLI apps, but honestly CLI apps are usually low-level applications which comes with the base system, so there are not much benefit of packing them into something fancy. I guess in future linux will split between base system where low-level system lives together with DE, and GUI apps distributed as Flatpaks - that would have make more sense than trying to package the entire system into Flatpaks.
I don't use Flatpak because there's a large difference between the sizes of applications. For example, VS Code's rpm would have a size of 25-50mb whereas it's flatpak equivalent would be 200-300mb. Yes, it could be because I have never downloaded any flatpak apps before and there's no common packages to share, but I'm on a daily data limit so I can't spend it downloading a single application. Plus I surely wouldn't bother doing all this stuff just to get the theming right, something which is a very basic thing an application is supposed to do.
Apps aren’t supposed to be themed, it’s a hack and always has been ;)
That's the best mentality to have, use what tool works best for the job.
Personally I use flatpaks because they do the job reliably across distros but I can see why someone would avoid it.
Well, if you try to get the vscode theme fixed like this, I have bad news for you
@@TheLinuxEXP except for KDE, they actually support it as a feature.
I like to just wrap everything in containers and just map in exactly what I want them to know/have access to. Completely distro agnostic.
Thanks to Jessie Frazzelle, the docker queen, for detailing how to do it all on her blog.
I love Flatpaks as a supplement to existing distro repos but I never want to see them straight up replace them! They are big and bloated and because they're containerized they ship dependencies that you might already have installed (double edged sword). Also because of permissions issues, some types of apps may not have permission to do things they may need to do like access certain parts of the filesystem you may actually want to access. Another example is Dejadup which for the longest time didn't have permission to automate backups on Mint. This is partially the fault of Cinnamon not properly supporting portals but this still proves my point because not all desktops may properly support all aspects of Flatpak especially more obscure or less popular ones. Flatpak is awesome, I use it a lot but never let it replace base repos. 🥺🙏
i wonder if you could make it so flatpacks check what dependencies you already have and delete any copies it has.
10:36 Either the ability to drag and drop files into Flatpaks, via a 'drag and drop' Portal, is in the works or already exists but Discord doesn't use it yet.
It already exists, yeah, but not all apps use it
Discord isn't even updated to use Pipewire (at least, last time I checked) which forced me to use WebCord since Discord's screensharing was broken.
Shared linking libraries/packages was a mistake. The perfect application is self contained and does not break with a package update. Storage is not a bottleneck anymore to advocate for shared linking and statically linking everything at compile time prevents "packaging" applications for every other distribution. Flatpak runtimes are slowly becoming the NPM module folder, gotta have 5 versions of a runtime because every other application relies on a different one
Excellent timing given I'm about to try using flatpak for sandboxing
Its best to just avoid flatpak and the like.
There is also "flatpak remote-ls --updates" command to check what updates your system is waiting. I wish you would add this as well :) but great video overall, thank you!
Flatpak has so many issues. My TexMaths extension doesn't work on LibreOffice Flatpak. SImilarly, KiCAD Flatpak doesn't recognize the system Text editor in the preferences. Same is true for Inkscape Flatpak Latex extension. And I m afraid to uninstall LibreOffice as my work has lot of references, that might go bad. If Anyone is having a solution to these issues, please help?
I know the LO devs are working on fixing access to extensions, but I’m not sure there is solution yet! Maybe giving the app access to the directory where the extension is usually installed?
Would have been nice to touch on the de-duplication properties of Flatpak, as "Flatpak takes a huge amount of space" is a common criticism which, while still partially true, I think is blown way out of proportion.
Exactly. Same for "Electron apps use too much memory". True, but not such a big deal compared to the huge advantages.
What annoys me a little about all package managers is that I have to remember exactly what word they used for "get rid of some app" command. There are at least three words in English that basically mean the same thing - remove, uninstall, delete. And different package managers use different words! In Russian we use only one word in this context.
Both "remove" and "uninstall" work in Flatpak ;)
My issue with Bottles is that, although it does have internet connection or access turned on for apps, the bottle-containers still say there don't have access to internet. This is happening when I\m trying to install any kind of windows software inside of them.
That's something which I do not understand. Any ideas?
Side note, you don't need to manually install your theme, flatpak update will automatically install it for you.
How can you explain?
@@ExistentialDawn When you run "flatpak update" it will auto-detect your theme and install it if available
@@Blueeeeeee but that is just update, generally when you want new theme you have to write its name in terminal, right?
I've been a die hard Linux user for years, but we NEEEEED a SINGLE app for all of what you did for themes, this is something we are WAY behind with compared to windows and mac, I know how complicated it might be, but it's worth it for everyone wanting to give Linux a try, this leaves just enough of a bad taste in the regular computer users mouth to not want to consider living with the rest of the trade offs of Linux, if I had the ability, I'd make that app rn
As always writing a comment to support the channel
I do hope that they fix the flatpak issue of drag and drop (like you mentioned, give permission per file)
"flatpak run minitext" is certainly an improvement over the awful terminal launch process we had before, but I would much prefer it if I could just do:
$ minitext
Y'know, like other package types. Will "flatpak run steam" even accept switches?
Dans une de tes vidéos, tu expliques comment régler le problème des doubles icons qui s'ouvrent dans le dock lorsque qu'on ouvre une application flatpak. Je n'arrive pas à la retrouver.
Very clear explanations, especially for someone who is relatively new to Flatpak, like myself. Thanks, Nick.
Thanks Nick for the Flatpak themes tutorial! Hope someday all this theme stuff will get an automated running script or something in any distro to just apply/copy/whatever is needed to set a theme to Flatpak apps. And shorter name for Flatpak run and kill in the future is a must-have, it is odd that it require full name, but install works.
So Flatpak is just like good 'ol 2000~2010 Linux - incredibly inconvenient
One thing I love about Flatpak is I can have the entire installation on a dedicated partition that can be shared between several distributions and kept intact even if I reinstall my system.
Thanks Nick, is there a similar video for Bottles planned?
Not yet, but if there is enough interest, sure!
@@TheLinuxEXPis there a major difference between bottles and proton?
Flatpak was taking too much space on my SSD so I cleaned it out of my Linux Mint installation.
I think there is a need for tutorials or good blogs on the correct use of flatpak. An example, I was trying to implement using flatpak and I thought that google chrome was not working correctly. I understood after much research and especially when commenting on the problem that I needed to give permissions to access certain files and directories. Now I feel like Flatpak makes sense to me.
5:00
I am running NixOS with a standalone window manager, and I use about a dozen Flatpaks.
However, I simply *cannot* get them to respect my theme.
If I change nothing, some apps use dark mode and some use light mode, both of the Adwaita theme, and very inconsistently.
My cursor theme (Bibata Modern Ice) is only right in Flatpaks such as Flatseal itself, and it is wrong in basically every other Flatpak I have installed.
My GTK theme (let's not even talk about QT theming in Flatpak… (yes, there is Kvantum, but it's not a solution for me, it's not what I use not what I want to use with my normal system packages), is Flat Remix Blue Dark, it is installed on my system as a package and as a flatpak.
Yet, not any of my Flatpak uses it.
I tried to add "GTK_THEME=Flat-Remix-GTK-Blue-Darkest-Solid", but it didn't do anything, and as the theme is installed as a flatpak, I really have no idea why it doesn't work.
Also, I can't find a way to make the fonts work properly either, but that's a minor inconvenience for me.
---
Theming in Flatpak is still a hell after all these years.
My root / partition is 30 gigs and is routinely getting close to full. The flatpak folder is huge and removing old versions on the CLI doesn't do anything.
Make your root partition bigger (or don't separate /home at all). While 30GB might usually suffice for newly installed system, you will eventually grow out of it, Flatpak or not.
Kinda complicated on Fedora right now. The gimp flatpack works better then the official fedora repository package, but it can't see any printers on the system [permissions?🤷♂️]. There are other problems with other packages like kdenlive.. and its weird that I can have a flatpack AND a package from a dnf repository too. Libre office also dosen't load printers on Fedora [permissions?... 🙈]
Although Flatpaks are safer than native packages, it still isn't much as their sandbox is pretty weak and there are exploits that allow (or allowed) acess to the host. If you want maximum security, ONLY allow permisions that you know will be used like there is zero reason.
If you want MAXIMUM security you could give every app it's own docker container but unfortunately security and privacy often come at the cost of convenience
It’s still better than no sandbox ;)
@@TheLinuxEXPis it?
Like I have a fence up in my yard that has multiple gaps in it, the only reason why we haven’t taken it down yet is because we haven’t had the time too. But I promise that the fence is absolutely useless because it can be thwarted by walking just a bit further.
Flatpaks are ok but security is the worst thing to bring up because it makes people think that their system is secure, when it really isn’t.
@@zetetic-astronomer The fence is a minor obstacle to indicate to people that you don't want them walking in your space. It keeps casual or incidental trespassers out, but will not stop an even mildly determined intruder. I guess the sandbox serves a similar function here. But it could be worse than no sandbox if it provides a false sense of security.
@@monabuuHow is Docker any better? It also comes with a huge attack surface out of the box. VMs are better. If you want maximum security you don't run code you don't trust.
Thanks Nick - very good!
Thanks!
Fedora Silverblue + Flatpak + Distrobox == the happiest I've ever been using a computer. :)
So debian and archlinux aren't one of the "good ones" distributions because they don't come with Flatpak and Flathub pre-installed? Debian/ArchLinux masterrace!
If only I could use libdvdcss in the Faltpak version of VLC
Flatpak is tolerable (unlike snaps), but it still have too many drawbacks for me. I still prefer debs.
Nick, instances - I want to be able to run several instances of a selected application, e.g. one instance of browser for work and one for private stuff.
Personally, I still prefer appimages, though there can be issues with them. The apps need to be complete. I've had appimages that kept crashing trying to find missing libraries, etc. I like appimages because I can download them, set them to execute, put them in a shared folder, and all of my other systems can use them without having to install the same app on multiple machines. Same with updating. Download the updated version, set to execute, copy/move to the shared drive, and the other systems are updated at the same time. At worst, just refresh the file browser to see the updated version, not have to install separately.
I know I should start looking into flatpaks going forward.
So if I install all my flatpaks as a user (in my home directory) and later reinstall the OS (or an other distro with flatpak support), can I use flatpak repair to restore the local installation without having to download all of the flatpaks again?
Can you do the same getting started but for arch Linux
In speak of themes: Is there Yaru Colors for GTK4? i am aware of Gradience, but last time I checked I didn't see theme like that. I wish accent colors were already a thing in GNOME.
I wish they would add that too! I’ve seen some work towards that, maybe for GNOME 45 but I’d be surprised if it was ready
Thanx I didn't know about flatpak repair. Usefull to delete unused runetime
Do you think you'll do any coverage of BlendOS? And maybe compare it with Vanilla OS and how they differ?
Thanks for the great videos.
Excellent video, explanations are clear. :)
What is the name of the icon theme you use at 2:15 ?
Every time I try to save a file using the brave or vscode flatpak or any other flatpak it opens some wierd '/run/user/1000/doc/.... directory. How can I fix this
its under the downloads settings
But why is flatpak better than snap or appimage?
Or just using your distribution's repos?
From what I can tell, appimage is superior to all the others... and I don't understand why everyone hates on snap.
I'd love a compare-and-contrast episode of these technologies!
This is a great video on Flatpak Nick. The way theming works on flatpak is convoluted like you said. The guide you provide in your video really helps to correct that, thanks! Hopefully flatpak will make it easier to follow the theme used by the system in the future.
Hey Mr Nick Can I Use Ubuntu flavours Without Snaps and Only Flatpaks Like I Want To use Kubuntu Xubuntu And Lubuntu
So much for Flatpak being everywhere, I just booted up Ubuntu 22.04 LTS, no sign of Flatpak, it's all running via Snap. I did get Flatpak to install, and to load a test program, 'Brave browser'.
It kind of confused me as instead of the 'Flat Hub' as mentioned, I saw another icon labelled 'Software' with a white briefcase icon alongside the orange briefcase 'A' icon software supplied as default by Ubuntu.
The new one, that says 'Gnome software' in deals is kind of confusing as it does got line up with your video at all.
Great video, I have one question. Where find more flat stores then flathub?
Flatpak is awesome... people uses android will have familiarity with using flatpak and this can easy the migration
It's the default method to install applications on the Steam Deck and I suspect, this is the most common consumer GNU/Linux device currently available, so I guess Flatpak has won.
if I already have installed clang diagnostic from apt repo, any programs that I installed through flatpak that requires clang diagnostic will not not find/work. for example emacs or vscode. but if I install from snap everything working fine with no issue...
So if i run Wayland, can i install Steam thru flatpack? Because of the bottle thing? Bit of a noob here...🙃
mister thelinuxexp i have a question
does Flatpak include the needed libraries in every single package install, or does it save the libraries to somewhere all packages can access?
They're de-duplicated when several packages use the same version.
Both. The main, major libraries are shared, but some individual libraries are packaged by the app itself and can be duplicated. It’s generally small stuff though
@@TheLinuxEXP Even libraries packaged by individual apps can be de-duplicated when it's the same version.
Flatpak uses OSTree so identical files are de-duplicated across the entire installation.
oh cool that's what i was worried about@@Blueeeeeee
@@TheLinuxEXP thank you mister thelinuxexp you are very nice
Does anyone have the link of the wallpaper at 3:36
What I wanna know is: When can I get Firefox Beta and/or Nightly Flatpaks 😭. I tried the Snap once but it didn't register my locally installed default font.
Fedora users with an nvidia GPU would definitely like to see a detailed video on Wayland vs Xorg.
The long and short of it is that Wayland isn‘t quite there yet and Xorg is no longer there either. 😅
@@jgxvx you gotta use atleast one of them, so no harm in knowing who has what better
Once they get native adaptive theming on Flatpack I will be all over it.
not going to happen so long as apps don't actually support theming. KDE might want to do it though.
Yeah the issue is that there is no « general » theming API. Apps aren’t meant to be themed and it’s a hack that will never work completely reliably on every app, so I doubt they’ll spend much time on it.
I included it because I knew people would ask, but I personally don’t do it
@@TheLinuxEXP I agree! Lets hope someone takes up the task.
@@mks-h That would be amazing! It would have to come from the distro.
ok I have to ask. Why is themeing so important?
Instead of permissions for temporary drag-drop things that I have to grant to the whole directory, a temporary 'access token' such as 'okay let this app read this file/directory just this once' would be great, so that I don't have to keep removing and checking permissions just because I am a disorganized weiro lmao
Great video as usual!
That's exactly what flatpak does with portals
That's already how it works, just for the apps that actually support Flatpak (and weren't just packaged to it with a bunch of hacks)
@@mks-h So only a fraction of Flatpaks, heh...
@@atemoc rather good portion, I'd say
@@mks-h I hope it'll eventually grow to all, or to the majority
Vary helpful tutorial. Thank you.
I wonder if a removed permission "survives" a package update or would it be (every time) reset to what the Application claims it needs?
Normally it’s not reset
Hi, how do I add flatpaks to flatpak steam?
I love flatpaks but using the vscode flatpak version is horrible, the shell does not have any access permission 😢
You can probably give it to it through Flatseal?
The readme file that pops up at the first startup (or at least in VSCodium) says that you can add for example "flatpak-spawn --host bash" (or any other) as shell to work with the programs and commands from outside the flatpak.
Great video Thank you 👍💜
Great video! BTW the link to your Discord does not work.
I’ll look into it!
The theming doesnt seem to work on gnome 45.
I never used flatpak bcuz i didn't understood it but now maybe I will give it a try
You really don't need to know most things he said to use it. I use it since a long time and I didn't know most of it.
Everything just worked out of the box except drag and drop files into discord (if it was not in the download folder) that I had to add access.
@@labonnelambda58 well i will give it a try..
what distro do you use right now? like whats your main distro? (everyone respond)
Great video as usual. I even liked the ad :)
Thanks!
Wow! Flatseal is brilliant! I just enabled user and system d-bus for all flatpacks and libreoffice finally has global menus! However, menus in LO do not have the icons as they do when Libre is launched from repo, but nevertheless, this is an improvement. Didn't know it is possible. However, Portals section is grayed out. How to enable it? The tooltip shows that the portal data were not configured yet. Looking online for "configure portal on linux" doesn't show any relevant matches :(.
I ran into a roadblock using flatpak with programs that have embedded terminals (such as IDEs): it ignores that I have zsh as my shell. And since /bin and /usr/bin from the host isn't available, I can't even star zsh manually.
Completely unacceptable.
Just what I needed!!
Thx. Had no idea, that you can add permissions to faltpak. Not it makes sense! Ant the theming! I was wondering about that!
I would love to see some kind of AUR for Debian ;-;
I love that Flatpak apps have restricted access to the rest of the system by default, but I wish it was more obvious when the user tries accessing an inaccessible path. When I tried installing GOG games using the Heroic launcher, it kept putting them in my ~/.var/... directory, which was located on a hard disk at the time, instead of the dedicated SSD at /games. I couldn't figure out what the issue was, so I ended up using the installer EXE through straight wine.
I wish appimages would have a central repo, im working on a coding app right now and realistically I need access to the host it's running on for opening a shell instance or just opening it from the command line, perfect use case for a appimage.
12:40 my guess is that they just haven't got to that yet and had higher priorities for recent updates
Would be cool if the "tutorial parts" were accessible in a written format too.
does anyone know how many flatpaks exist? it would be nice to compare the flathub repo size to other repos.
God, yeah, the theming is annoying. I just do a global override for all gtk files and folders in .config, plus I think my theme is in the .local/share/themes folder. Idk, I just backup the global overrides file and all the other files, which is easier to do with a flatpak --user install.
Also, anyone else still waiting for Network Host Messaging? Waiting for that one so long that I'm pretty much moving all of my stuff to Nix and Conty which covers most of my usecases anyways.
Yeah theming is an annoyance. I personally don’t theme, I just use the adwaita one, it looks good enough.
Native messaging is also really needed
the developers need to figure out the theming without me having to do anything, and that is enough reason for me to not use this system.
permissions it's also a fail here, learn from Android, when an application needs a permission you ask the user with a popup, (once/always/no), flatseal should be rare to use, just do not apply permissions by default, ask the user.
once this issues are fixed, then i would consider using and recommending flatpak for now, it's a no go.
As your probably aware flatpak already asks the user, as android does. Permissions are just a way to migrate all apps without breaking EVERYTHING
Which icon theme do you use?
Kora icon theme
@@filipealves2501 thanks
Thanks for the quick tutorial for terminal usage - that's what is usually missing for me in your videos, as you're rather graphic-oriented (I'm not saying, it's bad, of course, it's just not my preferred way)
Couldn't you just symlink your themes folder to the dot themes folder or am I missing something?