I am now using Ubuntu for around 9 months, before that I was a windows user.
There are certainly many things in Ubuntu I love like custom themes, terminal, native docker support, and search bar without irritating web results (referring to the Windows search bar, getting web results when you just need to open a local app).
But the time I have to invest sometimes to get simple things working is just crazy. My Bluetooth doesn't work from time to time. Sometimes even audio doesn't work, keys like play/pause never work with Rhythmbox and suspend was working in ubuntu 19.10 version but it is again behaving weirdly in 20.04 (and never worked for me on 18.04). Many more similar problems.
Now the above problems are pretty common and after spending some hours(sometimes many hrs) things start to work. So why I am writing this post, because from last week Intellij Idea is freezing again and again because of some bug and I can't live without Intellij Idea.
Even though I can't think about moving away from ubuntu. I would like to hear your thoughts on this topic, dev community?
Top comments (301)
I used some time off between my jobs to install and configure arch linux on my work laptop.
It was a lot of work, it took me 2 weeks to get a 100% fully functional system, but I learnt tremendously in the process, so it was definitely worth it.
Now I have a system that was built from the ground up by myself for myself. My workflow productivity increased tremendously. I have the joy of working every day on an amazing and beautiful operating system that I optimized for my needs and which I know everything about.
Granted, there were headaches along the way, and not everyone can give 2 weeks of their life for this. But if I had to I would do it all again.
And since arch is a rolling release, I don't need to perform any major upgrades. Btw, I use arch.
What a beautiful post, I feel like you summed it up really well. It's really a learning experience that only makes you better. I feel like anything else I say is just reiterating what you said.
Btw, I use arch.
I think back to issues that would take me hours to figure out some years ago, and how now similar ones take 5 min or less. It's all about learning. Granted that most learning comes, at least in my case, from screwing things up and ending up reading a ton of docs (there is no wiki like the arch wiki!) to fix things up.
Btw, I use Arch.
Arch wiki😎
Btw, I use Arch
As long as you're not shy to look at that wiki, it's literally the best documentation I've seen when it comes down to configuration as well as just general knowledge around a lot of tools and libs. I'm so happy that I use arch.
I have heard great things about the Arch Wiki, AUR.
Maybe I will switch to manjaro in future.
Btw, I use Debian
I think even users of other distros end up using the Arch wiki from time to time
I just read about arch linux and rolling release(didn't knew much before).
It seems that arch linux gets latest updates very fast (which makes it less stable) and you have to configure it to make a complete OS like Ubuntu. I would definitely want to go through the same process as you to configure everything on arch linux from start in future, but would definitely go with Manjaro for now if want to use arch based linux.
Still, printing the Arch Installation and Beginner's guide and following it for a couple times will give you a completely new perspective on how your system works. I suggest everyone that works with computers includes doing that on their to-do list, even if just as study/practice. When things break, no matter how badly, and you know you can fix it without formatting, it's awesome.
Plus, by using the terminal so much, you start to write code that works like that. Many friends think it's funny how I use the terminal to check stuff, be it searching for packages or reading documentation, but this actually feels very liberating, and I can say for sure I make better stuff, and faster, because of this understanding.
I agree on the last point, however the rolling release system is actually pretty stable if you know what you're doing - which can be hard for a beginner.
you need to tweak your mindset.
yes, at first arch might scare you away because it's rolling release.. but..
if you understand how pacman works, what pacnew files are and that you should always check the news before updating, you will get a insanely stable experience on it.
some projects have a few bugs.. kde on wayland for example.. but using that is really bleeding edge.
in general you are the one making the decisions when it comes to your installations.
apart from that, the archlinux irc on freenode is filled with people willing to help.
side note: i even use arch on servers
For lesser worries regarding Arch Installation, I suggest using the archfi script by MatMoul.
One more quick tip, while installing use IITK mirror if you are currently residing in India. Its blazing fast.
Btw, I use Arch
This is where you should probably make full use of Docker container. I have different container for different project, where rolling release nature of Arch wont be a problem for me. My containers will always in stable state.
Yes, it will take some times to setup Linux, but it will worth it.
Btw, I use Arch.
Someone told me once that the best Debian based distro is Debian, haven't you tried it? 😁
I recommend you to use Elementary OS and Snap.
Setting up a new laptop for work lasts only an hour like this and the software is more containerized.
If you have time, mounting all parts by your own (a.k.a. creating your own distro in some manner) is the way to learn how it works pretty well as Samuel pointed out.
Depends, best for what?
If you're looking for a non gui thing, perhaps, yes, but the last debian I played around with, looked like a 2005 Redhat clone. Like, between a windows 95, NT, and a 3.11.
It was only something like a joke, but you can add your preferred GUI into it and.. tada! a debian with nice GUI on it.
The other way to go is the same as Elementary OS does. It's based on Ubuntu (which is based on Debian). Then decouples packages from it and repack all into a lighter distro for being more efficient (with a prettier and easy to use GUI).
Feren OS was nice at the beginning, now it's more like a nonsense Frankenstein monster.
I would recommend you not use snaps. They're buggy, and slow. Which is exactly what the poster was complaining about (bugs and speed). In fact, it's possible that the poster would have a better time if snap was completely purged from the system and the existing snap packages were appropriately replaced by the equivalent Debian packages.
I've had issues with Discord only on snap, then i installed it as deb package and it was still buggy so i assumed it was version bugs and used it on web version.
I'm using docker, php storm, spotify, gitkraken, slack, dbeaver and more everyday without issues TBH.
I'll need to check your speed concerns between deb and snap packages to see if it makes an observable difference. If it does I'll simply move phpstorm and gitkraken out of the snap as on big projects these two are the most resource-consuming packages (both indexes the entire project). Thanks for the info
There are plenty of people that have tested things such as startup speeds, some snaps taking almost a minute to load vs their Deb versions taking a couple seconds:
Here's a link, happy to help
discourse.ubuntu.com/t/testing-def...
Thanks I'll take a look, at the first sight it seems the article talks about load times only which is something i haven't to concern about. I open all software at the beginning of the day while taking a coffee and i didn't close it till I'm about to go home.
I'll look this article further and make some tests with the apps i use and will see.
Manjaro sucks and you won't learn much more than you already know.
Either you go back to windowz or try Arch.
Linux is customizable. so is there not a way to customize manjaro or ubuntu?
Answer is yes they can be customized. It's users choice, right? for eg we can remove gnome and add MATE in ubuntu.
I think there is need for better discussion than just dismissing everything and saying arch or nothing.
If for you it is a matter of customization go ahead and use whatever you want.
I am speaking about the rock solid base (first of all the package manager) over which Arch and other serious distributions (Gentoo, Slackware, Alpine...) are built. Also their communities are made by compentent people. Manjaro is born to make easy something which has its own complexity: in my opinion this is exactly the opposite of the Arch KISS philosophy.
I don't really want to try Arch on my main machine as It is my only machine.
So will persistent bootable USB with arch Linux a good start?
I've no time nor want to spend 2 weeks on it (for now) so i usually use Elementary OS that works fine. Better optimitzed than ubuntu, prettier interface. Moreover I usually go for Snap as package manager (some people blame it for working different) but I think the productivity is much better.
No upgrades from APT to the software I'm using for work, if something breaks up I just snap remove and snap install again and I'm working again on a minute.
Can you get a normal keyboard layout in Elementary? I loaded it and I could only seem to get a Mac layout. Is that bolted down and essential?
I'm using the same layout I get on windows or ubuntu or... Simply selected keyboard layout on installation process like almost any Debian based linux installation.
Can't agree more, I also love how easy it is to create identical environments, even across different distros. on top of that the privacy and the open source as default is huge.
I use arch BTW
I think what people don't really understand about the stability differences between Windows, macOS, and Linux all have to do with the drivers that have been developed to support those platforms. If you try installing any OS on hardware that it wasn't intended for you are going to have problems. I spent many hours attempting to install Windows 10 on an older MacBook Pro only to be stuck in the end because of the lack of Windows support for the dual video card setup in the MacBook Pro. The macOS works great on Apple hardware, Windows works great on PCs because the OEMs have invested the time to develop solid Windows drivers for their hardware. Unless you are using a machine that the OEMs have invested time in to provide solid support for Linux you are going to have problems.
I run Ubuntu on a Dell XPS 13 that has solid OEM support for the device. Dell & Lenovo sell devices pre-installed with Linux which means they have invested time into supporting that hardware. However, that also doesn't mean that they have invested that time in every hardware combination they produce.
Before choosing Linux as your OS you have to ensure you are picking the right hardware with OEM support. If you purchase a System76 device you are in the realm of Apple because System76 is controlling both the hardware and the Linux distro it's running on.
And as we all know it doesn't matter what OS you are running Microsoft, Apple, etc can still put out bugs that cause their OS to have problems on their own hardware.
You make a good point but I think it should be added that stuff isn't always so black-and-white.
I use a Dell, didn't come with Linux, still the Dell with the worst Linux support will be 200% easier than something actually hard, such as your experience with the Mac, or, God forbid, my saga to install Linux on a PowerMac G5 (Nobody supports PowerPC anymore, still it runs Gentoo pretty nicely, took me a couple months to make it work though).
It's a trade-off, Ubuntu is especially bad but for most distros, there are many levels of hardships depending on the hardware.
OEM not supporting Linux is not a reason to drop Linux, is just an indication that you may have some degree of troubles masking it work, but it may be actually pretty easy.
Well, my point was more about those that struggle with getting a Linux distro working on their machine. And their concern that the time required to get things working was not worth it. If they want it to be easy, and just work, then they can't expect this for a Linux desktop with just any hardware. If they don't want to invest the time to get it working then they need to choose their hardware wisely.
Couldn't agree more. First, choose your hardware wisely: certification.ubuntu.com/.. I switched to Ubuntu after 20 years of using windows and never looked back. It's true that you have to invest more time in the beginning to operate it, but you get greater control. Plus you'll learn shell scripting on the way, which you'll benefit from when you're code ends up on a Linux server, which will inevitably happen.
The Ubuntu hardware certification list is pretty telling when you look at HP's 12 certified laptops, none of which are certified for 20.04, compared to Dell's 300+ certified laptops, only 5 of which are actually certified for 20.04.
I guess it is not updated yet. Both Dell and Lenovo go at great lengths to make their laptops Ubuntu ready. I just upgraded to 20.04 on an Inspiron 5000 series laptop and it works like a charm
Being able to run 20.04 and actually being certified for it are different things.
I will definitely consider Using Windows 10, Please Now don't scroll down 😅, I know there are alot of lags, Memory Issues In Windows 10.
But I was also a Linux Lover Before I came to know following Points:
These are some good points.
When I was using windows, I had removed all bloatware manually using PowerShell. I just think WSL is not that stable right now. I had just moved to Linux to give it a try. Now it is very hard to go back.
I have been using Ubuntu installed in WSL2 for a few months now. It's been pretty stable other than a couple of minor quirks. I get the best of both worlds. I still run linux on a laptop for most of the development work, but I'm moving (back) to Windows for the main desktop experience.
I used Mac for 10 years before this. It used to provide the best desktop experience but not any more. The software quality has been declining while the price tag stays high. Once I realized I didn't need the "cool looking factor", I was ready to ditch it. :-)
Are you sure we didn't talk? Exactly what I had done. Two weeks into Winux and loving it so far. The high price tag of Mac forced me to consider this option and it's working great so far.
Counterpoints as a Linux user:
But then you will have the worst things about Windows still
Unless your work locks down your Windows 10 so you can't install WSL2. They have not yet blessed a new enough windows release.
Rather than using WSL, I use my Windows 10 box as a client to one of the many Linux or Unix boxes that I have access to.
I can run windows apps on windows and Linux apps on Linux and they all just work.
I can even use ThinLinxOS as a thin client for both if I want...
It works, until it doesn't. WSL2 is leaps and bounds better than WSL1, but it's still not quite native. E.g. we couldn't use WSL to develop on some embedded hardware at my last workplace, as it relied on the device being mapped to a /dev/USBx, which simply didn't work with the WSL VM.
But I've spent a couple of days developing with Python and Node without thinking much about it. When it works, it works pretty well. But at that point, if it's not actually better, I'll just keep dual booting.
i use wsl2 and docker at work.
the network stack constantly breaks apart and it doesn't properly integrate into vscode in comparison to a native linux experience.
I'll totally stick to arch.
That's a lie (...You can do any task, which you can do with linux...). Try using simple native security Linux tasks over WSL (nmap), it's not supported, therefore, it is not native.
I have my whole dev environment in a docker image. The day windows had native docker support, I will try..
I recently switched from Mac to Windows 10. WSL 2 is slow at least for Java development. Intellisense is also as well as compilation is even slower.
Don't know your case, but I felt a huge leap when I hosted my projects (a python and a reactjs one) on the linux's home folder. I was previously using them from another disk and it was unusable
I assume you installed Linux on your Laptop. May I ask which brand?
In general, I would only suggest Linux to anyone who has thinkpads or dell xps lines. Other than that: too much hassle, worse battery life, etc.
I code daily on Linux because I’m an embedded software engineer and because the target system is (embeded) Linux. Even then I only use it on my workstation.
My macbook pro is my daily driver because of 1) battery life 2) it works out of the box 3) almost all Linux tools are there.
On my Huawei MateBook D14 the battery life lasts bit more than I got on my MacBook Pro 13" 2017 touchbar, and getting more performance (that's why i sell the MacBook after some months).
Note that the comparison is from a 2.006€ MacBook "Pro" vs a 600€ Huawei.
Apple performance per price is a shame...
Right.. you compare battery life of a notebook with a different one. I’m not going to argue with your logic.
Hey, my Audi A4 uses more gas than my Vespa.
Note that "dealing more performance" on the text.
For further details, it was a MacBook Pro 13 with intel i5 with iris plus integrated graphics, 8Gb RAM and 256Gb SSD vs Huawei MateBook D14 with Ryzen 5 with Vega integrated graphics, 8Gb of RAM and 256Gb SSD. First one at 2006€, second one is 600€ (you have the i5 option at 650€). Both promoting 10H battery life.
It's like buying a vespa at the price of an A4, that's what disappointed me.
I’m not going to argue about price or performance of any laptop.
What I was trying to say is from my experience, if you have a windows laptop and you install linux on it, the battery life on Linux (on the same laptop) is comparatively worse than Windows (on the same laptop). At least out of the box. You could tweak the power usage but as I stated before, it might not worth it.
That's true on the major laptops with intel and from my experience the difference between windows and linux battery life it's almost 0 on AMD ones (i tried only 3)
Funny enough, I get about 4 hours on Linux on my Inspiron, didn't use Windows all that much but I remember it didn't last as long.
Still, I use Arch so it may be the tweaking things. Since Arch doesn't do anything for you, tweaking things is basically what you have to do when installing, so obviously I have it turned for what I need...
Though a Macbook would be perfectly acceptable for me, if not for the fact I live in Brazil and here a Mac costs an arm and a leg, and maybe also a kidney or two...
Should be interesting to see what this will look like if arm laptops go mainstream. Battery life with Linux on arm should be nice
I'm a little sceptic about performance of ARM for heavy tasks, general purpose and multi-tasking. Yes there are supercomputers with ARM but they perform a little set of actions instead. Will see how it's managed on a close future for general purpose devices.
Yep... time will tell
Sadly, even then it's some models. At my last job I had a Lenovo P50 with Linux Mint. The Nvidia Quadro graphics were poorly supported. The laptop screen would only work with the Intel GPU and external displays with the Nvidia one. Plus I could not reposition the monitors or switch which was primary in software.
I've since run it on a Lenovo Yoga, E540, and an ASUS VC66 desktop without any trouble.
Nvidia drivers had been messed up by Nvidia itself and I wouldn't blame distros for it. Though I haven't faced those issues with Nvidia external display support although I don't have Quadro instead have GeForce 1050Ti and it's working great with ubuntu although I switched to pop os for better support 3 months ago.
nVidia is pretty much the best reason to use windows on any machine. As for the reason, I recommend watching this answer by Linus Torvalds himself: youtu.be/IVpOyKCNZYw
Hehe... Buying a Dell xps 15 made me switch to windows. Horrible support for hybrid graphics. Linux on that laptop was basically unusable for me in 2016. But I too read the articles about the xps 13 being a fantastic Linux machine. Should've researched more
Although I personally haven't, did you or anyone tried the dell XPS developer edition for linux? Or system 76?
I am having HP laptop. My laptop and workstation are same 😅
I didn't really have problem with battery life but things just break from time to time.
HP laptop and Linux. What could go wrong :P
😂
On MSI things don't work better too hahaha
I'm using full AMD since like 12 years ago and no issues related to GPU nor CPU.
I've a Dell with intel CPU and GPU at work and it runs fine till I add more load, then it starts freezing a bit.
Sometimes intel cpus works well and suddenly you get an update from intel team to the linux drivers and the CPU start overheating so... I prefer to keep the brainless safety of AMD.
A 3600X + Vega64 for playing and heavy duty tasks, and a 2500u on my laptop for little projects and "sofa code". 😂😅😅
Is your BIOS current? I've recently been dealing with someone who had Linux problems on their HP laptop and discovered the BIOS had never been updated since new. A number of revisions since had been missed.
Regardless, I've been impressed with how Dell has embraced Linux, and I've seen fewer problems running Linux on Dell than HP. YMMV
I checked my BIOS and it is indeed older than the latest release. It was last updated before I switched to Linux.
Thank you for this comment. Updating my BIOS might resolve some issues with performance.
I've been using an older HP elitebook and it works surprisingly well on Ubuntu. In fact, the multi-screen support is better than Windows which amazed me. The laptop has discrete graphics from a FirePro m5950 and has both displayport and VGA connections available. Windows refused to run the internal display in addition to the two external monitors, but Ubuntu worked out of the box. HP had led me to believe that it simply wasn't possible. And as far as I can tell, everything else works in regards to hardware too.
We have pretty much similar experience then. I never had HP laptop that runs Linux works comparably well like on Windows. From my experiences, I had to tweak A LOT to get everything working at least as good as on Windows. And that costed me time that I nowadays don't want to spend.
Imagine tweaking a laptop for 2 weeks straight. And even then there's no guarantee that after updates it will work properly. For me it's not worth it.
If I were you I would use Windows. It works. And WSL 2 is surprisingly good. I've been testing A LOT of cross compilation stuffs with it. It's not perfect yet, but it's getting there.
Yes. I can't live at work without at least one Linux box with a tmux session running. However, Linux isn't the right tool for every job. Some things are easier on other systems, but it's usually worth the effort to learn the linux way.
Most of your weird issues can be avoided by carefully selecting hardware with good open source drivers. There are several vendor that treat linux as a first class citizen and make sure their supported distros work properly on their hardware.
I also run LTS releases... Usually CentOS, but sometimes Ubuntu LTS or Debian on stuff I just don't have the time or desire to be tinkering with. If I need cutting edge for something, I run Fedora because it's easy to do major release upgrades, and because it's upstream to RHEL.
I am far more productive than I would be without my time investment in Linux. I'm also a Senior Sysadmin instead of slapping out pizzas for a living because of it. Stick with it. The more you learn command line tools and shell programming, the more value the system will have for you.
I have been using Linux for the past 3 years, mainly Ubuntu. For me, being productive is about getting comfortable with the thing. There's no doubt that it's annoying when you have to troubleshoot basic problems like bluetooth not connecting or updating broken drivers. On the plus side, the very same process helps me in learning new things about the OS itself. TBH, I learned how to Google problems only because I switched to Linux from Windows and faced tonnes of problems during the transition.
As with all things, it depends.
After using Linux for 10+ years now, I feel safe in saying "the moment you leave the terminal your possible productivity declines rapidly".
Linux as in the kernel, is cli-centric. So all tools it brings are made to be used there. It is convention to give results in the form of exit codes or some sort of string so results can be easily piped and processed in other programs.
This is where productivity with Linux hits it's peak performance I would claim.
UI in the Linux world has always been lagging behind windows and MacOS. Though in the last decade several Linux distros made tremendous improvements and are very user-friendly. Some notable distros that come to mind would be
If you live in the terminal and can live without UI, like me, there is no contest really. Linux is very productive there :)
To have a smoother experience with Ubuntu IMHO, as well as with any other distro, the point is to buy hardware that is known to work well.
For example, most Lenovo laptops are Ubuntu certified hardware. certification.ubuntu.com/make/Lenovo
I haven't had any problems with Ubuntu on my T480, media keys, wifi, audio, Bluetooth all are working out of the box. There's one thing though, the digital imprint device, since it's proprietary, it only works on Windows.
I admit it - I've been using Linux since... 1995 or so and things definitely got much better.
I work on headless Linux servers and things are generally fine.
BUT on the Desktop I still hate it.
Recently I switched to Pop OS because things were smoother with internal + nvidia GPU, CUDA and generally like the improvements I did.
But just in the last two days I gathered such a list of issues for my TOFIX list, it's not fun.
Apart from the usual "printer not working"... (ignoring that and just booting into windows or using the macbook):
On the Laptop - suddenly brightness controls completely stopped working, the function keys do something else and the slider does nothing.
I didn't expect the fingerprint scanner to work without tricks - doesn't, don't care enough to waste time on that.
Wasn't much better with plain Ubuntu. Over 3-4 years I reinstalled it a dozen times while that Win10 installation which was even updated from Win7 still runs without issues. The MacOS on my 5 year old cheapest Macbook Air also still working well (except that it seems to get slower and slower).
Previously I used Debian, Mint, Undead Linux, SuSE and a couple others but overall there were generally too many issues with the desktop environment to bother at some point.
While writing this article suddenly the airplane mode turned on? wtf?
I never had all those issues with Windows many people report, although I never early-adopted and also skipped Win8, XP, Vista etc. (went from 3.11 to 95 to Win2K (that one I had for ages and never reinstalled it) to Win7 to Win10). Since 2k I never had to reinstall any Windows once. I mostly want to get rid of it because of annoying ads, data gathering etc. I had 4 years with mostly using MacOS X, which was generally smooth but I hated the walled garden and forced upon choices.... what the hell do you mean you have to delete all my files on that ipod if I switch account? reparing that disk drive is 300€? really? on my PC I plug in a new one for 20€. I can't just upload that iOS app to the phone? Oh yeah, sure, just drop OpenGL support, makes sense. What do you mean that thing costs 3-4k€? I just got a ZBook for 1200€ with 32GB RAM, 2TB SSD, dedicated GPU.
rant rant
Think it's just me getting old and hating everything ;)
Your experience seems even worst than mine. I understand your pain a little. The airplane mode line made me laugh, LOL.
Even though I have never bought MacOS but I don't like it exactly because of the reasons you mentioned. They force you to use everything Apple and even slows down devices so that users buy a new one(iPhone 6 case that happened). It is super expensive and not even allow to develop apps for their platform without MacOs again their close ecosystem mentality is very frustrating. Now people won't even be able to dual boot macOS with Linux or Windows after they start putting Apple chips in them (even though Intel version will also be available).
I don't really have anything particularly bad to say about windows other than what I already mentioned in OP. Because all the Bloatware can be removed and there can be much more customization done than people talk about through the windows registry (granted not on the level even close to Linux). Also, It is much more affordable.
I still prefer to use Ubuntu, but right now I feel less productive with it.
I have switched from Windows to Linux, and yes initially it was a different experience from Windows, I had to break my head over simple things like installing a software, extracting it, I was not aware of centralised repository concepts, I had to struggle for setting up environment variables etc. But at the end of the day, once you learn to use Linux, your entire workflow becomes faster and there are many free tools for photo editing , reading etc which I find even better than windows.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.