|
I swear I've asked this before, but I cannot find it. Honey, looking at you because for some reason I think you do development on Linux.
Direct link to past discussions welcome.
I'm in the process of cleaning up some hardware and repurposing it. Looking at C/C++ and heading over to full stack development.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
All of them are good for development, but they are not all the same when it comes to just using the OS. I'll try to keep this short, but I'll probably yap.
In the Linux world, there's distros that follow what's called a rolling release. Which is to say, no real user testing for updates. Dev done. Bam. You get. You don't want that as your first one. They're easier to break and require way more frequent updates. Meant for tinkerers who need the bleeding edge of crap to feel superior while not actually using the OS to do any work.
The second thing to consider for whether or not to use Wayland or X11 for your desktop experience. Here's the short version... use Wayland. If you game, some older games may require X11, but every distro that gives you Wayland support will allow you to fall back to X11. It's akin to Windows vs DOS back in the 90s. But Wayland gonna run smoother.
Given all that, the best starter distros to use are Debian-based that solve some of the hassles of the desktop experience and use Wayland by default. So...
Ubuntu
Ubuntu - By far the most popular distro and for a good reason. You can't go wrong with it. Tons of help online, etc. too. It uses Gnome however, which is more like a cross between iOS and Win 8's start menu than Windows 10. You can change this though via extensions. So, there will be a learning curve. But, you can't go wrong with it and it's what I'm using right now to post this.
Kubuntu
Kubuntu - Same exact thing as Ubuntu but ships with KDE instead of Gnome. Long story short, this version feels a lot more like Windows. If that's your jam it's a good way to go. They do this silly thing where everything starts with K though (Konsole instead of Console), but it's still a very good distro. Can't go wrong with it.
Linux Mint
If you don't care about Wayland (you should unless your computer is 20 years old), there's Linux Mint. It's a very nice and polished distro but it's still on X11 and will be for a while. It's based on Ubuntu and so also based on Debian. IMO it's a last resort though, especially if you have a modern GPU.
All three of these distros are beginner friendly, as much as can be considering. You can't go wrong with them.
Jeremy Falcon
modified 24-Aug-24 7:49am.
|
|
|
|
|
Years ago, I tried both Ubuntu and Kubuntu but didn't like either Gnome or KDE - both seemed too focussed on colours, shading and pretty icons, hence XFCE on Debian - simple, no fuss, hardly anything to tweak except what really needs tweaking...
|
|
|
|
|
I've been using Linux since the 90s, so I know all about Xfce. And I use direct Debian on servers/WSL. But, he's presumably looking for a beginner friendly desktop OS by the nature of the question. And as much as I love direct Debian dealing with drivers for it are not beginner friendly.
Couple things to note, KDE uses less resources than Xfce last I checked. If you like it, cool. But, let's not play the game of "oh mine's better because I use it" please.
Also, if someone is determined to use Xfce, Mint also makes a Xfce edition. Which for a beginner is a better way to go than direct Debian.
I say this as a dude who loves Debian.
Jeremy Falcon
modified 23-Aug-24 20:11pm.
|
|
|
|
|
"But, he's presumably looking for a beginner friendly desktop OS by the nature of the question."
Not so fast there whipper snapper I'm just getting ready to jump back in the pool. The desktop doesn't concern me too much. So, let me supply some context.
Sure, there is the desktop, but I can manage that. I cut my teeth on X11/Xtoolkit and Motif. I've developed on and supported X Windows Servers. I've also supported and developed on Solaris, HPUX, AIX, Ultrix. I don't care about the desktop per se'. But if you do hard core unix development, it really comes down to stability, predictability and toolsets. Considering that linux has a common code base, and ignoring the desktop, I would expect any development tools to run on any distribution.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
Then yeah, it really doesn't matter which distro you choose. Most popular distros will have the tools you want. If it's any Debian based distro (or Debian itself) it's simply a matter of...
sudo apt install build-essential cmake -y
...for most things related to C/C++. Apps like VSCode will work on any distro too.
Jeremy Falcon
|
|
|
|
|
The suggestion to run Linux off a stick is probably the best initial choice. For a few minute's effort, you can test drive live versions of various distros.
There are several 3rd party applications that will burn an OS to a stick -- the last one I used was Balena Etcher: balenaEtcher - Flash OS images to SD cards & USB drives[^]
I dabble with Linux (too much stuff tied to Windows to switch), and running various distros from stick works fine for my needs. For long term, you're probably better served with a dual boot, but for now you play in a risk-free environment.
|
|
|
|
|
Jeremy, does Debian support hibernation? And by extension, Ubuntu & Kubuntu?
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Yuppers. Just took this screenshot of my quick launch control panel. I'm on a laptop though, but it should be the same on a desktop. Fortunately, most distros will have this.
If you're on a laptop too, the real issue is that it's a pain with some distros for laptops when dealing with dual GPUs. Especially if one of those GPUs is an nVidia one. Most recent-ish laptops will have two, one for normal use and battery/lower power mode and one when you need the umph. Some distros aren't quite there yet with making it easy to deal with.
But, distros like Ubuntu will just make that crap work out of the box.
Jeremy Falcon
|
|
|
|
|
Thanks.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
I'll tell you Jeremy, the main thing that's stopping me right now from installing Linux as a dual boot on one of my machines, is the fact that I don't know how to cleanly remove the GRUB bootloader and restore the Windows one in the event that I want to remove the dual boot.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Makes total sense man. You got four options at least:
1) You can use a live CD/USB stick. Most distros ship with that. Basically, you can play around with the OS in memory and it installs nothing. Of course, if you mount an NTFS volume and start deleting everything you'll run into trouble. But, the OS will never install anything, so you can just remove the USB stick and reboot and voila it's gone.
2) Install that bad boy and live on the edge like a wild man. You can use Windows Recovery to repair the boot loader. I haven't used it in a while, but if you're not using drive encryption then it should be straightforward.
3) Chunk that thing in a VM. It might run a tad slower, but ya know... can play around until your heart's content and it's just a VM.
4) Use WSL2. WSL is really nice these days. You can run Linux GUI apps and everything. IMO, it's still nice to take the plunge and just install the whole OS but it's an option.
Jeremy Falcon
|
|
|
|
|
Oh, I should say, I'm sorta in the same boat. My desktop is running Win11 and WSL2/Debian. But my laptop is the one I just went all out on and got rid of Windows. IMO giving up Windows completely now isn't practical, so it's a nice balance.
Jeremy Falcon
|
|
|
|
|
You can boot on an install/recover CD/USB and use BCDEDIT
https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/bcdedit-command-line-options
well it also depends on how the disk was formatted organised (BIOS vs EFI) and such details
|
|
|
|
|
I've mostly used Debian with an XFCE desktop under lightdm. I'm not into customization which is what most of the distros seem to be for - although I'll admit, I've only ever sampled a handful.
Since there are some programs I use which are only available on Windows I have a Windows laptop, so these days I usually run VSCode remote editing with Putty terminals (and the occasional use of XMing) so the desktop is irrelevant.
The question really is "what tools do you want to use and are they available on the distro you like?"
|
|
|
|
|
I think there is a self-contradiction (oxymoron, if you prefer) in your subject line,
Religious freedom is the freedom to say that two plus two make five.
|
|
|
|
|
People are going to hate me. But here goes.
Ubuntu (latest LTS version)
"It's bloated, it's droolproofed, it's stupid. Dear god why?" I can hear you asking from here.
Userbase size. That sells it for me.
If something goes sideways, like always happens on dev machines, and doubly so with unix dev machines in my experience, I can simply google the problem, because among the zillions of Ubuntu users some poor schlub has both encountered the problem before, and posted about it, along with a solution.
At least this is what I do for paying work, because I can't afford to bill my clients for troubleshooting my machine, so any time I've spent doing that is lost money.
Linux is linux. Unless you actually care that much about which window manager you are using (I don't) pretty much linux is what your installed toolset says it is, from Arch to Ubuntu.
I do run debian on my VPS, but ubuntu wasn't available for that, and probably for good reason.
And I know Jeremy will probably want to shower for the mere fact that I even mentioned him, but he's not wrong.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
modified 23-Aug-24 22:31pm.
|
|
|
|
|
nah, you're the coding witch - feed her small children and gingerbread.
"If something goes sideways, like always happens on dev machines, and doubly so with unix dev machines in my experience, I can simply google the problem, because among the zillions of Ubuntu users some poor schlub has both encountered the problem before, and posted about it, along with a solution."
This is what concerns/intrigues me. I have an answer to Jeremy to post shortly. I grew up on OpenVMS with X Windows and eventually migrated to name your flavor of Unix X Windows. I was in the warm womb of restricted hardware. Enter linux - where it was targeted at PC based hardware, and the level of instability reached holy $hit. I spent days trying to get X Windows (before that other thing to recognize my card/monitor - it was stupid complicated.
Setting aside the graphics, which I will work through, what I need is a common stable platform that behaves
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
charlieg wrote: Setting aside the graphics, which I will work through, what I need is a common stable platform that behaves This is the key point in this discussion. From that POV, going with any of the major distributions will probably work for you. Codewitch is spot on.
Regarding resources, I expect any modern PC will run the major distros fine. Last year I replaced my 8 yo Lenovo Yoga 15 with a Surface laptop, and in the cleanup of the Yoga I installed Mint. It runs just fine on what was an above-midrange CPU, 9 years ago.
Upstream I mentioned booting from a stick -- use a USB3 port if you have it. I've run sticks in USB 2, 3.0, and 3.1 Gen 2, and the faster the port, the better, at least some of the time.
|
|
|
|
|
If you're not using any graphical IDE's, any distro will do - I use Ubuntu/Debian in a terminal for c/c++ stuff, all my Linux boxes are headless and I ssh into them.
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
I develop SDR (software defined radio) software (DAB (Digital Audio Broadcasting) in the old TV band III and DRM (Digital Radio Mondiale) on shortwave) since I retired, all on Fedora.
Ubuntu is as fas as I can see the most simple one to install and it has a large user base
The reason I have chosen for Fedora is the great support for cross compilation to Windows.
Ubuntu is used by me for generating AppImages of the packages (AppImages are kind of containers)
Ubuntu is easy to use, however, the releases do not contain the most recent versions of the various
packages.
For both Ubuntu and Fedora I use the default GUI, it is not windows like and that suits me well
|
|
|
|
|
|
Like Jeremy said, don't go for a rolling release (OpenSuse, Fedora and their derivatives).
Best choice for development is, imho, a distro like Debian or Ubuntu (or their derivatites) which have LTS releases.
Most derivatives are just based upon Debian or Ubuntu (which is Debian-based but with tons of changes/additions) with a different desktop environment.
So that is another choice to make.
I personaly prefer a distro with a Cinnamon desktop, simple and not in the way.
KDE is too graphical for me as is Gnome (this may not be the best term to describe it, maybe visualy intrusive is better).
As stated in an other thread about Linux I use LMDE (Linux Mint Debian Edition).
A stable Debian release with the Cinnamon desktop.
I leaves out all of the middle man (Ubuntu) stuff which is in the standard Linux Mint and goes straight to the base.
Before LM I used Fedora with Mate as desktop but that was not a very stable environment for me, certain applications (Eclipse comes to mind) didn't like the combo of Fedora with Mate and caused all kinds of UI problems.
I don't care about Wayland or X11 on my development machine as it is not relevant nor do I need a heavy AMD or NVidia graphics, I am not gaming on my development machine.
I use a dedicated computer for that.
To find a distro that is to your likings just download a few live images, make a bootable USB-stick and boot your computer with it and play around.
That's what I did and so I found out that Cinnamon is best for me but maybe not for someone else.
Support in case of trouble is never far away.
You can even most of the time fall back to the base distro (LMDE -> Debian, LM -> Ubuntu -> Debian)
And finally, don't go for a more advanced distro like Arch. It is a very good distro but absolutely not for beginners.
|
|
|
|
|
Pick a distro for support/release. Bleeding edge: Fedora. Staid, conservative: Debian, Arch, etc. Ubuntu (seems influenced by your pals), mint and such are on top of Debian. Many others.
Then pick your desktop, usually easy to set up so that you pick it when logging in. My current set up allows Gnome/Gnome Wayland, Classic Gnome/Classic Gnome Wayland, Mate, XFCE and something else. Choose which ones during install.
Do yourself a favor, try the different distro's and desktops via VM's. I have tried most. I keep coming back to Debian (now on 12.5) and have another boot SSD running LMDE (Mint on Debian instead of Ubuntu) for backup when I break stuff.
Internet Law #1: Whichever one you chose, you were wrong.
>64
It’s weird being the same age as old people. Live every day like it is your last; one day, it will be.
|
|
|
|
|
|