Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Perhaps I should have chosen another flavor?

That'll ignite a holy war.

The trick with linux isn't to learn the flavour, it's to learn linux - once you get an overview of how all the bits work then switching distro is (much) more straightforward.

Ubuntu is an excellent first choice because it's one of the major distro's so you'll be able to google stuff more easily.

My personal recommendation would be Fedora (and if you want a familiar windows 10 at least in approach GUI) Cinnamon which is excellent.



Where do I learn modern desktop Linux? I am using it on servers since 1993 and used for desktop 2004-2017 (and was very unhappy with it) so my desktop knowledge is severely outdated.


This is almost me. I used Linux on and off over the last 15 years. Mostly in servers, but I often installed a linux partition to try it out.

I always went back to windows since windows was much simpler and I thought KDE and Gnome was similar anyway, I didn't see any benefit in switching.

I permanently switched to Linux in august. I found out about window managers and now I see a real benefit on using Linux over Windows. As much as I'm forced to use windows at work and I try to emulate the functionalities of a WM.

What helped me is support for most of my devices. Linux progressed a lot in the last few years.


Can you hotplug a GPU or do you need to still (effectively) reboot? (I know it's only the windowmanager that needed a restart but if all programs run under then, well.)


What do you mean? Switching between integrated and dedicated GPU? Or opening your case and directly removing or adding a GPU?

If its the first, I think there is support for this. There's NVIDIA optimus for NVIDIA for instance.

The second one, I never thought it could be a use case, even less that Windows would even support that. I always turn off my computer to do anything on my motherboard.


I mean eGPU over Thunderbolt.


Oh yeah, didn't think of that one. Following what's written on arch wiki https://wiki.archlinux.org/title/External_GPU, Xorg doesn't support it and never will. Wayland seems to support it, but I don't know what it implies in use. The issues for KDE, Gnome and wlroot are all mergred.


I'm not sure what there is to learn, if you have a good working knowledge of Linux servers. This is exactly why I prefer the terminal to any of the GUI components that may exist. Much more stable interface. As far as programs that I use daily, other than a few obscure VPN clients, I've rarely, if ever, needed anything that I couldn't find on AUR. For that reason and for reasons of having up-to-date software available, I like something in the Arch family for Desktop use. On the other hand, .deb packages are often available for more obscure software like those VPN clients...


> I'm not sure what there is to learn, if you have a good working knowledge of Linux servers.

Everything about the graphics and windowing stack, for starters. Why isn't my external display being detected after waking from sleep? Why is it always set to the wrong resolution at boot? Why doesn't VLC have any controls? Why is this simple Unity game suddenly running at 2 fps?

Thermal management, CPU governors, that sort of thing. Not really an issue on servers, occasionally misbehaving on laptops.

Occasional stuff around device connectivity - bluetooth speakers, NetworkManager, etc.


I would be really interested what you were unhappy with? the only major thing that truely changed after 2017 was that wine became almost universally compatible.

It was freakish how little issues i had in 2019 when i switched completely.


Some experiences

Ubuntu distupgrade breaks my machine so badly I need to spend days putting it together again

Switched to Arch

Upgrade. Bluetooth breaks. MFC device breaks. One of the two almost always.

Compared to this the only thing I dislike with Windows upgrades is how it can wake up the machine even from S0 state (wtf!) to upgrade and reboot. But aside from that, it's a complete nonevent when it upgrades. It's been near six years and I never had an issue.

I had a client using an F5 VPN requiring MFA and there was no MFA support except on Windows. I got it working with an old Firefox running as root (because that supported old style extensions and I managed to find an old extension that worked). The only question regarding this setup was from the head of IT at this company asking but not receiving any responses on how to do this.

Weird enterprise wifi always a headache.

I just got a GPD G1. Here's my experience getting it to work:

1. Plug in power. 2. Plug in the Thunderbolt cable 3. Install AMD Adrenaline driver only (only step that requires a tiny bit of expertise -- don't install all the stuff) 4. Reboot 5. It works. 6. If I unplug it, machine goes back to the nVidia GPU inside the laptop. No fuss.

Tell me true, is this going to work on Linux ? I seriously doubt.


2017 was in the early phase of pretty disruptive era with Linux - eg systemd, audio, wayland, app sandboxes etc etc. I get the feeling things are settling now, and stabilising / consolidating into a better place overall with less churn. But for a while things weren't as stable as they typically were before that.


I tried wayland maybe a little over a year ago and the copy and paste behavior was bad enough to switch back. I recently switched to get freesync to work on multimonitor and the issue is now manageable.

app sandboxes I fell less positive about - I dislike them since I think they are only fixing stuff that is already unaceptable to happen.

As for audio - yes while pulseaudio was working i remember some issues with that (mostly related to s/pdiv). This also has lessened with pipewire.


Depends on your focus. If it is privacy or security, you may want to consider Tails and Qubes OS recommended by Edward Snowden.

[1] https://tails.net/

[2] https://www.qubes-os.org/

[3] https://www.youtube.com/watch?v=s8-B9d7iz1A


Qubes is cool, but Tails is for Tor and is meant to be a boot-from-live-cd or flash drive.

The whole point is that you want all instances of Tails to look the same on the network so they can't fingerprint you. Once you start making it a daily driver, picking up a lot of cookies, making it your own, etc. then the point of using it is moot.


Install Gentoo if you want to learn how a modern functional Linux system is put together


> That'll ignite a holy war.

And that has been the major problem with Linux for years.


The duplication of work is staggering. The best people at Mint are working on the same problems as those at Fedora and PopOS and Cube and Suse … infinite loop.


Any comment on Arch one you get going? I find the documentation quite thorough for the niggly bits, and have used it to troubleshoot Ubuntu (taking into account differences between the distros).


I am an Arch enthusiast since I like building my system up and learning how things are put together, but it is not a terribly good platform for learning how to use or manage a Linux system. One of the issues is that you end up with a system is tailored to your own needs. While that sounds great, you have to make an effort to generalize those skills since no one else will have a setup quite like yours.


Thank you, The documentation is really important for me I guess. I feel more comfortable with documentation carefully laid everything out; screenshots are gold.

Is there a book that you would recommend that would help a novice like myself learn Linux better?


IMO, the best way to get comfortable with Linux is to get comfortable with the command line, because although every distribution is going to have different UI and built-in apps, the command line is going to stay pretty consistent. Also, a lot of troubleshooting you Google is going to involve interacting with the command line, and it's essential to understand what the commands you're executing are actually doing.

I'd recommend The Linux Command Line by William Schotts to get started.


Was trying to configure a network bridge for a vm just the other day from cli. The guide (for Ubuntu which I was also using) was using nmcli (Network Manager), tried it and command not found, back to searching and was nudged to systemd networking by stackoverflow which didnt work either. Turns out that my system was using Netplan. Three different systems to handle networking, really? Ok, chatgpt convert this nmcli command to netplan, sure here you go just put this in your netplan config file and apply config. Ends up with a botched network config on a headless system.


netplan(.io) is an abstraction layer on top of either NetworkManager (GUI installs) or systemd-networkd (servers/non-GUI) and is not really needed except as a convenience for Canonical's own designs for automated mass deployments especially linked to cloud-init. Under the hood it just converts its YAML configuration files into the syntax for the underlying actual network management tool.

For NetworkManager it'll write the config file to /run/NetworkManager/system-connections/ and for networkd to /run/systemd/network/ on EVERY boot since /run/ is a tmpfs (file-system in RAM).

For almost all servers, and most workstations, netplan is an unnecessary indirection since most hosts (including containers) have pretty static network configurations that only require writing once (to /etc/NetworkManager/system-connections/ or /etc/systemd/network/ ).

nmcli is the NetworkManager command-line tool. There is also nmtui for a text user interface. These are terminal alternatives to the GUI applets such as nm-applet (network-manager-gnome) or plasma-nm for KDE.

networkctl is the CLI interface to systemd-networkd. There is no widely used GUI interface to it (yet).


That's the exact experience I went through about a year ago trying to set up a bridged VM on a headless Ubuntu system. I mean right down to the sequence of nmcli, systemd, and Netplan, winding up with wiping it all away and just running Virtual Box on a way overpowered and mostly idle Win 10 system. Because I just wanted to run a VM connected to my local LAN.

Linux networking and DNS resolution, while working fine for the happy path, are a dumpster fire from a system management viewpoint. Especially if you want to do anything even mildly off-script. And I say this as a Linux user since before the kernel hit 1.0.

I don't know, maybe it's just a documentation problem. The accumulated junk of 50 years of obsolete documentation that you have to wade through to find out that the whiz-bang Linux distro you're using today is not the Linux which worked fine last year.

The exit off my lawn is in this direction.


And that right there is why Linux is so frustrating to start with. It is easier to solve most problems via command line however a normal user should never ever have to touch a command line. Everything for a common person should be easily accessible via a gui.


> Everything for a common person should be easily accessible via a gui.

They are. Just there are many different GUIs. Each distro by definition has different ones and you can easily change them yourself etc.

There are dozens of sound GUIs, hell, I've tried 4 redshift GUIs before settling on QRedshift. It's so easy to write software for Linux that you have countless opportunities. That's why the command line is easier - it always works(ish).


Only way to do it is to do it.

- try something like Mint if you are used to windows and PopOS if you are used to OSX

- remember that everything in GUI has a commandline equivalent


I have been eyeing up Fedora Onyx for the immutable root


I've been using an immutable Fedora for quite a while now and it's amazing. I use toolbox and run everything in containers, including GUI apps, so not even using Flatpak which I'm not a big fan of. I think I have like 3 or 4 packages installed on top of the base image. The peace of mind while upgrading can't be overstated. Highly recommended.


I run mongodb for work and that requires openssl1.

On Ubuntu I just copy the libs over to /usr/lib

But that wouldn't be an option on an immutable system.

I will look into toolbox.

Edit: looks like tool box is exactly what I'm after!


You mean Fedora Silverblue? Haven’t heard of Onyx.

Edit: ok so I learned about Onyx, which appears to be doing roughly the same thing?


There are different spins of Fedora that are immutable and based on rpm-ostree and flatpaks, the variation being the desktop manager environment:

* Silverblue: GNOME

* Onyx: Budgie

* Kinoite: KDE Plasma

* Sericea: Sway


And don't forget the community spins based off ublue, like Bazzite!


Just installed Onyx yesterday on my work machine! So far so good, some niggles as always (it's my first time using Budgie), but overall fairly usable and easy.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: