Ubuntu 21.10
ubuntu.com
ubuntu.com
I remember in 2000s, I had to edit /etc/ text files to set up internet etc. Nowadays everything works out of box. All sorts of peripherals and hardware is recognized automatically. High quality free open source software is available for most stuff I need. The freedom to choose software and customize Linux, if required, is amazing!
Am I missing anything ignoring closed source Windows and MacOS?
Play on Linux.
Lutris.
I installed a game that had a Linux release that blew up on ALSA libraries. The ultimate fix was to install the Windows version over Wine.
Linux > Steam > Proton > Windows Game
works better than
Linux > Wine > Steam > Windows Game
There's really no reason to be running Steam in Wine when Steam runs natively within Linux and Proton does the work for you for each individual game.
One specific Linux issue I ran into repeatedly is that Chrome and Chromium by default refuse to trust Linux graphics drivers and instead do software rendering. It turns out, software rendering makes your browser really slow and makes it burn tons of battery when not plugged in. I eventually figured out how to enable most acceleration for Chrome. However, there were several electron apps like Zoom that didn't expose any option to enable hardware acceleration. The zoom desktop app was completely unusable for me on Linux. Instead, I used the browser app exclusively.
Slack was similarly unusable without hardware acceleration but to its credit exposed an option to enable it.
* Setting custom startup flags to chrome
* accessing a hidden dev-specific page and turning on acceleration features that were deemed unsupported or experimental.
This page looks related though I don't remember if these exact instructions worked for me or not: https://www.linuxuprising.com/2021/01/how-to-enable-hardware.... I had to do a bunch of research before I arrived at a working solution.
After I enabled these features, my desktop started encountering a problem where I would have to kill and restart the display manager once, and thereafter the display manager would occasionally hang and I'd have to restart it.
It was manageable with a few days research and technical skill, but it's not the kind of thing you would expect most people to put up with.
Another thing to note, Chrome's software renderer didn't seem to play well with my skylake? integrated graphics. Not only was it slow, but buggy with screen tearing and other visual artifacts. So I had to get acceleration working so my browser would both render properly and be reasonably responsive and performant.
The hand me down parts, while not ancient, were still old enough that I had expected Windows 10 to be able to support it when I installed it on the SSD for that machine. Wifi and Webcam both did not work after Windows finished installing and detecting hardware/updating.
Windows 10 later decided to reboot my system, unprompted, when I still had a project file open in Premiere.
How far Linux has come is honestly refreshing. How long Windows has continued to have absolute dealbreaker issues is astounding.
Also, that’s why even printers need to come with a CD of Windows drivers (probably for the imaginary CD drive that no longer comes with the computer)
What keeps you using Ubuntu after all these years?
You can install Ubuntu and it'll work. Easy. No other distro I've tried (Fedora, Suse, Manjaro, Mint, Mageia) is as easy.
If you remember the earliest builds, they included a video of Nelson Mandela explaining ubuntu and implied it as a light, legally unencumbered OS for the world. I was helping build labs in East Africa at the time, and it was a fantastic choice for running scientific operations because of its relative UI cohesion and simplicity over Debian while allowing access to its vast repositories and package groups.
I kind of lost all faith when the power trips started happening across the GNOME Foundation and elsewhere and moved to less divisively ambitious distros that were more responsive to their users.
I've never had issues installing or using Linux on hardware I picked, but I understand the struggles of working around non-spec and proprietary chipsets without drivers. I don't use non-free drivers in most cases, so having hardware that doesn't struggle with them is paramount.
I've stuck with xUbuntu because it seems to be the most sane of the bunch when it comes to defaults and preinstalled software. Once installed, it does a good job of staying out of my way UI wise.
Ubuntu, on the other hand, seem to like to do many things their way. Like aggressive patching. I recall fontconfig being heavily patched from upstream. Then we have Mir (now almost abandoned), Unity (abandoned), snap (flatpak, done differently, not yet abandoned :).
I can't comment on everything but:
> Unity (abandoned)
You probably don't recall how bad Gnome 3 was initially, and how much better Unity was over Gnome 2. Sure it also had its issues in the beginning, but it took a really long time for Gnome 3 to catch up.
> snap (flatpak, done differently, not yet abandoned :).
I am pretty sure flatpak didn't exist when snap was announced. Or it was around the same time.
Given the above two, I'd place very little credence on the rest of your points. I agree with the Mir situation to some extent, but look at how long wayland has taken to ship.
If you stop worrying about the victimless crime of fragmentation neither gnome sucking or the specific sequence of development matters.
For what its worth I think they date from around the same time.
https://launchpad.net/snapcraft/+milestones September 2015
https://en.wikipedia.org/wiki/Flatpak September 2015
The larger issue would seem to be that canonical has a habit of betting on losers it ultimately abandons. Snap looks like the next roadkill to me. Far from being universal it will probably never see substantial use outside Ubuntu.
It suggests perhaps that they should exercise better judgement.
I have a feeling many of these decisions are driven by internal politics than proper analysis. The first question when you decide to go your own way is whether others will find this more useful than the competition. Build better tools is not sufficient if you don’t invest in evangelising and great branding.
I do, and I have never seen its face again since then and the huge upsetting of ruining what worked well, and to create something perverse. And unless it was fixed very recently, it still is, because I just tried `gnome-font-viewer` and there are fades in the interface that cannot seem to be disabled. Unjustifiable. Not just the desktop manager: the paradigm. Dis-functional effects imposed to the user for no reason. And in a context which replaced functions with minimalism.
I am still wondering what caused that stroke of lunacy - at the time, I thought it must had been literally a stroke.
Power users have privilege and need to be hobbled; their complaints ignored. The needs of users with the least privilege, the computer illiterate, should be prioritized.
Or something like that.
But I've also never heard any description of the phrase "power user" that was clearly defined. Wikipedia says:
"A power user is a user of computers ... who uses advanced features"
"In enterprise software systems, 'Power User' may be a formal role given to an individual who is not a programmer, but who is a specialist in business software"
So which advanced features and which business software are we talking about here? That could be anything really.
We do automated computing to have tools in general, as we may need them; and we use special features when we need them.
Figure imagemagick discriminating options or functions the same way ("Lanczos stays in, but we could ditch Hamming").
Some pieces of software are more free to grow, their value is in options (image processing), while others have value in their reliability (banking).
This said, one phenomenon that appeared in the "unfortunate decade" and which is extremely dubious is that of the propaganda that "less is more". No it is not. Freedom is "more". Constraints are "less". (In the general reality of desktop software applications.)
That's an accessibility option. GNOME Settings -> Accessibility -> Enable Animations; or `gsettings set org.gnome.desktop.interface enable-animations false`. Should apply everywhere.
Yes, but it does not disable the fades, nor all the gratuitous animations I see in the GUI of gnome-font-viewer (one of the very few pieces I can try not having uninstalled it). Those animations must have been hardcoded in the software, it must probably be recompiled - and I do not take it for granted they can be disabled through a configuration flag.
Before posting I tried `gsettings get org.gnome.desktop.interface enable-animations` and it returns 'false', consistently (as it should) with `dconf-editor` used to see the options. And I verified (as I just re-did) the behaviour of `gnome-font-viewer`: changing the window content (switching the font) fades (messily) from former to latter, using the menu animates a "pull-down", activating the search slides down the interface...
I will try the GTK inspector today.
* NetworkManager is a dumpster fire.
* Wayland is 10 years in the making and it's still barely out of alpha and still missing crucial features such as fractional and consistent scaling.
* Pipewire is a welcome attempt to mitigate another source of grief, Pulse Audio.
* Gnome? Lets not get started...
Please. RedHat has been a boon to the Linux community but it's lack of - how can I put it tactfully - design taste? has stranded the platform into a decades-long quicksand of endless circular reinvention.
Gnome and Network Manager are fine though. My XPS 15 wifi has been supported for the last three years without any issues.
This has very little to do with Wayland and mostly has to do with the apps and the toolkits. I haven't really seen many Linux native apps that are able to function correctly at a non-integer scale. The rendering of these apps may have to be entirely changed and refactored to use floating point instead of integers. That a big thing to ask every app to do. The hard part is doing that, and then it's trivial to put a flag in Wayland (or XWayland) for an app to say that it supports it.
But, fractional scaling is working like a charm on Gnome + Wayland (after a gsettings command). Very crisp, despite people saying it doesn't work. On X11, even on KDE, I can't get fractional scaling this crisp. This is the only reason I'm using Wayland; all the rest sucks.
But, the problem is, GTK doesn't support fractional caling natively. Even GTK 4 supports only integer scaling. So for fractional scaling the compositor has to scale up, then down. This approach generally causes blurring (though I don't know why Gnome on Wayland here isn't blurred).
When I see screenshots of people with fractional scaling on Gnome, it appears very blurry. Comparing side by side, here it isn't. I don't know why and at this point I'm afraid of messing it with and ruining everything.
I have honestly never had that problem in years of using GNOME Wayland, but I experienced it many times with misbehaved X11 apps. Maybe you want to come up with a reproducible test case and then report it?
"Even GTK 4 supports only integer scaling. So for fractional scaling the compositor has to scale up, then down. This approach generally causes blurring (though I don't know why Gnome on Wayland here isn't blurred)."
That's what I mean, it has to be done in the toolkits first. The first step would be to add support for that to GTK which is unlikely to happen until at least GTK5. Then after the apps can start to support it, I think you're looking at at least a few years before there is a realistic chance of having that. Sorry to disappoint, it's just not an easy thing to have. And I don't think there is much incentive to support this from a hardware perspective either since most people that I see asking for this are using it as a workaround for oddly sized 4K monitors.
"This is the only reason I'm using Wayland; all the rest sucks."
I feel your frustration but I actually would not suggest using Xorg in 2021 unless you really know what you're doing. It's not secure unless you take great pains to make it so. GNOME's Wayland session is the most secure Linux desktop there is outside of security-focused distros.
> And I don't think there is much incentive to support this from a hardware perspective either since most people that I see asking for this are using it as a workaround for oddly sized 4K monitors.
All 14" hidpi laptops (meaning, more than 1366x768) suffer from this problem. 1x is too small, 2x is too large.
Low end is 1366x768 at 14", which is 135ppi. Most laptops I see have this resolution.
I was just about to write the same, the only clipboard issues I've had in wayland were with firefox. I don't know what they do, but even in windows I get weird behavior at times (e.g. when copying out of Jupyter cells for example), much less than wayland though.
Right. It doesn't matter if the fault is with GTK, Qt or the Wayland APIs not providing enough support for this to happen, sometime in the last 10 years. The problem is that it didn't.
In the meantime I've been using MacOS that has been doing vector graphics since what? 15 years?
SMH...
This is also not a matter of "fault", by necessity the majority of the work that needs to be done here in the toolkits and apps. That's just the way it is. It's not that hard to implement this on the server side, you just don't scale that buffer when rendering. MacOS is an not a good example because that also uses an integer scale.
It baffles me that Linux is still stuck on this pixel grid that just hangs together at a specific density of 96dpi; something that harks back to the VGA days
https://docs.microsoft.com/en-gb/archive/blogs/fontblog/wher...
- https://aur.archlinux.org/packages/fontconfig-ubuntu/
Then you can use their font config confs
Here is the list they are using: https://hastebin.com/fukibunuji.conf
Copy paste what you have in your ubuntu install, then believe me, fonts will look similar!
Make sure to also install the ubuntu font familly
https://archlinux.org/packages/community/any/ttf-ubuntu-font...
And set your font hinting to: slight
Screenshots:
https://i.imgur.com/lKgvBeG.png
Looks good even on YouTube with Dark Theme:
Except for decent power management on laptops, and certain Bluetooth headsets.
Furthermore they've introduced power-profiles-daemon in Fedora 35 [2] by default, which allow granular-ish control similar to Windows' "Power Mode" option and PopOS' system76-power.
[1] https://fedoraproject.org/wiki/Changes/ImprovedLaptopBattery... [2] https://fedoraproject.org/wiki/Changes/Power_Profiles_Daemon
I even tried the beta of Fedora 35 which still had awful power management for me. After a couple of days I installed the latest to tlp to see if it had improved the situation since my last try. Still no where near Windows and requires disabling the new power profiles daemon.
Maybe things would be better for me at this point if I had an Intel based laptop but my previous one was and the situation then was the same.
- Trivial app portability - I absolutely love the concept of portable Windows software. Have a single folder with configuration and binaries, that can run for sure anywhere (give or take a .Net/VisualC install) - and you can achieve this for 90%+ of all available apps. With a some sync tool it's simple to have the same (as in reproducible/copiable) work environment on many machines (in the context of ad-hoc gui user applications). I know this concept isn't really transferable to Linux (separated locations per app, "just build from source") and there are attempts (Snap) but due to the fractured scene and #1 it's not that practical for end-users.
- Hardware compatibility - cool that you didn't have device issues, but this could be because you just don't use non-mainstream hardware. Even when I did, a lot of special functionality was bound to (Mac/Win) drivers. Sure, not Ubuntu's fault, but still.
I think Ubuntu/Linux success stories are infinitely subjective - what you need as an end-user, how much time or patience you have, or how much you value privacy/lack of telemetry/security.
A growing number of apps, probably due to Go, are just as you described - a binary you can run anywhere.
I will say, I've been solely a Linux user for almost 20 years now, and still prefer the Windows structure as you described. I like the idea of applications in their own folder, with the binaries and configs and everything just there. In Linux, of course they are divided - confs go here, binaries go here, libraries here. The problem is that -here- isn't well defined. Directions for one distro don't necessarily translate directly to another wrt to locations.
The "registry" is not an issue anymore?
As far as relocatable installs, this is entirely a choice on the part of distro maintainers and a consequence of how the packages are built. They can be built in a way that allows you to put them elsewhere, but it would defeat the purpose of having a package manager. Which makes me wonder, does winget support relocatable installs? I'm sure you can at least understand why Linux distros have chosen to do packaging this way. The killer app for Linux is server installs. It might be perfectly fine to allow users to move around software they've installed after first installing it on a single-user home PC, but it destroys the possibility of automation. A package manager can't know where the software is if it's constantly moving, meaning it can't upgrade or remove it without significant user interaction, which can't possibly scale to data centers full of servers. Different needs for different markets, unfortunately, but to me, even at home, this is an advantage of Linux, because I have many devices.
I guess not being choose between hundreds of media viewers might matter if you're actually a professional media editor or creator, but very people are that. Granted, any professional use of a computer other than making software is going to benefit from Windows. Professional software just targets Windows. That's on the creators of those packages, not the system itself. Whether it's CAD, media editors, the Adobe suite, software teams that charge for use don't like Linux. But they don't like it because people aren't using it. It's a chicken and egg problem.
I'm not sure I actually agree with the ease of adding and moving Windows software, though. One of the big problems is it's often impossible to completely uninstall something. Applications quite frequently drop files all over the place that Windows Installer doesn't know about if it wasn't registered upon installation, and it's even worse if your "installation" doesn't use Windows installer at all and it just you copying an executable file somewhere. Did it leave data in %PROFILE%/LocalLow/AppData, %PROFILE%/Local/AppData, or %PROFILE%/Roaming/AppData, and what the heck is even the difference between those? Where is it putting logs? Where is it expecting config? Without any sort of filesystem hierarchy standard like Linux has, there is no way to know, and systems just gather cruft over the years to the point that common advice is periodically wipe your entire root filesystem and start from scratch.
>- About 90% of the (GUI) software ever developed? I'm happy to hear that there are quality Linux alternatives nowadays, but there's just many order of magnitudes more choice on Windows (and far less, but still more on Mac). For a lot of categories, this might change in the next decade (Electron and other cross-platform frameworks, tech like Proton) but for things like media editing or even image viewers, or until there is some tech to seamlessly emulate, this won't be a fight.
I think this is highly subjective, sure if you need some specific piece of software (e.g. photoshop), but for everything else you are pretty much covered. In particular free software for common tasks like image viewing is much better on linux, on windows everyone uses some piece of software they received with some camera or similar, which is often unmaintained and riddled with bugs.
> - Trivial app portability - I absolutely love the concept of portable Windows software. Have a single folder with configuration and binaries, that can run for sure anywhere (give or take a .Net/VisualC install) - and you can achieve this for 90%+ of all available apps.
App binaries and configuration in the same folder? On my windows install there are lots of files in some subfolder o f C:\Users\<Username>\AppData\ and C:\Program Files\Common Files\
And finding the correct subfolder is not always trivial if you try to nuke your configuration. Mind you that is not necessarily easier in Linux either however things got better and more and more software adheres to the XDG standard locations.
>With a some sync tool it's simple to have the same (as in reproducible/copiable) work environment on many machines (in the context of ad-hoc gui user applications). I know this concept isn't really transferable to Linux (separated locations per app, "just build from source") and there are attempts (Snap) but due to the fractured scene and #1 it's not that practical for end-users.
Syncing your work environment over to a different computer is trivial in Linux compared to Windows (not that this is a very typical end-user work case either). Sure if you put a different distro on every computer it's not so easy, but why would you do that?
>- Hardware compatibility - cool that you didn't have device issues, but this could be because you just don't use non-mainstream hardware. Even when I did, a lot of special functionality was bound to (Mac/Win) drivers. Sure, not Ubuntu's fault, but still.
Yes you still run into the odd bit of hardware that doesn't work, but that's quite rare even on very recent laptops. This is also not a solved problem on windows either, if you don't use the pre-installed OS on your windows PC then installing a new version can result in quite a bit of chasing drivers.
There are issues with Linux still, but the ones you listed are not among them IMO (and Windows isn't really better on this either). One of the things that I find annoying at times is that developers don't seem to consider upgrades to the configuration files when releasing new versions. After some upgrade the previously saved configuration doesn't work anymore, because the file format changed or parameter names changed or similar. While I suspect this happens in windows as well, it's more of a problem in Linux because one upgrades more frequently.
Most of the people don't need this though. I've migrated many individuals and middle offices from Windows to Ubuntu (for myself I prefer Manjaro though) starting from 2007. They only use Firefox/Chrome, Skype/Telegram, Thunderbird, LibreOffice, PDF&picture viewers and VLC (so it's not even about alternatives - all the essential apps already are cross-platform and even easier to install/update on Linux) and never asked any questions - everything feels intuitive and works great. WiFi used to be hard to set-up in 2007-2009 but not anymore. Printing and scanning works slightly unstable with some printers (mostly because they go to sleep and disappear or stop working in Ubuntu). The only Windows app I really miss on Linux is Paint.Net - to me it seems the ultimate perfect non-professional graphics editor while its Linux clone (Pinta) is slightly crappy, although does the job generally and I still am very grateful it exists. If only Linux also had full Visual Studio and Adobe Illustrator+Photoshop it would be hard for me to name a reason to use Windows at all. Most of the new apps I encountered during the recent years (e.g. Obsidian, Typora, MS Teams, etc.) just use Electron and work seamlessly on Linux as well as Windows and Mac this way (I know MS Teams is deprecating Electron and worry about this). The situation with games has also changed (to good) significantly during the recent years AFAIK and probably is even better than on the Mac OS now.
I know. But it lacks ReSharper and I also just feel better and happen to be significantly more productive in the full Visual Studio because of its look-and-feel (this is a mild OCD-related phenomenon). VSCode also notably lacks visual WinForms designer (a thing I would actually pay to get on Linux) and many other features many programmers use.
> Paint.NET is great though, its genuinely the only thing I miss at my debian machine
Try Pinta really, if you still didn't. It's worse but does approximately the same job in the most of the use cases. I would feel really sad and do any hacking to return it if it would be discontinued.
The Linux way of installing the apps is merely a convenient tradition. You can still put the app files anywhere and run. It will put its configuration files wherever the developer wanted them (conventionally the app dir is meant to be immutable and the files are meant to be stored under the user's home dir though). In fact many apps (incl. Chrome and PyCharm actually are installed the Windows way under /opt which is an equivalent to C:\Program Files\).
> there are attempts (Snap)
I actually hate this concept because it encourages duplication (same program files installed under different users) and adds performance overhead (often significant). So, when no traditional package is available I rather get an AppImage and just drop it in \opt (the downside is it won't automatically appear in the menus though so I have to create .desktop files and update the app itself manually).
This also seems very bad for the office setting. I have dozens of employees set-up on dozens Ubuntu computers in the office and want a single-install/update to apply to everyone seamlessly. Now I see Firefox moved to Snap in Ubuntu 21.10 and this scares the shit out of me, but it's supposed to be possible to force it the traditional way in 21.10. They say they will move it to snap only in 22.04 though so I will probably abandon Ubuntu and switch to some distro which is not corrupted by this bullshit. This is sad as Ubuntu still is the most polished and muggle-friendly out of the box, their GNOME mod in particular.
I don't think he was disputing the technical possibility of it. It doesn't help him from a user perspective though to know that this is merely a convention and not a technical limitation.
I'd probably use something like Arch or rolling my own for work if these apps weren't necessary!
I'm curious if the apps you're talking about are not mainstream.
I'm using Fedora on my personal hardware where I don't remember encountering much (Linux-supported) software that wouldn't work. I had to tweak something to get e.g. the native Spotify client working, and it would probably have been easier on Ubuntu for which it's packaged, but problems are relatively few and far between.
On the other hand, in the workplace I've only had Windows in recent years, so it'd be nice to know if there are blind spots in work-oriented software that I've missed.
I went back to Windows with WSL. My employer relies heavily on Outlook and especially the Outlook calendar. The equivalent in Thunderbird does not work well at all with missed invites/missed reminders/missed meetings.
WSL with Ubuntu is amazing for dev work!
I'm using Ubuntu for 7 years and I have to admit that more unstable system I can't find. No dist upgrade was successful for me, I don't have a week without something crashed, and right now I had to make downgrade of kernel in Ubuntu 21.10 just to boot the computer.
But I still can't shutdown or restart is safely because it crashes during the process of turning off.
I don't know why I'm here, in Linux land. All this is so pathetic I can't even describe it.
Servers on linux are cool, but desktop is a pain. Change my mind!
I've been using Ubuntu for about 10 years and is my favorite distro after trying a few others. I went through the whole distro hoping thing and using Arch to set up everything just the way I wanted phase, and while very fun & educational, it isn't good for getting things done.
Ubuntu just works and let's me be productive with things I care about.
Thank you Ubuntu team!
Big thanks to the team and community. I'll see if I can read a Full Circle again soon. :-)
Some of these systems have 3 or 4 NICs, multiple HDs and NVMEs in RAID configurations. Is this that exotic a configuration?
On the other hand, my desktop machines run Arch and NixOS and I have never had any issues upgrading. Well, actually a few issues with NixOS upgrades, but it's so easy to rollback that I barely spend any time on it, and when I later try to upgrade again, everything just works.
I wonder why Ubuntu/Canonical can never get their upgrade game to work properly. I've had similar issues with Ubuntu upgrades since I started using Ubuntu (8.X) and seems it'll never be fixed. Maybe I'll just start using either Arch or NixOS on my laptop too.
Also note that Ubuntu LTS releases only do upgrades after the first point release of a new version. You won't be upgraded to 21.10 until it hits 21.10.1.
[edit] Apparently the holdout until point release .1 only applies to LTS versions:
> Upgrades from one LTS to the next LTS release are only available after the first point release. For example, Ubuntu 18.04 LTS will only upgrade to Ubuntu 20.04 LTS after the 20.04.1 point release. [https://ubuntu.com/server/docs/upgrade-introduction]
Also, NVidia and Cuda drivers mess the upgrade path as well. And ubuntu is the most supported distro.
They seem especially hell-bent on pushing new versions of CUDA on everyone way before any usable software supports it (i.e. try getting a usable tensorflow or mxnet when your machine auto-upgraded to 11.4.x one day after its release).
Actually you can upgrade from old releases. You do need to move from LTS to LTS, rather than jumping. So you can upgrade 14.04 to 16.04, then to 18.04, and then to 20.04.
See https://askubuntu.com/questions/91815/how-to-install-softwar... for details.
This has been true for me across all distros, and honestly it's a main reason why I only run linux on servers anymore (easy to create a new VM for upgrades, harder to create a new laptop)
That said, I use Ubuntu on many machines and VMs, and I haven't had issues with upgrading them at all.
The only complaint I ran into is that I didn't catch the "new release available" message on the upgrade dialog the first time and had to go check again.
Ubuntu developer here. Sounds like you have a really hacked up system there, and that it's your existing system that has issues. Under these circumstances, I don't think it's reasonable to expect an upgrade to be able to work smoothly. Scripts that handle upgrade paths necessarily need to make assumptions that what they are upgrading from is what the distribution put there. If you hack it up, then those scripts aren't going to work.
Your Arch system, being rolling release based, I assume isn't as hacked up with newer versions of things because you get them straight from your distribution? The equivalent on Ubuntu would be to run the six-monthly releases, which I assume you choose not to do. If you do that and then you hack up your system, then I don't think it's fair to compare to an Arch system where you (presumably) don't do that.
If you want to run an Ubuntu LTS system then I suggest that you do your hacking inside containers (whether system containers like lxd, or app containers like Docker). Then you won't need to hack up your system itself, and then upgrades will generally work fine.
Prominent example: Nvidia drivers. Oh how often have I wiped a system because the precise combination of driver/CUDA/nvcuvid/nvenc and nvidia-docker broke through some freak update.
These are the things that often prevent smooth upgrades.
Some people would call this 'a system that's actually being used to do something'.
Don't blame users unless it's clear they are doing something egregious with the system. Installing a different Python version shouldn't break installers, but here we are.
Ubuntu should have taken a page from CoreOS, NixOS and even Arch. CoreOS with their immutable system partitions (and two of them so it can revert to a good one if the current can't boot). NixOS with the immutable packages (and the split between user and system packages). And even Arch with its release model.
Sometimes you have to 'hack your system' to add a new apt source to try to get your GPU working with OpenCL, or you have to modify some config file on /etc to get something else working. Or whatever the use-case might be. Should that break upgrades then? Ubuntu really doesn't provide any guidance or utilities to help with this.
At least figure out a way to install a known sane system configuration, even if it breaks the user's customization. Having a separate system partition by default would actually help a little.
Even Windows allow you to snapshot and rollback changes. Something that Ubuntu users have to – guess what – "hack the system" to get.
Actually Ubuntu Core is an edition of Ubuntu that has exactly these properties. It runs read-only, with packages that can be added and removed cleanly.
This does involve moving away from apt/deb, which is fundamentally incapable of this. I don't know of any plans to do this for the main Ubuntu distro itself, but consider the resistance if this were on the roadmap.
I'm not a heavy linux user but I know 3 guys who use Arch at work and one of them had an upgrade issue that caused them half a day to fix, this was circa 2016. I know plenty of people who use Ubuntu no issue. Not that such anecdote really means anything, just to demonstrate that they can be used to back whatever bias.
> Having a separate system partition by default
This is just one simple extra step when you install. And I don't know if arch has this by default?
> Even Windows allow you to snapshot and rollback changes
just use brfs? This is more of a linux thing has nothing to do with ubuntu
What do you mean by default? :) Arch doesn't have an automated installer that does partitioning for you. You extract some files to whatever partitioning setup you've dreamed up for yourself, setup a bootloader and reboot.
Ubuntu has that but I don't think most people use it either. I don't see any harm as an option for beginners. Not that it actually happened but my parents should be able to set up ubuntu because they don't need to partitition.
Installing a different Python version shouldn't break installers, but here we are.
laughs in https://xkcd.com/1987/ .Thanks for giving me another reason to leave the Ubuntu ecosystem behind me. The condescending tone that your message has seems to be relatively popular in the Ubuntu/Canonical community as well, at least compared to NixOS.
In reality they're a hack on a packaging system that was never designed for third party plugability in this way. They very often break future upgrades. Third party apt repositories fundamentally cannot express all the necessary metadata to allow for upgrades to work in the general case. They don't even namespace properly; apt cannot even tell the difference between a third party installed package and one that came from the distribution. And third party packagers typically don't even consider future upgrades.
This is why Ubuntu is working on snaps: they are a mechanism that allows for third party plugability in a way that does not break the system.
If we want upgrades not to break, the system dpkg/apt installation needs to be left alone and not be interfered with by third parties.
Of course there are processes and policies to help us ensure quality and that other user expectations (eg. stability, integration) are met as best as we can. These take time and effort to negotiate. But we'd be happy to help to explain what's needed to be contributed to make progress in Ubuntu itself for any specific circumstance. Find us in #ubuntu-devel on Libera Chat, or https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discu...
This is true. dnf and zypper handle this just fine in the RPM world, and they operate under basically the same paradigm. Are there no plans for apt to catch up?
What are you saying here? That having multiple versions of python installed can put your whole OS into some sort of unrecoverable corrupted state, and that’s expected and ok? That’s a non starter for me.
In my experience, this is the only safe way to have third party apt repositories:
- Don't install any third party packages which have reverse dependencies. This means no libraries, only applications. If you need newer libraries as a dependency then you have to statically compile the application.
- Don't install any third party packages which have the same name as an upstream package. If you want to install a newer third party version of an upstream package then you need to change the name of it and have it install all of its files in different locations. A prefix change is enough here, /opt is a popular choice.
- Delete all third party packages before doing an upgrade, in case a new upstream package happens to have the same name, or needs to put files in the same locations.
Do anything outside of that and you will risk getting your install into a broken state. Because even though you might think you are just installing some applications, what you are really doing is bolting things on to the upgrade process for the entire core system. Using nvm is perfectly safe though because that just installs the different versions to your home directory, it doesn't touch apt.
- The question of which files go in which directories in the system is a question for canonical (or whoever) to decide. Not end users or 3rd party developers
- The namespace of apt package names is special, and 3rd party / external dpkgs shouldn't add anything into it
I think this stance is entirely reasonable. Its essentially what windows and macos both do (and to increasing degrees with each version). But its a pity its taken the current apt packaging disaster to realise it. Its really convenient for users to have a package manager, and for 3rd party developers be able to write software for it. And these problems seem solvable:
- Namespace all 3rd party packages. Eg, @apple/foundationdb-server (as distinct from @canonical/git)
- Use overlayfs or something to essentially make /usr, /usr/bin, etc read only by normal processes. If these paths were only writable by system packages, the whole system would be much more predictable (and verifyable) - since that filesystem would only - could only contain a subset of the files in apt.
I get that flatpak and snap are both attempts to replace apt. But its a pity they're needed. I'm enjoying mint, but if I ever rebuild this machine I'm going to give nix a try.
This is not exactly a new problem, it's why Docker is popular, it's why Fedora Silverblue and NixOS exist. It's just not done on the OS level in Debian because in some ways it doesn't really need to be.
Regarding the python, the error message was something like "python is gonna be python 3 after the upgrade, and we can't handle that so you should uninstall python before upgrading", or something similar.
I'm just using what Canonical/Ubuntu are providing me when it comes to Python, but still somehow it's up to me to remove/install stuff manually when it comes to upgrading.
Ubuntu is not a system designed for running multiple versions of packages like you want it to. You can make it do it if you really want to, but you can't expect the Ubuntu developers to provide support for your unique use case. They give you one version of Python, the version that the _entire system_ expects, and if you're not happy with that, you should probably move away from Ubuntu. It can't and probably won't satisfy your day-to-day job's requirements. Try a rolling distro instead, or run the Nix package manager next to the system package manager so you can work around the lack of support Ubuntu provides you.
In my opinion, it's a lot better to abort the upgrade than to knowingly break your system and make you suffer through the recovery process. Sure, the installer could ignore the problem, or remove your carefully crafted Python setup, but you'd still be complaining if it did that and you had to reconfigure your entire machine again.
The real solution was mentioned up thread though: they are designing it to be used that way, but you have to use snaps or flatpaks. Not third party apt repositories which can overwrite system components in an infinite number of ways.
If the only option they have is an installer that runs as root, then the safest way to handle that would be to run it inside a docker container. Those companies should probably not be shipping installers on Linux unless they target very specific distributions and are working closely with them to ensure they don't break the upgrade process, otherwise it's going to cause issues.
Edit: here are the snaps and flatpaks and docker images I could find.
https://snapcraft.io/pycharm-professional
https://flathub.org/apps/details/org.mozilla.firefox
https://flathub.org/apps/details/org.chromium.Chromium
https://flathub.org/apps/details/com.visualstudio.code
https://flathub.org/apps/details/com.jetbrains.PyCharm-Profe...
https://flathub.org/apps/details/org.kicad.KiCad
https://flathub.org/apps/details/com.valvesoftware.Steam
https://github.com/xanderhendriks/docker-stm32cubeide
AFAIK, Solidworks and eM Client are not available on Linux, but if they were you would probably see them available in one of those forms.
https://www.rust-lang.org/tools/install: Curl an .sh
Steam: https://store.steampowered.com/about/: Download and install a .deb
Firefox: https://www.mozilla.org/en-US/firefox/all/#product-desktop-r... - Download a .tar.bz2
VsCode: https://code.visualstudio.com/download - Download a DEB
Pycharm https://www.jetbrains.com/pycharm/download/download-thanks.h... - download a .tar.gz2
Python - Install from source or use a 3rd party dep.
https://www.kicad.org/download/ubuntu/ - KiCad is the only exception that wants you to use an official package.\
Docker is a pain to use; it's a crutch used by web devs and Dev-ops for complex business stuff.
Distros just don't care about the user experience. They care about making it look fancy, or shifting around designs, or introducing brand new components that break old functionality. But they don't care if people actually have problems using it.
Every bug is the user's fault, and every reinvention-of-the-wheel (that actually works worse than the previous wheel) is a praiseworthy accomplishment. Regressions are nonexistent, hardware compatibility/stability is a guessing game, solving common problems is left to the user to Google, all the interfaces and apps are inconsistent, there are no interactive guides to design changes, and just getting some basic hardware like a Bluetooth adapter to work is a multi-day adventure. (And I'm a 20+ year Linux veteran.)
I still use Linux because I know that my hardware will mostly work, and that once I get past a month of fixing bugs on a new install, I can basically make it do what I want. But it's so frustrating to use compared to Windows. The only reason I don't use Windows instead is performance and troubleshooting is worse there (for the most part) and security is scarier. But I want to throw both Linux and Windows in the trash. And I won't buy a Mac because the price and incompatibility is absurd.
Huh? Adding third party repositories has never been a supported path. You're welcome to use them since you own your system, but the future stability of your system is then down to the ability of the third party to not break it. Usually third party apt packagers don't consider future release upgrades.
The third party software providers, however, owe it to their users to provide reliable and responsible mechanisms for users to consume their stuff. Providing a third party apt repository that breaks the user doing a future release upgrade is not it.
Now we have snaps, AppImage, Flatpak. These mechanisms can be used by third party software providers to provide safe and reliable (for the system) software. Any of them are better than providing third party apt repositories.
> Windows and macos don’t have this constraint. Installing applications from the internet never breaks windows update or macos.
That's because it isn't the norm for third party software to hack up the OS in order to install themselves, rather than use the mechanisms provided. It used to be - remember DLL hell? They got away from that, and our ecosystem needs to do the same.
Ironically, I tried again post-snap thinking that would make things harder to break. The first app I tried to install failed in some bizarre way. I fixed it eventually, but it left a pretty sour taste in my mouth. I've had upgrades pre 20.0x that basically nuked my whole server. I just can't in good faith recommend ubuntu to beginners anymore. Mind you, that's for desktop... The 20.04 server is actually pretty nice for a headless linux box, though usually I just run it in a container from a debian system via lxc.
Conversely, I've never broken my Arch or debian systems beyond repair despite really hacking the ever-loving shit out of them. I think I had one package I had to fix the version on and no other significant issues.
Yes, I was installing stuff into ~ the entire time.
Configuring additional apt sources isn't hacking anything up. It's utilizing the normal functionality of your operating system's package manager. It's part of the point of using an operating system with uniform and sane tools for managing software.
However: do-release-upgrade is really conservative about shutting everything down and reversing as much as possible if anything goes wrong. But if you know your way around apt and dpkg and you know how to mount a borked system and chroot it, you don't really need do-release-upgrade. Just manually hack up your apt sources to the next LTS release and use your favorite apt frontend (aptitude is probably best for this) to upgrade and full-upgrade your way through it. Use dpkg with some --force flags if the state of things gets really messed up.
> As Linux evangelist Mark Pilgrim once quipped, Ubuntu "is an ancient African word meaning 'can't install Debian'".
There are over 100 unpatched vurnurabilities in their version of Chromium for example:
https://security-tracker.debian.org/tracker/status/release/s...
Because of this, I don't see debian as an option for the Desktop anymore.
I hope they still fix the server software in their repos.
Edit: Not all, apparently. The whole bottom of that Chromium CVE list is still unfixed in Bookworm/Sid.
The flip side is stuff breaks more regularly of course.
Or maybe lack of resources and the maintainer needs help.
Chromium 90 does not contain all security fixes found in Chromium 93 so there are tons of CVEs open on Debian systems still rocking Chromium 90.
Most packages have fixes available but Debian doesn't have the manpower to backport every single security fix for every single package. This is a result of the way their project is structured: they guarantee that no major software updates happen within Debian releases, helping you get a completely stable system, but that comes at the cost of an incredible amount of work for the Debian maintainers.
Debian chooses to modify or repackage upstream versions for compatibility or branding purposes (to the ire of many open source developers, like notably that guy that made XScreenSaver. I'd link to his rant about it, but his website shows some angry rant when HN is in the referer header...) That means that maintainers still need to do manual work even when upstream has already provided them with a fix for the latest version supported in Debian.
This is why I prefer to run packages from repositories maintained by the developers themselves rather than relying on Debian's maintainers. The risk of needing to update config or check for breaking changes is much higher, but the security risk and patch cycle length is much lower. Even for browsers that release actively-abused 0day patches it can take up to a day or longer for some distributions to update their packages.
Here’s the link I think: https://www.jwz.org/blog/2016/04/i-would-like-debian-to-stop...
I've never understood that sentiment. Are there things I don't know about I should be doing?
I installed Arch probably four years ago on my laptop, and have never had to do anything but install updates and read the announcements on archlinux.org since.
I do understand the appeal of Manjaro - I did use it briefly when it first came out - but I don't see how maintaining Arch Linux would appear as being particularly complicated. I literally don't do anything with it I wouldn't do with any other OS.
Also, it seems to me that ArchLinux had less very impactfull changes in the past years because it has matured quite a lot. It's only an impression though!
Been using for a few years now and it has been the closest thing to "set up and forget" to me (I needed to install some codecs to play H.264/HEVC video). Painless upgrades, decent software catalog... It has been extremely reliable. Highly recommend it.
Mint is worked by a few people, had several large security flaws including not distributing security updates timely. They had issues in the past with their ISO being hacked.
I can empathize with the whole mint, small time dev-base stuff. It just doesn't make sense to me compared with just going straight ubuntu + cinnamon.
It looks like Ubuntu is now comparable to Elementary. I'm going to be trying this out ASAP. Ubuntu with Wayland does a much better job with high and mixed DPI display setups. Maybe now I won't have to choose between running my 4k display at full resolution and using my trackpad.
New things that are Canonical specific are netplan and snap. I think snap is solving software packaging in Linux. If anything, I wish that snap brand stores were more affordable.
Here it is.[0,1]
[0] https://github.com/TheAssassin/AppImageLauncher
[1] https://docs.appimage.org/reference/desktop-integration.html
Is that why my firefox downloads file into a tmp directory instead of ~/Downloads?
I also used to have vscode unable to sudo but it's no longer the case, maybe it's flatpak now, haven't checked
It's always been my OS of choice because I don't really care about my OS. Is there another distro that is similarly easy for me to get up and running With current versions of Firefox, chrome, vscode, and docker, and on whatever random hardware I happen to have available?
It is such a productivity boost to see a list of all windows and their titles.
And it let's me organize my work much better when I can organize this list by changing the order of the buttons.
Is anybody here using Ubuntu with a taskbar?
I don't know which window manager. I just use Ubuntus defaults. It looks like this:
https://ubuntu.com/wp-content/uploads/a728/2020-04-23-13.05....
Because it does not show the titles of all open windows.
And I cannot organize the entries as I wish.
/s
If your desktop look like similarly to the image you posted, the soft black vertical bar on the far left side of the screen is the taskbar. I think you are using Unity as your DE which is default DE for Ubuntu.
You can change to different DE if Unity is not your liking. There is a couple variants you can use, you can find them in the package manager and install it from there.
It does not display the titles of the open windows and does not let me arrange the entries. That are the two problems I described.
It feels like this is meant to be used on a mobile device rather than on a desktop. On a desktop it makes me way less productive compared to a normal taskbar.
If you want a better taskbar/dock, try different DE and see how you like it.
Also instead of changing desktop environments, he could install the clean/stock GNOME session and then add Dash to Panel + Arc Menu, which would give it a Windows-like taskbar.
If you already have an Ubuntu box, you can also install the `xfce` package or do this:
sudo add-apt-repository ppa:xubuntu-dev/staging
sudo apt update
sudo apt install xubuntu-desktopI'm pretty sure the `dash to panel` Gnome extension does what you want: https://extensions.gnome.org/extension/1160/dash-to-panel/
From memory, it can be configured to show the window titles instead of just the icons, like the screenshot at the bottom of this page: https://linuxhint.com/create_two_panel_layout_gnome_shell_us...
It was a problem on CentOS before it died the death, anything remotely PHPish was always really unhappy.
Whoever wrote this phrase checked all the boxes in the buzzword list.
Add in poor startup performance, and I removed it. Replaced Chromium snap with a PPA, which was faster and 10x less intrusive.
The mountpoints thing seems very minor and cosmetic to me, though.
I guess it sucks to be surprised by something that's only kind of okay.
can't really think of a single thing about the experience that I liked, and it even seemed bad compared to other container systems, like Docker and Flatpak
Security: Snap are running in sandbox by default and have proper support for system permissions. They are installed in user home directory. There is central store that allow for reporting and regularly perform security scanning.
Portability: Snaps works on most distros. They allow building once and distribute everywhere model. You no longer need to build multiple packages for every package manager in universe. They make building software for Linux easy[1]. I remember doing rpm to deb conversion, installing from source and running stuff in VM/docker.
Distribution. Most distros do not accept proprietary apps. Most importantly, you are no longer at the mercy of distro maintainers deciding when you can release your own software. Because your snaps are portable, your users will get updates even if they are on an older distro. Hopefully no more PPA hell that can brick your system.
[1] https://www.electronjs.org/docs/latest/tutorial/snapcraft
The sandbox doesn't work on any distros that aren't using the latest AppArmor, such as Fedora and derivatives.
Flatpak tries to solve the same problem at least for desktop apps, but with a few key differences:
- The sandbox is implemented entirely using user namespaces, not using Apparmor or Selinux, hence works on basically any modern distro.
- The user remains firmly in the driver's seat in terms of when applications get updated. Yes, you can enable automatic updates, but unlike with snaps, you can also opt out.
The proprietary nature of snap and being unable to install alternative sources without partnering with Canonical/uploading a public package drives me mad.
I've upgraded my desktop install from 16.04 all the way to 21.04 without any issues and I plan on upgrading to 21.10 later this week. However, the moment the setup collapses, I'm moving to something Arch-based. I don't want to deal with snaps and the snap problem is only going to get worse as time moves on. If the snap package manager was completely open source and had self-hostable repositories, I'd consider staying, but right now I might as well use the Windows Store/winget if only the client's source is open and alternate package sources are decidedly not a supported use case.
I've heard good stories about EndeavourOS and my laptop is already running Manjaro. I've got a feeling I might be switching to one of those before the next Ubuntu LTS.
Ubuntu just worked out of the box and I was very happy with that. So. Cool. The magic was also the boot live install that also worked. It really was magical.
I am using Ubuntu on desktop and a mac via VM now which is also good performance (no need to dual boot), so I think tech in general has come a long way.
===
Thought someone might be able to help here with something on my mind: 1) smooth mousepad scroll? 2) able to utilize multiple "desktops" (ie: swipe to different desktop). the mac seems to captures the vm as a single application so I can't get multiple desktops other than within the guest vm on a single screen.
That said, this is an open source effort by volunteers. The fact that we have OSS that even come to compare with commercial offering spending billions is amazing and also an indictment that it will never surpass it. Especially with Big Tech making their own custom chips with close integration in the OS.
Someone in SV should start a Gitlab-like venture, but for operating system instead of git. VC-backed and open source.
Hooray!
> Firefox version 93 is now seeded as a snap by default
Fooooooo!
They say they will still support the classic deb as an option in 21.10 but are going to move it to snap-only in 22.04 though so I will probably abandon Ubuntu and switch to some distro which is not corrupted by this bullshit. I have dozens of employees set-up on dozens Ubuntu computers in the office and want a single-install/update to apply to everyone seamlessly, not having to install/update an app separately under every user on every PC. Snap also notably doesn't work with LightDM's guest user mode (which I found the coolest feature introduced in Ubuntu after the Unity desktop).
https://ariya.io/2020/05/nix-package-manager-on-ubuntu-or-de...
See the release notes and search for "ZFS": https://discourse.ubuntu.com/t/impish-indri-release-notes/21...