this post was submitted on 25 Feb 2024
140 points (91.7% liked)
Linux
48092 readers
866 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
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Linux is a slightly different way of thinking. There are any number of ways that you can solve any problem you have. In Windows there are usually only one or two that work. This is largely a result of the hacker mentality from which linux and Unix came from. "If you don't like how it works, rewrite it your way" and "Read the F***ing Manual" were frequent refrains when I started playing with linux.
Mint is a fine distro which is based off of Ubuntu, if I remember correctly. Most documentation that applies to Ubuntu will also apply to you.
Not sure what exactly you installed, but I'm guessing that you did something along the lines of
sudo apt-get install docker
.If you did that without doing anything ahead of time, what you probably got was a slightly out of date version of docker only from Mint's repositories. Follow the instructions here to uninstall whatever you installed and install docker from docker's own repositories.
The Docker Desktop that you may be used to from Windows is available for linux, however it is not part of the default install usually. You might look at this documentation.
I don't use it, as I prefer ctop combined with docker-compose.
Towards that end, here is my
docker-compose.yaml
for my instance of Audiobookshelf. I have it connected to my Tailscale tailnet, but if you comment out the tailscale service stuff and uncomment the port section in the audiobookshelf service, you can run it directly. Assuming your not making any changes,Create a directory somewhere,
mkdir ~/docker
mkdir ~/docker/audiobookshelf
This creates a directory in your home directory called docker and then a directory within that one called audiobookshelf. Now we want to enter that directory.
cd ~/docker/audiobookshelf
Then create your docker compose file
touch docker-compose.yaml
You can edit this file with whatever text editor you like, but I prefer micro which you may not have installed.
micro docker-compose.yaml
and then paste the contents into the file and change whatever setting you need to for your system. At a minimum you will need to change the volumes section so that the podcast and audiobook paths point to the correct location on your system. it follows the format
<system path>:<container path>
.Once you've made all the needed changes, save and exit the editor and start the the instance by typing
sudo docker compose up -d
Now, add the service directly to your tailnet by opening a shell in the tailscale container
sudo docker exec -it audiobookshelf-tailscale /bin/sh
and then typing
tailscale up
copy the link it gives you into your browser to authenticate the instance. Assuming that neither you or I made any typos you should now be able to access audiobookshelf from http://books If you chose to comment out all the tailscale stuff you would find it at http://localhost:13378
I've left my docker-compose file as-is so you can see how it works in my setup.
👆
And that is why Linux mass adoption is never coming.
This is a discussion about Docker, which is a complex terminal-based containerization system. This is not a program that is typically used by the average user. Docker's complexity does not imply that Linux requires this kind of set up to use as a normal desktop. This is usually server software. Docker is also available on Windows and MacOS, and is partnered with Microsoft (you know, the company that makes Windows? The desktop OS with the highest market share?). Are you going to complain about how Windows will never reach mass adoption because users are able to install complex tools that require a steep learning curve to use? You can install Docker on Windows and use the same commands and configs, so do you believe that Windows suffers this same problem?
Before you point out the start of that comment with the "Linux mentality" stuff, while some of that is certainly true, you can now do everything an average user needs to do in an intuitive GUI, just like Windows (better in many cases, actually). Half the listed commands (making directories and files) can be done in the file manager just like Windows, normal apps can be managed in app stores, and the rest of it is docker specific, which is (again), server-oriented software. I'm not a fan of their mentality about how things work in Linux, because it's very much an old mentality that doesn't account for the immense amount of change that has happened in the past decade to make Linux more accessible.
I don't understand why people come to the Linux communities to complain that Linux is "too hard" or "too complex" to be usable. If you don't have an actual interest in Linux, find another community. If you want a simple experience, use a simple distro that's meant to be easy to use, and use software that is easy to use.
Getting this setup on Windows would be even harder because it would involve installing docker manually or setting up WSL and following these steps. What OP is trying to do is a complex thing that most people don't need, that would be the same as saying Windows is hard because setting up a VM with hardware passthrough is difficult on Windows, completely missing the point that that is a complex thing to do and that it's complex on any other OS as well.
Yeah but the difference is that even for simple things, Linux instructions look like what was posted by the person I replied to.
Being a person who replies to lots of new users questions I strongly disagree. 99% of the questions come from a Windows mindset, so it requires some deconstruction of the way the person is thinking, have you noticed how very few Mac users ask beginner questions on Linux forums?
There's a big difference between something is different and someone is used to doing the things differently, driving on the left or right is just as difficult, bit if you've driven all of your life one way switching up can be difficult. Just like that a lot of Linux concepts are different from what people are used to if they come from a Windows background, but the same is true the other way around. As someone who's been using Linux for decades I find windows weird and convoluted, but I know that this is just my perception, and that someone who's using it daily is used to that.
Edit: if you're going to reply to this, mind providing an example of something you think is easy on Windows but hard on Linux?
Just to be clear, I agree with you practically 100%, and you can see my response to this person in the same thread as well, but I'm going to play devil's advocate here. I'll give you a few examples of things that are easier on Windows (and most also are easier on MacOS) than they are on Linux (or at least some distros depending on which you pick):
There are probably plenty more, and there are things that are easier on Linux. But again, I'm just playing devil's advocate here. Each of those examples are less intuitive to complete on Linux (or at least some distros) than they are in Windows. As someone who has been using Linux for a decade, I don't think that they are all hard, but many are also less intuitive in Linux than MacOS, just to address your first point. When you have to start adding PPAs/repos to get specific things, I'd argue that's objectively less intuitive than the alternatives in other operating systems, and not merely a different way of thinking. In many cases though, for most things, there are intuitive solutions that exist in Linux. There are plenty of cases where someone overcomplicates something they want to do in Linux by using a Windows mindset, so I still agree with you there. I just think it's a little more nuanced than you seemed to imply.
I had written a more thorough response, but the app crashed and I lost it. Sorry of this one sounds a bit harsh, I do mostly agree with you, I just think that the examples you've chosen are bad because they're either distro specific (so not a Linux problem but a problem with that distro), or not Linux problems (i.e. there's nothing Linux can do about it because the problem doesn't lie on Linux but elsewhere)
Distro specific. It should be just like installing anything else, and it is for some distros, certainty for the ones I've been using.
Distro specific, I've had NVIDIA drivers auto-updating for the past 15 years or so, long before Windows had that same capabilities. And it updates with my regular system update, no need to use any special GUI for it.
Not Linux problem. Also, while I can see the argument that's easier to use what's already installed, that tells you nothing of how easy one thing is in comparison to the other. If computers came with the most convolutedly complex and unusable crap of an OS, full of bloatware and spyware pre-installed people would still use it. Not to mention that the Linux installation process was much easier than Windows for the longest time (until windows finally implemented automatic driver installation)
Not Linux problem. Although this is something to bear in mind while choosing your OS, it's the companies that make games that are at fault here, there's nothing Linux can do to remedy this situation, so it's unfair to judge it for it. That's like saying Windows is harder to use because running docker containers in it is impossible without some virtualisation, while this is something to consider when deciding what OS will you use to self-host, it's not per-se a reason why Windows is more difficult to use.
Same as above.
Like I said, I agree with lots of what you said, and some of those are thing to keep in mind when choosing an OS, but those are not good arguments as for which OS is simpler than the other. The Linux way to do most of them is using the package manager, and that's much simpler than searching the internet for the correct download.
The greatest contribution of Nvidia to FOSS had been to keep many such thinking people hostage to proprietary solutions and out of our visibility.
You know, those that refuse to learn anything new, refuse to read documents, believe that by controlling input/output through terminal is inferior to gui-blindness.
@Nibodhika @Para_lyzed
Yes NVIDIA is crap which is why my next GPU will not be NVIDIA. However you need to remember AMD used to be crappier, and the last time I bought a GPU I still didn't trusted AMD.
Also not sure what your answer has to do with the ongoing discussion.
Auto downloading and installing software is pretty much a violation of ethics in the unix ecosystem, pretty much anything that begins with Auto should be rejected.
But the general public wants the convenience and luxury of having things done by others without being bothered. Many distros competing with each other for lazy newcomers (ubuntu, mint, debian, manjaro, ...) they provide all those non-unix like utilities.
Lately it is getting worse, all sorts of telemtry is branded good
@Nibodhika
I assume you're talking about the "auto-update" drivers. That's pretty standard Linux thing, everything "auto" updates when you tell your system to update, that's one of the huge advantages of package managers, not sure which Linux have you used, but the vast majority of them do have a package manager that updates everything (including drivers).
I have never used such a system, I don't know of a single one, and I wouldn't use such a system.
@Nibodhika
Would you mind telling us which obscure Linux distro do you use that doesn't have a package manager? And how do you update your system?
I have used apt apt-get, apk, pacman, xbps, and I have never encountered an auto-update
Even dumb-gui like synaptics or pamac don't auto-update
@Nibodhika
All of those upgrade the drivers when you upgrade your system just like I mentioned.
Then what you consider automatic is a very unique perception of how things work.
In a car automatic transmission means it shifts on its own.
In a non automatic either you shift or it doesn't happen.
On most pkg managers YOU elect when to upgrade, the output is a list of "upgradable" pkgs, then you are asked whether to proceed or not. Nothing automatic about this.
Auto update would mean software has been updated on its own without you authorizing it.
@Nibodhika
No it's not, every sane person considers automatic to have little or no human interaction, but some human interaction to trigger the flow is still a thing, next you'll tell me that an automatic weapon fires on it's own will, or that an automatic garage door decides when to open. A single command that updates all of your system seems pretty automated to me, if not try doing your next update manually by downloading every single package from their source, compiling it if needed, and copying it into the correct folders, do that for every one of the hundreds of packages that get updates and then tell me that a single command is not automating a lot of that away for you.
It doesn't even work how you're describing in Windows, you get prompted whether you want to update there.
It seems you misunderstand what the other commenter meant. By "auto-update", they mean that the package is fetched and updated when you request your package manager to perform an update/upgrade (meaning that the user specifically requested the packages be updated, not that it happened on its own). This comes from my use of the term "auto-updating" in reference to Nvidia drivers on Windows, which will automatically check for updates on boot, in comparison to the closest equivalent with Linux distros in which the drivers would be updated by the package manager (but still do not require the user to manually install a new version separately, as would be the case if trying to use Nvidia's official runfile installer). I grouped the Linux drivers from a package manager into the "auto-update" category, which I realize in hindsight is a bit confusing given the nature of updating through a package manager.
No they don't lol
It's not as difficult as the length of my comment implies, and doing it in the terminal simplifies the explanation quite a bit.
The average user though might never need to use the terminal. Most of what they want can be done in the browser.
As for Linux mass adoption, that happened years ago. Just nobody noticed. Android, Chromebook, Steam Deck are all Linux based and MacOS (BSD derived) is a close relative. And Microsoft has even made it possible to run linux command line programs in Windows, with some caveats, using WSL. And that's not counting the majority of servers, networking gear and space craft running linux or unix.
"They're all close relatives"
on which the experience has been tuned to make them as user friendly as possible to the point where they have nothing in common with desktop Linux from an average user perspective.
And blackbox has nothing in common with KDE? /s
Im off for bed. Night.
Because Docker, a complex program most users will never use, has a long install process?
If I posted the long setup instructions for it on Windows, would you tell me Windows mass adoption is never coming?
Because instructions like these are just standard procedure for Linux.
Except, no they're not. Not anymore.
😅