I thought I’ll make this thread for all of you out there who have questions but are afraid to ask them. This is your chance!
I’ll try my best to answer any questions here, but I hope others in the community will contribute too!
I thought I’ll make this thread for all of you out there who have questions but are afraid to ask them. This is your chance!
I’ll try my best to answer any questions here, but I hope others in the community will contribute too!
On Android, when an app needs something like camera or location or whatever, you have to give it permission. Why isn’t there something like this on Linux desktop? Or at least not by default when you install something through package manager.
Android apps are sandboxed by default while packages on Linux run with the users permission.
There is already something like this with Flatpak since it also sandboxes every installed program and only grants requested permissions.
Because it requires a very specific framework to be built from the ground up, and FDO doesn’t specify these. A lot of breakage would happen if were to shoehorn such changes into Linux suddenly. Android has many layers of security that they’re fundamentally different than that of the unix philosophy. That’s why Android, even if it’s based on Linux, it’s not really considered “a distro”.
It is technically doable, but that would require a unified method to call when an app needs camera, and that method will show the prompt.
This would technically require developers to rewrite their apps on linux, which is not happening anytime soon.
Fortunately, pipwire and xdg-portal is currently doing this work, like when you screen share on zoom using pipwire, a system prompt will pop up asking you for what app to share. Unlike on Windows, zoom cannot see your active windows when using this method, only the one that you choose to share.
Most application framework, including GTK and electron, are actively supporting pipwire and portal, so the future is bright.
There is a lot of work in improving security and usablity of linux sandbox, and it is already much better than Windows (maybe also better than macos?). I am confident, in 5 years, linux sandbox stack (flatpak, protal, pipewire) will be as secure and usable as on android and ios.
I’d love to just skip to “Linux being secure and running on my smartphone instead of Android” but we know how much an uphill battle that is hahaha.
It probably would end up being implemented though XDG portals
If I understand correctly pipwire is supposed to be the “portal” but for audio and videos.
But I believe camera portal is already there, using pipwire. All they need to add is a popup to request usage when the app needs it.
XDG portals is the standard interface that applications (should) use to do things on your system. It is most commonly associated with flatpaks and Wayland.
You could have pipewire as the back end but XDG portal implementation usually is controlled by the desktop.
Thanks for correcting me!
Sandboxing wasn’t considered during development of Linux. But recent development incorporates this practice and can be found for example in flatpaks.
As others have said you can use something like Flatpak to get the ability to sandbox apps, but Android was designed to have its apps sandboxed from the start, Linux never was.
There are efforts like SELinux which locks down the OS and makes doing pretty much anything impossible without explicit permission being given. However working with SELinux is typically very tedious and usually not worth it unless working in a highly secure environment.
Flatpaks get permission though XDG-portals. The difference is there are usually no popups