this post was submitted on 11 Jul 2023
206 points (91.9% liked)

Linux

46819 readers
1070 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I am currently using Linux Mint (after a long stint of using MX Linux) after learning it handles Nvidia graphics cards flawlessly, which I am grateful for. Whatever grief I have given Ubuntu in the past, I take it back because when they make something work, it is solid.

Anyways, like most distros these days, Flatpaks show up alongside native packages in the package manager / app store. I used to have a bias towards getting the natively packed version, but these days, I am choosing Flatpaks, precisely because I know they will be the latest version.

This includes Blender, Cura, Prusaslicer, and just now QBittorrent. I know this is probably dumb, but I choose the version based on which has the nicer icon.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

I like flatpak because it keeps everything more orderly. My OS fits into one box, and my userland applications all get their own little box. I don't have to worry about the choices I make for my OS dictating the options I have for applications. And I don't have to worry about installing an application polluting my OS with libraries that only it will ever use.

The same is true with containers like Docker. Sure, I could install web apps directly on the server, or make a VM for every service I wanted to spool up, but with Docker Config(or the many other ways to wrangle docker) I have a predictable input/output. I never have to worry about the requirements of one service conflicting with another. And the data and logs generated by the service rest in an exact place that I can ensure is uniform for all services, even if the developers do wacky things.

Taken to the extreme you get NixOS, which I really like the concept of, but can't bring myself around to learning, as I know it will take over my life.

[–] [email protected] 7 points 1 year ago (2 children)

/var/lib/flatpak/app/org.gnu.emacs/current/active/export/bin/org.gnu.emacs is not what I expect a Unix system to want me to type if I want to run Emacs. Nor is flatpak run org.gnu.emacs. These are tools built by someone whose mental model of running Unix software is "click the icon in the Gnome launcher". That's one aspect what I'm describing as not being "simple". I don't want my mental model of how to run Unix software to include "remember how you installed it and then also remember the arbitrary reverse-FQDN-ish string you need to use to tell flatpak to run it". If I'm honest, that alone is sufficient to signal it wasn't built for me. I could work around it for sure with shell aliases, but I could also just not use it, and that seems fine for me.

[–] [email protected] 1 points 1 year ago

This. Having to open a console to run a flatpak in bspwm is annoying as all hell. PWA's are just as bad, I ended up writing a script I could run from dmenu:

#!/usr/bin/env bash

PWA_PATH=${HOME}/.local/share/applications

for app in $@
do
  DESKTOP=$(grep -i "Name=.*${app}" -lm 1 ${PWA_PATH}/*.desktop)
  if [ ! -z ${DESKTOP} ]
  then
    APPID=$(basename ${DESKTOP} | cut -d- -f2)
    /usr/bin/google-chrome --profile-directory=Default --app-id=${APPID} &
  fi
done

[–] [email protected] 1 points 1 year ago (1 children)

I agree that launching flatpaks outside of a GUI is stupidly verbose. I certainly would never use flatpak for cli tools, and I think that is a problem for it. I would love to see more tools bundled up that way, but flatpak is far from the solution. And Docker has the same or bigger problems.

[–] [email protected] 2 points 1 year ago (1 children)

And in a way, everything is a CLI tool on most normal systems. Evince or Acroread or whatever you prefer to read PDFs is not "a CLI tool", but if I want to use LaTeX to create a document, I want to be able to do something like

$ xelatex myfile.tex
$ evince myfile.pdf &

I don't want to have to build my document, bring up my app launcher, click on the Evince icon, hit Ctrl-O, navigate to my pdf file, and double click it.

[–] [email protected] 1 points 1 year ago

That is a great point. I use the shortcut 'code .' to launch VSCode when I'm on the terminal a lot. Can't do that with flatpak without an alias. I don't live on the terminal though, so it is rarely an issue for me. It is a problem flatpak should solve though. Seems like they are focused on GUI apps and GUI launching.