New to Linux, have a few questions
I currently use Windows 10 and I’d like to try out Linux. My plan is to set up a dual boot with OpenSUSE tumbleweed and KDE Plasma. I’ve read so many different opinions about choosing a distro, compatibility with gaming and Nvidia drivers, and personal issues with the ethos of different companies like Canonical. I value privacy and I’d rather avoid a Linux distro that’s implementing something like ads or telemetry…if that’s even a thing that’s happening?
As a complete beginner, what sort of advice would you all have for me? Should I avoid OpenSUSE or KDE Plasma for some reason? Are there any ‘10 things to do first when installing Linux for the first time’ recommendations?
Despite all the ‘beginner friendly’ guides and tutorials around, I still feel a little lost and like I’m going into this blind.
EDIT: Thanks to everyone who's offered advice, I really appreciate all the help and the patience with my dumb questions! There's a lot to look through and it's been a busy day for me, but I'll get back to reading through everything and replying as soon as I can!
My big question would be why are you starting with a dual boot? I would recommend trying each one with a liveUSB or in a virtual machine and simply do a single boot with the one you like better. There’s likely little need for you to actually maintain two distros unless you have a very niche use case that one distro can’t solve.
My advice would be to just relax and realize that the underlying OS is 90% the same regardless of what distro you choose. All the discussion you see on different distros, package managers, snaps, wayland, etc. are all the other 10%. It really doesn’t matter what distro you start on as long as it’s a general purpose distro (both of the ones in your OP are): once you learn the first 90% of linux, you’ll develop your own tastes, and then you’ll be able to decide on the remaining 10%.
I think he wants to dual boot tumbleweed and windows, not two linux distros.
Yeah. I probably should have been more clear about that.
That’s an even worse idea imo. If you’re not very familiar with bcd and grub you will find it hard to boot into Linux once windows decides to “fix the boot issue”.
Better to have a separate drive so you can select by picking boot device on startup.
I know it’s possible to dual boot, but it will be some issues at some point
I have an SSD I’m using for windows and a separate one that I want to install Linux on. I want the ability to remove one of them and keep using the other. From what I understand I can set the BIOS boot order to load Linux first and use the Grub to select which OS to boot?
I realize now I should have been way more specific with how I worded things in the beginning.
Yeah that's exactly how I do it. Never had a problem with dual booting Windows, just make sure your Linux drive is the default boot drive and then you can select Linux or Windows in GRUB/systemd-boot
Just for the sake of another experience, my dual boot of windows and Linux mint has had absolutely no boot issues for me ever
Good to hear. My last experience included at lot of fiddling, but it’s been quite a few years
That's generally not a problem anymore with UEFI (unless the boot variables disappear for some reason).
Ok - must admit I haven’t tried dual booting since win7
Ah, that makes way more sense.
This is the sensible thing to do. Try a bunch of distros using either USB or as Virtual Machines.
It'll save you a lot of heartache when you eventually kill the bootloader, the display driver or both (and you will, it is part or the learning process).
I don't understand the issue here. Does that mean I can kill my BIOS bootloader somehow? Or the display driver? And how would screwing up drivers on one SSD with Linux affect my other SSD with Windows? Sorry if these are dumb questions, I'm just trying to get my head around as much of this as I can.
Windows likes to pretend it's the only OS in the world so it can overwrite the bootloader and you lose access to the Linux install.
But if you use separate disks for each there's a simple solution if your BIOS has a quick boot selection: install each bootloader on its respective disk and use the BIOS selector at boot.
Alternatively, install the Linux bootloader on the Linux disk; it will autodetect Windows and offer it as a boot option, but Windows won't be aware of Linux. In BIOS you set Linux as permanent boot disk in this case.
I want to maintain my Windows 10 install for now as a sort of fallback. I have a lot of random software installed for my university classes, and I don’t know about all the compatibility issues I might face with those. And letting it sit there in the background in case I need it for something feels safer than jumping head first into a new OS.
Trying out liveUSB or VM stuff seemed like it would be an extra hurdle in transitioning to Linux. Like, I want to get settled in and actually use it as a daily thing, not just browse the internet a bit here and there. If I don’t like the distro I choose, I can always just install another one, right?
Oh, my misunderstanding, I thought you wanted to dual boot OpenSuse and KDE Plasma. Dual booting Windows 10 and one of those makes way more sense, especially if you have niche university software that was probably written 20 years ago for Windows XP service pack 2, is already barely compatible with Windows 10, and almost certainly never had a linux version. You definitely don’t want to gamble on abandoning Windows completely until after you graduate.
And yes, once you get comfortable installing a distro, it gets pretty easy to just install a new one.
Plasma is the desktop environment he wants on Tumbleweed. Neon is the KDE distro. I thought it was pretty clear he wanted to dual boot Windows tbh
Oh goodness I have no idea where my brain was.
A live USB would let you play around in a desktop environment for a bit to see if you like it before jumping in the deep end with it. But if you've already tried out KDE plasma and know you'll like it, then you're probably fine. I agree that you won't become familiar with a full distro without data persistence and repeated use.
Maybe at least live boot gnome if you haven't tried that one yet. Gnome and KDE are the most fully featured desktop environments, so they're natural choices for users coming from win/mac.
Yeah, you can always install another, but if you are going to do that every day or two before settling on one, maybe consider installing virtual box and trying out the distros like that first. Of course, if you're in a VM, it can be a challenge to get proper hardware acceleration if you're going to try out gaming.
At the end of the day, I think dual booting is a good idea, as long as you only use windows when it's your only option. That's what I do. It's easy enough to reboot if I need to play a game or use a windows specific app. More consistent than dealing with QEMU or something.
You can indeed always install another distro. You can also run many distros in "live cd" mode, just boot from the install media and choose the live option without installing. It's actually a great way to see if a distro will play nice with your hardware and LAN and peripherals out of the box.
Can you easily switch drives in your system? I’ll often do that on my computer because little m.2 SSDs are so darn cheap now. It’s easier and cheaper to pick up a little 64GB drive for one off projects than it is to do a proper backup and restore.
Also, I’d just go with Tumbleweed. I don’t distro hop like I used to, but that’s because as everyone else is saying, most of the distros have gotten really good. Most of the time, my little projects are trying out specific features of a different distros. So I’ll just pop a new drive in, test drive it, then either switch back or not.
Mooby gives good advice! I tried out different distros in vm's for 6 months after which I found myself very familiar and living in one more than my base os. At that point I nuked macos and installed Kubuntu no regrets. Kubuntu is a great start due to the popular Ubuntu base. Kinoite would be a good choice for its immutability. If set on Opensuse then choose Gecko as a more friendly way to install it.
It's a bit of an unpopular opinion, but if you pick a mainstream distro there isn't a lot of difference between them. Especially to somebody who is new to linux.
With most any distro you can use KDE, gnome and other desktop environments. You can pick which one you want to use when you login. So don't think you're tying yourself to KDE if you install kubuntu or something.
If you want an easy way to switch to a new distro make sure you create a separate partition for /home. Then if/when you want to install something new you can have it overwrite everything except your home directory. So all your steam configs and games will be left untouched (for example). Alternatively just backup /home somewhere and restore as you need.
Is a home directory similar to the users folder in windows, or like the program files folder? Is it ‘everything but the OS’? I’m still trying to get a grasp on how the OS operates conceptually.
Yeah - the home directory in Linux pre-dates the windows Users directory by a long time. You'll see the multi-user nature of your OS exposed much more in Linux than you will in Windows.
Every user will have a /home/username directory on Linux (often referenced by "~" or by the environment variable "$HOME"). By default this is the only directory that user will have any permissions to create things (with some exceptions like /tmp which is used for temporary file creation - but nothing long-term). So all of your configuration, user-created files, etc. will be created there.
Configurations are often stored in 'dot-files' or in directories that begin with a period. These are "hidden" by default with most file-browsing tools (it's just a tradition - there's nothing otherwise special about files or directories that begin with a period). So you'll have a
.bashrc
which is the script that runs when you start a bash shell for example. Or.local
which is where you will find a lot of application configurations these days.So if you copy /home/username somewhere you will copy all of your configurations.
Some applications will install there as well. Steam, for example, will install your programs under $HOME/.steam.
Things you install "system-wide" will be installed to /usr/bin or /bin. This will typically be things that you use a package manager to install. So the steam application may be /usr/bin/steam but then all of its configurations, installed apps, etc. go in your home dir.
If you're curious where a command lives you can use
which cmd
ortype cmd
from the command-line and it will show you (something I often wish Windows had).NOTE: There are exceptions to everything I've said above. But those are the "general" guidelines. In short - if you installed it without needing root permissions it's likely somewhere in $HOME.
Thanks, that's a lot of really helpful info.
What do you mean by this though?
A command can 'live' in different places? And this might be a dumb question...but what is a command in this context?
This is the actually the thing same as Windows - in Linux you've got the
which
command, and it's equivalent iswhere
in Windows. Both do the same thing - find out where a program lives.OP meant a "program" in this context. Both Linux and Windows have specific paths where programs typically lives. For example, in Windows, if you type "notepad" in a command prompt or the 'Run' dialog, it'll search for it in known system paths such as
C:\Windows
,C:\Windows\system32
etc. These paths are declared in thePATH
environment variable - which you may have encountered when certain applications try to (or ask you to) add their program folder to the PATH, such as say Java or Python. If a program is added to thePATH
, typing 'java' or 'python' from anywhere will automatically launch it, so you don't need to specify the full path or the program.Now whilst this is convenient, sometimes it can cause unwanted issues. For example, say you installed some other program that uses a specific version of Java or Python, and it installed that version in your system, and added that folder to the
PATH
- now when you typejava
orpython
in a command prompt, you wouldn't know which version you're executing. This is what OP meant by a program living in multiple places. As you can imagine, this can now cause issues, and can even break some scripts expecting a particular version of Java/Python etc and some other version is being picked up. This is where thewhere
command in Windows comes in handy, as it tells you where exactly that program is located. And it's Linux equivalent iswhich
.So at least in this department, the behavior of Windows and Linux is virtually identical. :)
TIL there's a
where
command in Windows! Thanks!Essentially, yeah. Most programs will install to your root directory, but all your personal configs and personal files will be in your home directory.
What I'd personally recommend is using Timeshift to automatically keep backups if your home directory on a separate partition, then if you want to switch distros or if you need to reinstall for whatever reason you can use Timeshift to restore your home directory pretty easily, as long as your new install uses the same file system.
Timeshift was designed for system snapshots not home files. You can force it to cover home but it's better to use BackInTime which was designed specifically for home snapshots.
The home directory is like the Windows users directory, yes.
In the shell/terminal it's represented by
~
or$HOME
, it's path is likely/home/$USER/
First
/
= Root$USER
= current user account you're using.You should check out this Arch Wiki page & this Arch man page.
Don't worry it's pretty distro agnostic.
For Nvidia I would recommend Pop!_OS since it makes things really easy. Either that or Debian with KDE. More mainstream = more users = better support.
Linux Mint works really well with Nvidia, too!
I keep hearing good things about both of those. They're the first two distros on my list to try out after OpenSUSE.
OpenSUSE Tumbleweed is an awesome distro with up to date packages. KDE is also a great choice, especially with Plasma 6.0 around the corner.
I wouldn't worry too much about Nvidia drivers, just follow OpenSUSE's guide [1]. The remaining issues of Nvidia with KDE Wayland are getting fixed over the coming months.
Edit: OpenSUSE can't ship some codecs by default for legal reasons (like RedHat, Fedora), but makes it simple to enable them (optionally through graphical YaST) [2].
[1] https://en.opensuse.org/SDB:NVIDIA_drivers
[2] https://en.opensuse.org/SDB:Installing_codecs_from_Packman_repositories
That makes sense, thanks!
Keep notes on what you do including outcomes. You can always reinstall, skip all of the extra crap you didn't need to mess around with and have a good clean system without having to back track.
From https://wiki.debian.org/DontBreakDebian#Take_notes
This has saved me so much grief. If ever I mess up a system so badly that I want to re-install or when I want to set up a new machine, having a clear set of notes makes it a breeze.
History with Fish makes this easy
I'm also a beginner and I noticed that debian let me install a lot of possible desktops. So I installed all of them, and I can switch on the password screen which one to open. I'm trying some stuff this way.
Regardless of the distro, you can install as many desktops you want. It doesn't have to be during the OS's installation screen.
I found this easier because I messed an earlier installation trying to change desktops. (I don't remember the distro.)
If you notice issues with Wayland screen sharing or flatpak file manager not opening, try uninstalling Gnome/KDE. The xdg-desktop-portals for different desktops sometimes don't work correctly while concurrently installed. If you don't notice issues, it should work fine.
Thanks I'll try to keep it in mind if something weird happens.
OpenSUSE + KDE is a really solid choice, I'd say.
The most important Linux advice I have is this: Linux isn't Windows. Don't expect things to works the same.
Don't try too hard to re-configure things that don't match the way things are on Windows. If there isn't an easy way to get a certain behavior, there's probably a reason for it.
Fedora has some telemetry, but as far as I know, you can turn it off during the installation. Some desktop environments like KDE Plasma also have options for telemetry but it's disabled by default. If you want it, you manually have to enable it in the settings.
Some software might not be available on openSUSE
Not really, Plasma has a shitload of features and customization options, if many options tend to overwhelm you, you might be better of with a different desktop environment, if you are fine with customization options, Plasma is great for you.
Since you said that you want to install openSUSE, I recommend this video: https://youtube.com/watch?v=ajVqJ1nl9bM
Why would some software not be available on OpenSUSE? Would it be available on other distros due to a different way they handle packages, or do you mean in comparison to Windows?
I've been using openSUSE for a while now and haven't come across any software that was not available for it. Doesn't mean it doesn't exist, but I wouldn't worry about it. It's a pretty good OS in my opinion.
openSUSE is rather small, not everything is packaged for it. Arch is the best in terms of software availability, thanks to the AUR.
The only distro that even comes close is NixOS, but I really wouldn't recommend it for beginners. You can explore it in a VM though or maybe at some point actually try it out. It's very very different than other distros though.
Nix (Nixpkgs) actually exceeds the AUR in the number of packages, according to this page.
And the nice thing about it is that you don't even have to be on NixOS to use it - in fact, NixOS came much later. Nix started out as a distro-independent package manager, and can still be used that way, because Nix packages do not interfere with your system's packages.
Ok, let me see if I'm starting to understand.
If something is packaged for a disto, then I can download it using the package manager and it should theoretically be compatible with the distro and the other packages available through the package manager. But if something isn't available via the package manager, I could still find it online and download and install it, but it might cause issues because it hasn't been verified by the people who maintain the distro's package manager accessible repositories. Or I could still install it with flatpaks or snaps and something something container and it should still work? Or might cause compatibility issues?
And you're saying that AUR has more packages that have been verified for arch than OpenSUSE has with Yast?
Did I get all that right?
Correct. The usual issues that you'd find is missing libraries or other package dependencies, because the versions/packages on your OS may not match what the developer complied their generic release package with. Which is why you normally don't download random apps from the web like you'd do on Windows, becuse there's no guarantee that it'd work on your distro (not to mention the security concerns).
Correct, Flatpak/Snap was invented for this very reason, to solve the library mismatch and dependency issues you might get. Flatpak/Snap works by bundling all the necessary dependencies a program might need, so it doesn't matter what your OS has. There are some issues with Flatpaks/Snaps, but these are rare and usually they come about due to the sandboxing (Flatpak/Snaps typically don't have full system access, but "just enough" to get things working. You can manually configure the permissions though if you need to give an app more/specific permissions).
* "packaged", not "verified", but yes being packaged for a particular distro usually implies that it works, but that's not always the case. Btw, YaST is just a system config tool, not a repo. OpenSUSE's default repos do indeed have fewer packages compared to AUR, but that's an unfair comparison since the AUR isn't even enabled by default on Arch, it's something you'll manually need to enable and even get a third-party package manager like yay/paru etc to access it. OpenSUSE also has third-party repos like Packman, and even an online Software Portal that can be used to search for and install package from several official and unofficial repos. So technically speaking you could probably find everything you need on OpenSUSE (it's hard to get an exact package count to compare), but I guess it's not as easy/convenient as simply using the AUR on Arch.
Here is an alternative Piped link(s):
https://piped.video/watch?v=ajVqJ1nl9bM
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I'm open-source; check me out at GitHub.
If you're going to be using a DE and mostly do stuff through the GUI instead of terminal/command-line then make sure you can go admin mode (Root/Sudo).
Besides small annoyances I had with KDE Plasma 5's UX the main reason I didn't like it was that often enough I would have to use admin privileges but I couldn't do it through the GUI File Manager (Dolphin) so I frequently had to use the terminal.
It should be possible to have admin privileges in Dolphin but I was a noob and didn't know how (and still don't even now).
If you end up facing that issue then either be a bit smarter than me and look up how to do that or use Nemo, another file manager, which is more or less the same thing as Dolphin except when I ended up using it on Linux Mint a while back it let me use it as Root as a feature out of the box.
And for the record I don't like Linux Mint, apt package manager sucks (package managers are basically app stores where you get all your stuff), but at least it was super easy to install and Nemo was a good file manager.
If you don't mind tinkering and have a secondary device with an internet connection in case you break something then I would recommend Arch Linux. Or you could try it in a Virtual Machine I guess.
Pacman (Arch's package manager) is a hundred times better than Apt, and then there's the AUR on top.
Also while I've never used it I hear a lot of good things about EndeavorOS, Arch Linux but supposedly easier
If you run into any issues or if you're not sure how to do something, feel free to ask.
I'll do my best to point you in the right direction.
Thank you! I’d welcome advice on any of the other replies I’ve made so far, and if I have any more specific questions I’ll give you a shout!
If you have a spare solid state drive or a portable HDD (most USB sticks are a bit too slow for a proper install), maybe install a Linux distribution onto that portable device, then you can just boot from that, then you only need to boot switch in Bios to Windows when you need to use it again. This has the advantage of you not needing to setup a complicated dual boot setup. When you are settled in with Linux, open your drive where Windows is located from Linux, copy your files over (don't forget your bookmarks and saved passwords) and then you can clone your linux install from your portable drive over your old Windows install using a tool such as dd.
Thanks for the advice. I plan on adding another internal SSD and installing Linux on that. I should have been more specific in my original post.
You’re saying I can access the filesystem on my windows drive from Linux? So I could directly copy files back and forth? I thought I’d have to copy them onto an external drive, reboot, and then copy to the Linux drive.
The response you got above is the best advice. Get a second internal drive of any type and size, and install distros on that. You totally can partition your existing windows drive and install linux alongside it, but… you’ll probably screw something up along the way and bork your windows install. Use another drive and it’s much harder to do. If you want to be super safe, you can unplug your windows drive during installs and then it’s literally impossible to break your windows drive.
The other advantage is that nobody knows what distro will be right for you. That means you’ll want to distro hop - and that’s so much easier when you have another drive you can just format and start over with (and not worry about your boot loader).
To your follow up question, yes, linux can read and write to the contents of your windows drive. If you mount that drive, then you can do whatever you want to it, including deleting things that break your windows installation.
I used to run Tumbleweed with KDE on my Nvidia system. I found the rolling release structure of Tumbleweed to cause extra work for me, because kernel updates came frequently and occasionally broke the Nvidia drivers. As a workaround, I ended up pinning my kernel to an old version.
Nvidia drivers have been at least a little troublesome on every distro I've used, particularly with the additional CUDA libraries.
One nice thing about Suse is that it uses BTRFS by default, and you can use snapper to revert your whole system if something goes wrong. So if Nvidia shits the the bed after an update, it's easy to roll back. Most distros default to ext4 and do not have snapshot support by default, which feels like living in the stone age to me after using Suse and BTRFS.
Of course you CAN set up BTRFS and snapshots in any distro, but that's a lot to ask for a beginner with Linux. I strongly recommend choosing a distro that does that for you, like Suse.
Hello OP, warm welcome to the schizophrenic community that is linux! I’m running this exact same setup as you intend to.
Couple of points I’d add:
Nvidia and linux is a shit show. You either use the gimped mesa drivers (not so good), or the closed source drivers (even worse), especially on Wayland. If you still want to try it out, I suggest you stick with X11. I was using a 3080Ti and gave up trying to get it to work on Wayland+KDE Plasma v5 without screen glitches and bought a 7900XTX instead. AMD works out of the box without further configuration. I’ve had nothing but issues with Nvidia. For the GPU neckbeards that are going to achytually me, please don’t, I have no skin in this game as I have a bunch of cards from both.
I am not a pro nor expert in the foundations of linux, but I more or less know my way around its fundamentals (enough not to get into too much trouble), so I would actually suggest not getting into a rolling-releasing distro like Tunbleweed until you are super comfortable with a little hands-on and figuring shit out. Pop!_OS might be a better bet for your use case for now because it comes bundled with Nvidia drivers, but it uses a GNOME derivative (cosmic DE) so you don’t actually get the KDE experience.
Having said these, I absolutely adore Tumbleweed and KDE, I’ve been half daily-driving it but the gaming experience is not the absolute best (be prepared to experience weird glitches and crashes). If a flawless gaming experience is non-negotiable to you, stick with Windows. But if you’re ready to explore the quirky wonders of linux, the beauty of it all is the experience and the real reward is the friends you make along the way.
After contemplating for 3-4 years about switching my main rig to Linux, I did it on Friday just gone.
Note for the below, I have a full AMD system.
Technical
Good luck and looking forward to having you on Linux!
If you're planning on gaming, and you have an NVIDIA card, then I would like to recommend Bazzite. I've been using it for months, and I'm very happy with it. Have it installed to my Steam Deck as well as my PC.
The hardest part is when you need to use tools from windows, or to develop a program for that system. Also, many things require good amount of configuration, and with that, expertise at what you doing. I'm currently struggling with solving bug as to why VSCodium will not debug in external terminal.
If you encounter problems you can't find information on, do Ubuntu LTS next and use askununtu.com, help.ubuntu.com and wiki.ubuntu.com. The existing documentation and the largest community is what makes this the easiest option. Once you gain XP for a couple of years that XP is transferrable to Debian.
I can see why you want to dual boot, given your use case. For gaming and MS office, Linux is not better than Windows. That said, Linux is fun to learn and you can experiment and gradually move everything over from Windows.
If you want the absolute easiest transition from Windows, I think Linux Mint Cinnamon is the best. It looks like Windows out of the box and is organized similarly. Its like going to a familiar grocery store where you know where to find the things you need. It is stable, there are rarely any weird conflicts or updates that break the system, and it comes with all the codecs you'll need for media. In terms of installing new software, the software "store" is so simple, it makes installing software much like installing apps on Android (without all the bullshit marketing, of course). Shit just works. Steam, spotify, etc. are right there and install flawlessly. Many Steam games are native Linux and you'll be able to install the Linux version of any game you own. For Windows-only games, you can gradually experiment with Wine, etc. and see how that works for you.
MS Office is obviously the elephant in the room, but office apps are pretty standardized at this point. You can use MS 365 online apps. Or, it is an easy transition from Word, Excel and Powerpoint to LibreOffice. Much more intuitive than using Google apps, for example. Write a few papers in LibreOffice and just save in Word format for submission (although most profs will accept Open Document Format as well, which is also supported by MS Office). Double-check formatting in Windows or the online Office 365 apps if you are worried. It is pretty easy to get used to if you use Office like most people do.
But don't take my word for it. Make a bootable live usb and see for yourself. https://linuxmint-installation-guide.readthedocs.io/en/latest/
@Nokinori www.tromjaro.com/
Focus learning on how to install Arch Linux and use it without breaking. This not just gives you a rock-stable distro, but also the required knowledge on to maintain Linux OS.
Or go with "Ubuntu" level of easiness. You choose. :)