How to choose, install, secure, and use Linux.          Please send any comments to me.

This page updated: February 2019

Windows User Moving to Linux
Test Drive (running a Live session from CD or USB)
Some cautionary experiences with Linux
Things To Do


Layers / variations:
[Mostly from lowest to highest:]
Distribution: Debian, Fedora, Red Hat, Ubuntu, Xubuntu, Linux Mint, openSUSE, etc.
Debian Family Tree (!)
Which turns out to be just part of a bigger GNU/Linux Distributions Timeline (!!)

Some other variations:

Newbie questions:

More-complicated things you can do:

Windows User Moving to Linux

The Ultimate Linux Newbie Guide
Gary Newell's "How To Choose The Best Linux Distro For Your Needs"
It's FOSS's "Ultimate Guide: Getting Started With Ubuntu"
It's FOSS's "Explained: Which Ubuntu Version Should I Use?"
Jack Wallen's "How to Install Software on Linux"
Distro Chooser

Make an inventory of the software and hardware you use on your Windows machine. Write it into a text file; good to have even if you don't move to Linux.

Consider what applications you use most often, and see if Linux versions of those are available. Also look at any truly oddball applications or hardware you use, and figure out how to handle them on Linux.
Bertel King, Jr.'s "The Best Linux Software"

Software I use that's not available for Linux:
[I cut this list way down after I moved to Linux; most things have good alternatives.]

Software I use and what Linux distributions are supported:
[Also cut this back to just the more interesting items, after moving.]

Other software I use that is no problem: browsers, VLC, VeraCrypt, KeePass, uTorrent (although I think I'll switch to qBittorrent), 7-Zip.

Hardware I use:
If you have some pretty unusual hardware, start by checking with the manufacturer, then do internet searches. As a last resort, try links at: Linux Hardware Compatibility Lists & Linux Drivers.

From people on reddit 6/2018:
> What are some things you wished you knew before making the switch?

Not all software that you use will be available for Linux, and DO NOT depend on Wine to run windows programs, it may work fine but it may also crash and burn.

A good thumb rule I found to predict whether a program might run on Wine is to see how complex the installer is, if there is no installer whatsoever (a portable program) its quite likely that it will work, but if you first have to install an installer/launcher/downloader of some sort or something complex like that then I would just forget it and not even try unless its on the gold/platinum list on Wine website.

Try to find Free and Open Source (FOSS) alternatives to every. single. program. that you use, because proprietary options are either not going to exist or not going to be offered by your distribution repository and then you are going to have to hunt them down Windows style and lose one of the benefits of Linux (installing and updating everything from the same source).


There are tons of places online to find linux apps, but luong-komorebi / Awesome-Linux-Software is my favorite list and I take every chance to talk good about it since I learned so many new ones from it:


Get a good backup regime in place.

I use Mint which has Timeshift build in; you can add it to Ubuntu; gives you a Windows system restore type capability.

In addition I use two other backup programs: Borgbackup (deduplicating, v efficient) and BackInTime, for full backups (for redundancy; one to a USB and one to a NAS device).

If you're backed up you can survive any mistake or bad luck. You're not backed up unless your backups are automatic, redundant and (at least one is) off-site.

Computer vendors:

Another consideration: if you usually buy your hardware from a particular vendor (such as Dell or HP), what distributions of Linux do they support ? And can you buy a computer pre-loaded with Linux, or with no OS at all, instead of with Windows ?

If you buy a machine pre-loaded with Windows, does that mean Microsoft knows the motherboard ID and MAC ID and who bought the machine ? Consensus seems to be that MS may know the first two but not the third, unless you actually register Windows to yourself.

I looked at the Dell site: it seems they have a lot of support for Linux, but it's more oriented toward business or server installations. All of their normal machines come with Windows (and thus paying for a Windows license, and maybe sending ownership info to Microsoft). But there is a Developer shop of higher-end machines that come with Linux: Linux ready systems from Dell. Maybe when you order a low-end machine, there is some last-minute ordering option to specify "no OS" or Ubuntu ?

Generally there are good drivers for hardware from all vendors. Exceptions may be if you push the bleeding edge, such as high-end graphics for gaming.

Usually people don't try to get Linux pre-loaded; just buy the machine with Windows and wipe it and install Linux.

Linux Preloaded
DistroWatch's "Linux/BSD Compatible Hardware"

Family and friends:

If you are planning to bring your family and friends to Linux after you use it for a while, what distribution would be best for them ? You might be comfortable with the command-line, but maybe they aren't.

For less-advanced computer users, the choice seems to be Ubuntu or Linux Mint.

From people on reddit 4/2018:

The Ubuntu flavors, especially Ubuntu MATE and right after that Kubuntu, are better than both Mint and mainline Ubuntu IMO. Mint has easier driver and proprietary software installs and great Windows-like configs for every DE, plus their themes are better and more toned down, but Ubuntu is fresher, more secure and has more options.


Mint is Ubuntu with a lot of work put towards making it very user-friendly.

On 99% of desktop and laptop computers Linux Mint should "Just Work".

Everything else will require you to install and/or configure additional software to enable DVD playback, music file playback, and under some distros even basic things like your Wi-Fi.

"Linux Noob" + "Computer Noob" = Linux Mint 100% of the time. Anything else will poison your Linux experience with the frustration of features and devices not working post-install.


I prefer Mint. I gave my mom Linux Mint and she never had a trouble with them. Even my friend thought I was using Windows when in reality I use Mint. They are easy to use and user-friendly.


Ubuntu, Mint, or Elementary OS.

I think the biggest factor for people who want to avoid the terminal is to have a 'app store' like the Ubuntu software store and be really easy to use. Linux Mint has its own app store. You can't install software onto Mint through Ubuntu's app store, but you will be able to install the same programs via Mint's app store. The app stores really are just graphical front ends for the apt package manager.

On Ubuntu, use Budgie or Pantheon desktop instead of Unity.


Linux Mint cinnamon desktop environment best resembles the Windows desktop environment. So if you really like this and don't need to change that, you should pick Mint. Furthermore Mint will offer you some more guidance for beginners. Better update manager, software manager, ppa manager, and driver manager. They also keep putting new stuff in their releases making certain things easier for newcomers. Like the current latest version will also integrate your online accounts better, so that you can navigate your google drive folder in your local file manager for example. And this is all by default, so you don't have to mess around yourself to make something like that work.

Downside is that with Mint you will be using old software. It is based on Ubuntu, and Ubuntu is again based on Debian. On top of that Mint only bases its releases on the Long Term Support variant of Ubuntu. So your OS will lag behind the others quite quickly. This is intentional however, because there will be very little chance your system will ever encounter a problem you have to solve yourself with the command line.


I love Mint as well, but face it - that looks like Windows XP, which some people have never even seen. [Instead] Give Zorin OS a shot. It's very similar to Windows 10 in feel and overall use and absolutely nails the standard UI that almost everyone is accustomed to.

Backward compatibility:

My family and friends still will be on Windows. What happens when I hand them a flash drive used on my Linux system ? I guess I'll have to be careful to format everything removable as NTFS ? I'll have to install the ntfs-3g package for NTFS.
How-To Geek's "What File System Should I Use for My USB Drive?"
Ubuntu's "Mounting Windows Partitions"
Dedoimedo's "GParted partitioning software - Full tutorial"

If I encrypt an external drive on Linux (dm-crypt, LUKS; Ask Ubuntu's "How to encrypt external devices?"), there is a way to use it on Windows (LibreCrypt; t-d-k's "LibreCrypt").

Back to basics: why switch ?

To choose a distro, maybe step back a little: why do you want to change to Linux in the first place ? Windows not working for you in some way ? Don't like the privacy implications of the connection to Microsoft and telemetry ? Older computer that is bogging down under Windows 10 ? Want to learn more about software internals ? Some other reason ? Maybe that would help determine what distro you should go to.

My reasons for going to Linux:
Roughly in priority order:
  1. More privacy from Microsoft.
  2. More control over the system (too many things happening automatically in Windows, and too much bloatware).
  3. Curiosity / learning (want to learn about Linux, get back into programming).
  4. More security (full-disk encryption). [I know I can do this on Windows too.]
  5. Better performance [although more RAM and an SSD would do this on Windows].
  6. More security (smaller software, and less of a virus target).
  7. Maybe fewer bugs (after heavy use Windows Explorer keeps dying and restarting).
But: I'm also tech-support for my wife and her family, and she deserves better security/privacy/performance too, so I need to bring her along to the same OS at some point.

My priorities in choosing a distro:
Roughly in priority order:
  1. Has to work easily and reliably, right out of the box.
  2. Has to have equivalents of all the same major software as Windows.
  3. Has to look/work mostly like Windows.
  4. Has to have a big community for support/answers.
  5. I don't want to spend my time tweaking Linux or hopping among distros or DEs or themes, I want to do my personal stuff in browsers, torrenting, image-editing, video-playing, Java, etc.
  6. Has to be able to do most things in GUI, not CLI (although I am pretty familiar with the Unix CLI of 30 years ago; I was a programmer on Unix).

Gary Newell's "12 Reasons Why Linux Is Better Than Windows 10"

Minor issues:

If you have a lot of foldernames and filenames with spaces in them, it will be awkward to do any Linux command-line operations on them. Maybe fix those before leaving Windows. Or just don't use the command-line in Linux to manipulate them.

BIOS updates from manufacturers may come only as EXE files. To use one, maybe install FreeDOS on a flash drive and boot from that. Or see Dell's "Updating the Dell BIOS in Linux and Ubuntu Environments"

Linux Newbie Guide's "Chapter 3: Choosing a Linux Distribution"
RenewablePCs' "Which Linux distros are the best?"

From someone on reddit 6/2017:
"Fedora is bleeding edge. if you want stability, then go with an LTS distro like Ubuntu 16.04 or CentOS 7."

"Ubuntu has two types of releases, "standard" and "LTS". Releases come every 6 months, in April and October. The Ubuntu version number is in the format YY.MM, i.e. "18.04" was released in April of 2018. ... 16.04 and 18.04 are "LTS" releases, while others such as 16.10 are "standard". LTS releases get 5 years of support in terms of security updates and bug fixes. Standard releases only receive 9 months of updates."

"Mint follows the LTS release of Ubuntu that a new one comes every two years. Basically means that Mint 20 will come in 2020 and until then you get inbetween point releases on the 19 base."

From someone on reddit 4/2018:
"For some reason, all the [distro] reviews on YouTube concentrate on which applications and utilities come installed out of the box. No idea why this is, because it couldn't be easier to open the software center and install whatever you please."

From someone on reddit 4/2018:
"... noob-friendlyness actually comes from the Windows-like looks, GNOME for example resembles more of a MacOS feel, Linux Mint is usually recommended because it resembles Win7, which is more easy to navigate and understand coming from Windows as a simple and average user (like my dad for example) ... I personally doesn't really care for that. I am using Manjaro KDE which is quite Windows-like ..."

From someone on reddit 7/2018:

... Ubuntu has a 6-month cycle, so everything gets updated once every 6 months. Mint uses an LTS base, so everything gets updated once every 2 years ...

> I'm a n00b who was intending to install Mint, but maybe this is
> important enough to make me install Ubuntu instead. And I guess
> derivatives such as Kubuntu would lag, so I'm best off with the
> base Ubuntu ? I don't really care about UI sizzle, so the choice
> of DE isn't very important to me. Does this make sense ? Does Mint
> have other advantages that outweigh the outdated software ?

Kubuntu is 6-month cycle because it's the same base as plain Ubuntu. Same thing with Xubuntu, Lubuntu, and the rest. It's only a 2-year cycle if it's marked as LTS.

The advantage with LTS stuff is that you don't need to touch it for ages which can be convenient for some people. An LTS release will also be more stable than a 6-month release.

Mint itself also has a pretty expertly-crafted default user experience which makes it great for new users or users that want stuff to just work ootb, so that might sway you ...


[from someone else:]

Most people don't recommend non-LTS Ubuntu; it has a reputation of not being very stable. Also, when you have to upgrade your entire system every 6 months you're quite likely to run into trouble once in a while, so especially for noobs it can turn frustrating.

Therefore I would recommend to stick to Ubuntu LTS or Mint, and in this case the release cycle is the same for both. Also, derivatives such as Kubuntu (and even Mint) typically use the Ubuntu repositories directly, meaning they don't lag even a bit behind.

Another thing that's important to understand is that only feature updates are delayed until the next release, but security updates are of course released immediately. So the software may be a bit outdated, but in general it shouldn't be unsafe.

[from someone else:]

Due to Ubuntu's design philosophy, all user programs (except for Firefox and Thunderbird) stay at the [major ?] version-number they were when Ubuntu-LTS first released. This is to ensure system stability, so updates to newer user programs don't break anything.
[Now that I've installed Linux Mint, I find that there are updates available just about every day. So fixes or upgrades are coming out continuously. A couple are date-stamped, and took 2-3 months to get from Ubuntu to Mint.]

The number of alternatives can be confusing:
It's FOSS's "Explained: Which Ubuntu Version Should I Use?"
It's FOSS's "How To Install And Remove Software In Ubuntu"

Distrowatch's "Search Distributions"
From someone on reddit 4/2018:

"Fixed" and "Fixed LTS" are fairly similar - the difference is how long they're officially supported (given security and maintenance updates). Ubuntu 16.04 and 18.04 are Long-Term Support releases, which means they're officially supported for five years after release. (LTR and LTS are, as far as I know, interchangeable terms for the same thing.) 17.04 and 17.10 are Regular releases, and only officially supported for nine months after release. Most desktop users can stick with the LTSes and upgrade straight from one to the other - 16.04 to 18.04, for example - without much fuss. Someone who needs slightly more up-to-date software can stick with regular releases, with more frequent system updates but shorter support cycles. They're both "Fixed" to distinguish them from "Rolling" release distributions, which don't have numbered releases, because you can effectively perform a full system update to upgrade everything to the latest version. This makes Rolling releases great for people who need cutting-edge software and don't mind the risk of having to perform unexpected maintenance.

Most Debian-derived distributions, like Linux Mint, Ubuntu, etc., aren't based on the "Stable" branch of Debian - instead they draw from the more up-to-date Testing or Unstable branches, where newer software versions are available. Debian Stable is largely meant for servers, older hardware, and other situations where it's desirable for software to stay as well-tested and unchanging as possible - it's overkill for most home users, so most of the Debian derivatives opt for newer software.

Summary of some thoughts from the The Complete Privacy & Security Podcast guys as newbies trying out a couple of Linux alternatives in early 2018:

Try to buy a new machine before you absolutely have to get rid of the old machine, and then try out multiple different versions of Linux on the new machine until you find what you like. Then move all your stuff from old machine to new machine.

Their inclination is to choose Debian, partly because a lot of top security guys use it (although I suspect those guys are compiling it from source themselves).


[Interview with a Linux guy:]

Ubuntu and Linux Mint have lots of GUI that shields the user from having to use the command-line. So they're the easiest transition for a Windows or Mac user.

Distributions such as Alpine or Arch will be very command-line-intensive, and installing software will require gathering lots of libraries and such.

Distributions that are "rolling release" are updating often to stay on the bleeding edge, and things break often. A novice user is better off with a "stable release" distribution.

Recommended for a novice user: Fedora or OpenSuse.

SELinux is a secure executive, and Fedora is based on it. But tweaking the security settings takes work, and a lot of people end up disabling it to get various applications to run. But Fedora will have fewer of the less-used applications, or user will have to build them from source. Fedora is used a lot in enterprises.

Ubuntu is the best-known distribution, has a company backing it, usually is what comes pre-loaded on a Dell laptop or such, lots of packages available. And has a "FireJail" product that lets you run an application in a sandbox. And security-profiles called "AppArmor".

Any Debian-based distribution can use FireJail and AppArmor.

For a casual user, getting the security settings right in Macintosh is easier than getting them right in Ubuntu (where they're done via command-line). Macintosh is a bigger target of hackers, but in Linux it's easier to get a false sense of security ("I'm running Linux so I must be safe").

The various Ubuntu distributions mostly differ by UI.

From Rick Rouse's "3 reasons to install Linux on your 'Internet-Only' PC":
"Choosing Linux Mint with the Cinnamon Desktop will give you a very Microsoft-Windows-like user interface and user experience."
[You can install Cinnamon on Ubuntu, although I think it's not officially supported.]
Gary Newell's "5 Reasons to Use Linux Mint and Not Ubuntu"
Easy Linux tips project's "Linux Mint: how to select the right flavour for you"

From /u/Physics-is-Phun on reddit 4/2018:

I think difficulty breaks down like this (and anyone who thinks differently, please tell me why I should think differently, too):

Tier I: (beginner at computing) no Linux experience, very little system administration experience (not a lot of setting up your own user accounts, messing around in program files/"startup" service, etc and modifying what your computer does), does not know what a command prompt is: I'd recommend Ubuntu, Mint, Puppy, etc.

Tier II: (intermediate) some experience messing about with the operating system, wanting to learn more about just how computing as a concept works, pretty comfortable in the command line (especially writing simple scripts to optimize their own experience), etc: I'd recommend things like Fedora/CentOS, Debian, etc

Tier III: (advanced) "GUI? We don't need no stinkin' GUI!" lots of experience messing about in the operating system, knows how to read documentation and mostly can solve problems independent of directly asking other users (except for pretty weird and specific problems), comfortable enough to practically live in the terminal: Arch, Gentoo, Slackware, etc

Tier IV: (God mode/ludicrous) are essentially a kernel developer, or could be a volunteer as one; writes code for a living, tons of experience troubleshooting their own troubles and possibly writing their own fixes, etc: Linux From Scratch (you're basically just given the kernel and you put the rest together yourself - it's as close to the Arch kind of philosophy as you can get, except even Arch gives you some basic tools so you can get the install working more easily, from what I understand).

Honorable mention: there's specific distros that are designed around particular special interests. SteamOS, for example, is built around Steam. Qubes, Whonix, and Tails are built around privacy/security/anonymity. Kali is built around penetration testing (use this one in a way you're not supposed to, and you could be breaking the law, though I guess that could be said about any OS, but this one has tools designed to break cyberdefenses).

From /u/OzarkShepherd on reddit 4/2018:

The Debian developers are serious about open-source, which means that all manufacturer drivers that aren't open-source are disabled by default. ... All proprietary or non-free drivers have to be manually enabled in the sources list, and then manually installed.

Debian stable branch also may use older software, depending on how recent the stable was released. So the kernel that is in the stable release might or might not work with newer hardware like the Ryzen cpu. With newer hardware you would benefit from a newer kernel released after the hardware came out. Ubuntu is bigger in popularity even though it is based on Debian because it comes with more drivers (or firmware in Linux) so more hardware will work from the start as long as you check the mp3/proprietary firmware box during installation. So unless you don't mind spending more time chasing down hardware problems then Ubuntu will be faster and easier to set up.

If you are concerned about bloat in Ubuntu, and the Gnome and Kubuntu versions do come out with a lot of bloat to be more user-friendly to more people, you could try Xubuntu, KDE Neon, Lubuntu or of course you can dive right into Arch.

For gaming, the Linux version of Steam is developed with Ubuntu in mind. So anything Ubuntu, or based on Ubuntu like SteamOS or Linux Mint, will be easier to get games to work on. For example Civ VI works immediately after installation on Ubuntu, but takes some work on getting the right dependencies on Arch. It can be done in most cases on Debian or Arch, but it takes more work.

From /u/mdaffin on reddit 4/2018:

I always recommend people start on Ubuntu (or one of its flavours) - it is by far the most-popular and best-supported distro out there and generally, you will be able to find someone that has already had and resolved any problem you will face with it. It also supports most of the main desktop environments so you can quickly install a switch between them to find the one you like the most. [Someone else says: have only one DE installed at any one time; don't install multiple.]
From someone on reddit 6/2018:
You can put dozens of DE's in the same OS install but it's stupid to do so because you end up with duplicated software cluttering up your menus. One DE might use Thunar as the FILE MANAGER and another Nemo, another SpaceFM, or Caja or PCManFM, Konqueroe, Nautilis, Dolphin or Krusader etc ... they all do the same thing and you need only 1.

An idea of what Mint adds/changes relative to the Ubuntu it is based on:
Abhishek Prakash's "5 Reasons Why Linux Mint is Better Than Ubuntu"

From /u/AiwendilH on reddit 10/2018:

> There are heavy desktop environments like Gnome and KDE.
> And there are lightweight alternatives like XFCE, LXDE and LXQT.
> So what are the extra features offered by Gnome/KDE/Cinnamon apart
> from eye candies and accelerated 3D animation effects using the GPU,
> that make users choose them?

Heavy-/lightweight categorization is not so easy, for example in memory usage Plasma and xfce only differ in about 50 MB ... less of difference than xfce and lxde. There aren't many "tests" beyond memory consumption, hardly anything on power consumption or CPU usage. So first off, best ignore voices trying to categorize DEs that simply ... it's more guesswork than anything substantial.

Then DEs have to be separated into their "shell" and their framework. What you ask about is probably the the shell, how a DE looks to a user, what tools are available, how it acts, how it can be controlled.

The framework part is not something you as user really can have an influence on. You have no choice in the matter what DE frameworks an application uses, that's a decision application developers do. Framework libraries contain stuff usually not visible for users but important for applications like gnome's dconf system or KDE's kconfig as framework for saving application config data. No matter what DE shell you have installed ... the framework libraries of other DEs will still work. Meaning ... if you use gnome but also krita you will need some KDE framework libraries as those are how krita saves its config, loads images, displays some gui elements ...

So as user your only choice is selecting an appropriate Desktop shell for your workflow. And here are huge differences between the DEs and why some people select one of the other. Things like:

From someone on reddit 11/2018:
[For "lightweight":] Focus on the Desktop Environment, not the distro. I would suggest a distro with LXDE (like Lubuntu 18.04) or LXQt (like Lubuntu 18.10).

RenewablePCs' "Desktop Environments for Linux"

How to move from Windows to Linux, and how to choose your first distro:
[I'm a Linux n00b who has no business pronouncing about this stuff, but here goes:]

  1. Take inventory:
    • What software are you using on Windows ?
    • What unusual hardware are you using with Windows ?
    • Is your computer slow and old and limited ?
    • Do you want to bring family and friends to Linux later ?
    • What do you want to do on Linux (browsing, gaming, word-processing, programming, etc) ?
    • Do you care about a pretty UI ?
    • Do you care how Windows-like the system will be ?
    • Why do you want to move to Linux ? More privacy, more control, programming, curiosity, Windows is crashing, what ?

  2. Flowchart for choosing your first distro:
    • If you want to do gaming: you might be better off staying on Windows. Check to see if any of your favorite games have Linux versions.
    • If you want something that looks like Windows and is very easy to install, choose Mint or Ubuntu.
    • If you want something that has lots of people supporting and using it, choose Mint or Ubuntu or Debian, maybe Fedora.
    • If you want something that has paid company support, choose Red Hat ?
    • If your computer is slow and limited, choose Xubuntu or Lubuntu or LXLE or Elementary ?
    • If you want to dive in and learn the guts of Linux, choose Arch or Debian. Maybe ease into Arch by using Manjaro first ?
    • If you want to be on the cutting edge of new Linux features and fixes, choose Fedora or Debian.

  3. Make a Live Session of your chosen distro on a USB stick and boot from it, and see how you like it. If you have some critical hardware or software you can't live without, see if it works on that distro.

[I'm sure plenty of people will scream that I didn't mention their favorite distro. Can't mention everything, and trying to stick with pretty mainstream stuff.]

See also Looking at Other Distros section.

Test Drive (running a Live session from CD or USB)

This section assumes you're running Windows, and creating a USB that will run a Live session of Linux.

A Live session (running off a USB flash drive, or external hard disk) can be "persistent" or not. "Persistent" means any changes you make (new files created, settings changed, etc) are preserved across reboots. Of course if you're booting from a read-only medium (CD or DVD), you can't have persistence.

[Maybe unless you make some tricky mods,] This isn't going to load proprietary gpu drivers, so will be no good for testing games in many cases, and the experience overall will be slower.

From /u/Im-Mr-Bulldops on reddit 5/2017:

Pick a newbie/popular distro like Mint or Ubuntu (or one of the derivatives [Kubuntu, Lubuntu, Xubuntu, etc]) and install it to a flash drive to test it out. They're designed to be easy to use and come with plenty of community support for any and all problems you might have.

Start by making a live USB:
After you figure out which distro you wanna use, look up a guide on how to install it on your hard drive. They're all very straightforward and they should come with pictures so you can easily see exactly what you need to do. Since you're just starting, I would suggest trying a dualboot. That way you've still got Windows if you need it (eg: for a Windows only app).

Chris Hoffman's "How to Create a Live Ubuntu USB Drive With Persistent Storage"
Gary Newell's "How To Create A UEFI Bootable Linux Mint USB Drive"
Gary Newell's "How To Create A UEFI Bootable Ubuntu USB Drive Using Windows" (but says it will work for BIOS systems too; also explains how to make the Live USB system persistent)

Bob Cromwell's "Getting Started With Linux"

My experience 4/2018:
  1. Bought a 16 GB flash drive.

  2. I'm running Windows 10 64-bit, on a 5-year-old Dell Inspiron laptop.

  3. Downloaded Linux Mint 18.3 Sylvia Cinnamon 64-bit from Download Linux Mint. Used a torrent client to do it. 1.8 GB.

  4. Didn't bother to verify signatures of the image.

  5. Downloaded Etcher and installed it.

  6. Plugged USB drive into computer. It's FAT32, empty, 14.4 GB free.

  7. Ran Etcher, selected ISO file, it found my USB drive automatically. Flashing image to drive took about 10 minutes. At the end, the drive was unmounted, I assume because it's no longer FAT32. Unplugged the USB drive.

  8. I want to make the Linux live session "persistent" (remember settings, install applications), so I downloaded PDL Casper-RW Creator, ran it and plugged in the USB drive again. But it says I have zero free space on the USB drive, so it fails. Doing a Windows "Properties" on the USB drive (which does appear to be mounted now) shows FAT filesystem, total capacity 2.25 MB, free space 22 KB ! One top-level folder named "efi". Sent a message to the company asking for help.

  9. Left USB drive plugged into computer, and shut down Windows. Powered on and held/pressed F12 key, and got BIOS "Choose boot device" menu. Chose USB device, got a Mint bootloader screen that said "booting automatically in 10 seconds". Counted down, then booted to Mint desktop in less than 30 seconds. No login needed.

    Everything looks good, internet connection is working (I have wired Ethernet), Firefox available and working. UI is very much like Windows 10, very familiar. Not able to see how much space is used and free on the USB flash drive, either via "Properties" or "GParted".

  10. Selected Shutdown in Mint. It said "unplug the Linux boot device", I unplugged the USB drive, and the laptop powered off in less than 15 seconds.

  11. Powered on, didn't touch anything, and Windows booted as usual.

  12. Found Chris Hoffman's "How to Create a Live Ubuntu USB Drive With Persistent Storage". So, downloaded Linux Live USB Creator (LiLi), installed it, ran it.

    Selected USB drive and ISO file, and it took a couple of minutes to check the ISO file, and gave error "this file is not in compatibility list". Tried to slide Persistence slider all the way to the right, but it's showing zero free space.

    Went into Disk Management, and looks like my USB drive has 3 partitions: 1.76 GB unallocated (where the ISO file went), 2 MB EFI system, 12.65 GB unallocated. Nothing I try gets rid of the 2 MB partition in the middle, which is screwing up everything.

    Downloaded EaseUS "Partition Master" and installed it (declining offer to install McAfee). Managed to delete the partitions on USB, and create one big partition FAT32. Made it a logical partition, and maybe that was a mistake. Now USB drive doesn't show up at all in list of disks.

    In fact, ALL of my external USB drives do not show up as a drive when I plug them in. Tried another flash drive and an MP3 player. All don't show up. Hosed.

    Eventually found that they ARE appearing in Device Manager under Mass Storage Devices. So I figured something in the USB virtual drivers is messed up, tried deleting them (and they re-appear). Still not working. Shut down a couple of times, powered on again, tried lots of different software, nothing.

    Finally, did a restart (which rebuilds the Window system image) instead of a shutdown, and that fixed it. USB devices work again. And the 16 GB drive seems okay now.

    Ran LiLi again. USB drive shows up as one partition of 14.4 GB free. Was able to put Persistence slider all the way to the max, 4090 MB. Turned off all options in step 4: "Hide created files", "Format the key", "Enable launching in Windows". Started flashing. It took about 10 minutes, then another 15 to do the persistence file. LiLi opens a web page to tell you what to do next; I closed that and quit out of LiLi.

    USB drive is left mounted in Windows, and it's FAT32 and showing a dozen or so files and folders on it. I used the tray icon to eject it cleanly.

    After all that, tried to boot from the USB drive and got nothing, black screen. Maybe LiLi produces a drive that only works with UEFI ? Or it just doesn't work with Linux Mint 18.3 Sylvia yet ? Sent a message to the LiLi people.

  13. Downloaded Universal USB Installer and ran it. USB drive still shows as one partition of 14.4 GB, so no need to mess with that. Slid Persistence slider to max, 4089 MB. Writing took about 25 minutes. USB drive still mounted in Windows when done.

    Linux booted fine this time, although it took longer than the non-persistent system, about 10+60 seconds. Created a text file in Documents to test the persistence. Noticed that I have my Android phone cabled to the laptop, and Linux sees it and can access files on it. Shut down (which also took 60+ seconds), booted again, stepped away for a minute, and came back to find a black screen, hung boot I guess. Powered off, booted again, it came up fine, text file is there so the persistence works. Internet works, Firefox works. Shut down, removed USB drive, booted to Windows, all fine.

  14. more ...

Lessons learned: use Universal-USB-Installer, and if necessary EaseUS "Partition Master"

My experience 8/2018:
  1. Using Dell Inspiron N5010 laptop running Windows 10, with wired Ethernet.

  2. Downloaded Linux Mint 19 Tara Cinnamon 64-bit ISO from Download Linux Mint. Used a torrent client to do it. 1.8 GB.

  3. Didn't bother to verify signatures of the image.

  4. Read the Release Notes at Release Notes for Linux Mint 19 Cinnamon; they have some important info. For me, mainly something about Synaptic touchpad driver (my laptop has Synaptic), and log in to Live session as mint/nopassword. And "Benchmarks have demonstrated that, in most cases, home directory encryption is slower than full disk encryption."

  5. Also read the Ubuntu 18.04 Release Notes at Ubuntu Wiki's release notes for Ubuntu 18.04.1 LTS (Bionic Beaver).

  6. Plugged USB drive into USB port. Appeared in Windows as drive E:.

  7. Downloaded Universal USB Installer and ran it. Selected "Linux Mint", selected the ISO I downloaded, selected drive E:. USB drive still shows as one FAT32 partition of 14.4 GB, so no need to mess with that. Slid Persistence slider to max, 4089 MB. Clicked Create button. Writing took about 20 minutes. USB drive still mounted in Windows when done.

  8. Left USB drive plugged into computer, and shut down Windows. Powered on and held/pressed F12 key, and got BIOS "Choose boot device" menu. Chose USB device, got a Mint bootloader screen that said "booting automatically in 10 seconds". Counted down, then booted to Mint desktop in less than a minute. No login needed.

    Everything looks good, internet connection is working (I have wired Ethernet), Firefox available and working. Created a text file in Documents to test the persistence. No need to install Synaptic touchpad driver, but I did it anyway. Logged out, had to log back in as mint/nopassword.

  9. Selected Shutdown in Mint, and the laptop powered off in less than a minute.

  10. Unplugged the USB drive, powered on, didn't touch anything, and Windows booted as usual.

  11. Tried to get my encrypted WD My Passport external hard drive working in Linux. Plug it in, it shows up in list of devices, can see files on the unencrypted partition of it, but WD provides no Linux utility, so nothing more to try there.

    Went online and found KenMacD's "wdpassport-utils", but I can't figure out how to install it. Requires Python, and I verified that Python 2.7 is installed. Maybe I just copy-and-paste the text from GitHub ? But no info about the directory structure needed.

    Went on reddit and got some help. Back into Linux, got the code from GitHub onto my disk, fixed a package name that had a wrong character in it, got the drive unlocked and mounted ! Was able to read and write it. Back to Windows and the drive is fine, file I created under Linux is valid under Windows.

    GUI utility in that package failed. Figured out some changes needed. Back into Linux and tried them. No go. Asked on reddit, found out package to install. Did so and got the GUI utility working.

  12. Noticed that Linux automatically found and mounted the Windows OS partition ! Direct access to all of my files in Windows. But I think they're read-only.

  13. Played an MP3 file off the Windows partition and it worked. Viewing a JPG from there works. Wired ethernet works, Wi-Fi works.

Test that Linux works okay on your hardware. If you can play a video from YouTube and hear the audio, you've tested 99% of the hardware and software. Also try: accessing USB drives, printing, sound recorder.

Some cautionary experiences with Linux

/u/sng_shivang's "Why I came back to Windows from Linux?"
Christopher Shaw's "My Adventure Migrating Back To Windows"

Gamers may have a tougher time with Linux than with Windows. Vendors target the biggest market first and best.

Same for video-editors and such.

Open-source software may be great, or may have one guy working on it occasionally and be really hit-or-miss.

From someone on reddit 4/2018:
> I'm sorry it's a bit of a rant and I might sound like
> a noob to you all, I'm really disappointed and not in a
> good mood at the moment. I've been using Linux only for at
> least 6 months and I've been in love with it when I decided
> to make the switch for good ... and I'm beginning to think
> it sucks. Tonight I had to do a simple slide-show for a client
> and I used mostly Shotcut but I tried Openshot and Kdenlive
> and the three of them was horribly buggy and a nightmare ...
> I really didn't enjoyed my experience and it pissed me off.
> I do not understand, most of those softwares have been in
> development for years and they look like in beta phases or as
> if only one person worked on it, but there's a big community
> and I keep seeing donations for open source I don't think money
> is really an issue. As for bugs I didn't even try to break them,
> they struggled with tasks such as fade in and fade out, transitions,
> adding texts, very basic stuff, I had to restart Shotcut like
> 4 times because it couldn't add the pictures on the timeline,
> and it's a well-known bug that is from around 2016. I'm on
> Ubuntu Mate and everyone says Ubuntu is a stable distro for gaming
> and doing work so I installed it. The only softwares that are
> stable to me is Blender, Krita, Gimp, Inkscape and Godot. As for
> Gimp it really is very powerful but there are some tools that are
> missing that Photoshop has, and if I go for the latest version
> it's very slow and not usable. I do a lot of multimedia and I
> don't think I will survive ... There's Natron, Fusion 9 that I
> didn't used yet but they are compositing softwares, I don't think
> I can do a lot with them as for video editing. It's already hard
> to not be able to play recent video games, if it also removes tools
> for working and being creative there's just no point to stay or to
> suggest it to anyone.

I think you have a wrong picture here. Most open-source projects indeed have only one (or very few) developers working on them, and get very few (if any) donations.

Ubuntu is mostly stable in the sense of "let's not change it after the release". That's great to avoid introducing new bugs, but not so great to remove old bugs.

From /u/BlueGoliath on reddit 9/2017:

As someone who previously used Windows and now uses Linux for 90% of my time now: If you are going to switch to Linux, be ready to deal with bugs, piss-poor UI design, hardware incompatibilities, and other issues.

Despite what you hear on tech sites about how great the Linux community is, it really isn't. If you complain about Linux you are most likely going to be met with one of the following: Yeah it sucks but that's the current mentality of the Linux community. Be ready for it.
[Re: "piss-poor UI design": probably not a problem if you spend most of your time in a browser, desktop, and a couple of major applications.]

From /u/OnlyScar on reddit 3/2018:

Around 6 months ago, I made the move to Linux. I am not a gamer, so it was easy for me. To make the experience more authentic, I installed linux on my main machine and didn't dual boot Windows. It was only linux for me. It has been an interesting journey, but sorry I can't take it anymore. Please note that I am strictly speaking as a non-developer, non-geek but a "power user". My reasons might not apply for developers and very technical users. Below are the reasons am going back:

1) Windows vs Package Manager Repo System : Repeatedly I was told that the software repository and package manager system of linux is much superior than the Windows system of downloading .exes from developer sites. This is such a lie that it's not even funny. The reason: age of software. Win32 .exe softwares get updates independently from the base OS. You can use Windows 7 and guess what, your favorite softwares will all run at the LATEST version. I repeat, you can use Windows 7 and your Blender and Krita will be at the latest version. What the version of Blender and Krita on Ubuntu 16.04 or 14.04? Is Ubuntu 14.04 even usable for normal desktop use anymore, consider its software repo age? And no, am not using any rolling distro or Fedora because their stability doesn't hold a candle in front of Ubuntu, mint, debian stable, win 10 or macOS. Also I shouldn't have to upgrade my OS just to get the next version of software. This is absolutely unacceptable and ridiculous. The fact that my softwares stays fully cutting edge, up to date on Windows while the base OS stays same is extremely important.

2) Security and BSODs etc : Contrary to FUD, Windows 10 is actually very secure unless you want to download softwares from You DO NOT need a separate antivirus, Windows Defender is now enough. It runs like a dream on most hardware. And Windows do NOT force upgrades in the middle of work. BSODs have long been a thing of distant past. Basically am saying that repeatedly using the boogeyman of security, bsods etc isn't working.

3) Atrocious Desktop Environments : My main reason of ditching linux. Linux DEs are such a sad joke compared to Windows (or Mac) DE that it is not even funny. Let's start, shall we:

i: GNOME: The DE suffers from MEMORY LEAK for god's sake. Performance is pathetic, much much worse than Windows 10 or mac DE. This is also the main default desktop of linux world, which actually says a lot about linux. It's absolutely unthinkable for us to even use a DE which suffers from extreme memory leak, and developers doesn't even shows any intention of fixing it. It is just unthinkable on Windows. Gnome is also unusable out of the box, and you have to use random 3rd party hack job extensions just to get a basic fully functional DE. You need to download a software to get simple minimise button. Simply Unbelievable. And you guys, like a bunch of callous users, continue to support it and use it while happily doing ALT+F2 -> r. Lame.

ii: KDE - So, so many small random but crucial bugs that it is really impossible to list them all. They try to emulate Windows, and does a pretty poor job. For example, just use the "hover option" on KDE task bar. See the quality of preview. Does KDE devs even know how important that single function is? Small random bugs like this simply makes it inferior to Windows DE.

iii: XFCE - Thanks, but no thanks. Its 2018, not 1998. No hover option btw. Too basic and limited.

iv: Cinnamon - Too strongly tied to Linux Mint, a distro indulging in many questionable practises. Bad aesthetics. What up with that huge square-like menu? And why does the menu size increases when I add favorites?? It's already too big anyway. It just looks like a cheap rip-off of Windows XP.

v: Mate - Still too basic compared to Windows.

vi: Tiling windows managers - Unusable and irrelevant for non-developers, non-geeks.

Anyway, for me default DE matters. Even if the perfect DE exists somewhere in the wild, if a distribution chooses a subpar DE, it says a lot about them and their focus on user-friendliness. And since most of the linux world has enthusiastically opted for Gnome 3, a pathetic subpar incomplete DE, it says a lot about you guys.

4) Sickening Hypocrisy of the Community : Let's start, shall we - i: Saw multiple caustic rants about how MS Windows 10 provides a poor inconsistent UI because of 2 settings menu (legacy and metro). And you guys say this while primarily using a piece of jewel like Gnome 3. /s ii: Linux is all about control. Just don't expect a fcking minimise button by default on popular DEs like Gnome and Pantheon. OK got it. iii: The arrogance and know-it-all attitude of gnome devs and elementary OS devs will put the arrogance of MS and Apple to shame. But i guess that's okay cause they are your own. iv: Continuously compare Windows from 2002 to Linux from 2017 and try to prove your point about how linux desktop is superior. Continuously attack MS for telemetry and control and while happily using Google services and FB. Giving Apple a pass cause they are unix. The list goes on and on ...

5) Last but not the least, atrocious softwares - Yeah guys, accept it, LibreOffice and GIMP sucks balls compared to MS Office and Photoshop. Krita gives MS softwares a run for their money, but LibreOffice and GIMP are simply cringy embarrassments. You will get fired if you dare to make a presentation with LibreOffice Impress in a corporate environment. It is so bad. VLC Media Player is out right bad compared to Pot Player on Windows. Nothing on linux compared to MusicBee on Windows. I won't even embarrass you guys by talking about JRiver Media Center. Most linux desktop softwares simply lacks the features, polish and finesse compared to their Windows counterpart.

And no, it is not MS or Adobe's fault that those softwares are not available on Linux. You guys continuously rant about evil proprietary software. Upstream major distros like Debian and Fedora doesn't even include proprietary softwares in their main repo. Then why should proprietary software companies release their softwares on linux? What sort of a weird entitled demand is that? Why should proprietary software companies accept second-class treatment on linux and hear some caustic remarks from Gnome devs and Debian greybeards? It was up to you guys to provide a real 1:1 alternative to MS Office, Photoshop and various other proprietary softwares, and you guys failed.

And yes, hardware support and display quality is much better on Windows. The fault again lies with Linux. If you treat proprietary drivers and firmware as second-class citizens, don't expect hardware developers to go out of their way to support Linux. That's an unfair demand.

Bye. After experiencing Linux, my respect for Microsoft and Windows 10 has increased by a 1000 times.

IMPORTANT EDIT - REASON FOR WRITING THIS POST - This problems have bugged me since the beginning. But I came to linux at a tumultuous time, when Ubuntu has abandoned Unity (so Ubuntu Unity 16.04 is a dead horse), and Ubuntu 17.04 and 17.10 are only interim releases. So I cut linux desktop and Canonical some slack and waited for the next LTS. Today I tried Ubuntu 18.04 Beta and guess what? Lo and behold, the glorious memory leak is still present. And my head just exploded in rage. :/ So much effort, so much time spent tweaking, so much distro hopping, so much anticipation to permanently shift was all for naught. That's why I made this salty post.
From /u/UncleSneakyFingers on reddit 3/2018:

I have the same experience as you. This is my first comment on this sub, but a lot of users here are living in their own universe. I see so many posts on the various Linux subs describing issues that are simply unthinkable. Windows just works, Linux just breaks. I still try learning Linux though just to increase my skill set. But going from win10 to Linux is like going from a Mercedes to one of those old cars you have to hand-crank to start up. It's just ridiculous.

So many users here are willing to spend an entire weekend fixing an issues with their Linux setup, but give up on Windows the first time they f*ck up something basic and get an error message. This sub has really turned me off from Linux in general. When they talk about Windows, it's like one of those infomercials showing someone trying to crack an egg and having it explode all over the place. Just ridiculous exaggerations with no bearing of reality.
From /u/tonedeath on reddit 3/2018:

... The most important point that he made (in my opinion) is that if you install a distro like Ubuntu 16.04.x LTS (a distro that is supposedly designed for non-techies, non-geeks, non-developers, you know regular computer users), a lot of the software in the repos is not the latest versions of things. If you want to run the latest versions, you probably end up Google-ing and finding out how to add PPAs. This is not hard but, it takes more effort and learning than downloading installers on Windows or Mac and then getting update notifications. Why should a user of any current version of a desktop distro not at least be offered to be updated to the latest version of apps? It's a valid criticism and it should be listened to and addressed. ...
From /u/knvngy on reddit 3/2018:

The Gnome thing is an embarrassing. Looks like amateurish I don't understand what's going there in the Gnome HQ.

But truth be told: Linux has never been really polished, optimized and focused for desktop. The focus on Linux has been: servers, IT networks and now embedded/mobile, where the money is. In the desktop department Linux is OKish it can be used just fine, but I would agree that macOs and even Windows are better in that department.

From /u/ThePenultimateOne on reddit 3/2018:

Bluetooth audio is a pretty messy scene on Linux. For a long time I couldn't get any headset to work consistently on Kubuntu. You would have to go through this painful connect-disable-disconnect-connect-enable loop every single time.

Now I have things working on Fedora ... except for my laptop, which now consistently gets very out of sync. It didn't do this a month ago. It didn't do this on a previous version of Fedora. The whole thing sucks.

From /u/AlejandroAlameda on reddit 3/2018:

Once every few years, I try to give Desktop Linux another chance just for the kick. Here's my recent experience with Linux Mint 18.3. Enjoy :) Installing Mint on real hardware then went quite smoothly, but:
From /u/MaxPayneNoir on reddit 3/2018:

And this is exactly why Linux desktop share is still ~2-3% (and not because it doesn't come preinstalled on laptops, as Torvalds instead assessed: ChromeOS is an already popular Linux only because it "just works").

Not that Linux doesn't work, it works perfectly (significantly less troublesome than Windows and macOS, efficient, lightweight, secure, performing, versatile, free, portable, privacy-keeping and well documented), but you need to learn how to use it. And relying on GUI stuff only is not the right way of using it. Linux is CLI. You may use Graphical apps all the day long, and that's perfectly fine, but system administration, configuration, maintenance, and troubleshooting requires you to type commands in a terminal or on a virtual console. And most people don't like the idea (or are too afraid) of getting their hands dirty on terminals.

Here lays the explanation for the fact that all the people I know who attempted Linux (even ~ 10 engineering, physics, IT, computer science students forced to install it by University) but a single guy, dropped it after a while.

However if you bear it for the first 6 months you'll get accustomed to it, start appreciating it better and see reality for what it is, and probably never look back.

From /u/theth1rdchild on reddit 4/2018:

Hey everyone,

I've been using Windows since I was 4 in 1993. We had a Windows 3.1 box. I've worked in IT for a decade and I still do, but I have next to zero Linux experience.

How ... how does anyone do this? I tried to install Ubuntu server 16.04 raid 1 and every single step from partitioning on required googling and a restart of the entire process. I tried for eight hours just to get a bootable system on raid 1 and things just kept going wrong. Half the information I was looking up contradicted itself, documentation is incomplete and advice is anecdotal and missing important information. Screw it, I thought. I'll install desktop and get used to it before doing crazy stuff. Raid 1 was kind of a nice but not necessary thing. Surely a regular desktop install will allow me to learn and I can try again in a few months.

But holy sh*t, every single thing I want to do that would be as simple as "Google thing I want, Grab newest version from their website, Install or launch the exe" in Windows is a tedious stress-inducing headache in Linux.

As example: Google for a program to show sensor output like temperatures. Open hardware monitor looks cool. Oh it has dependencies. I don't know what mono is. Will it take up a lot of space or break anything else? Sh*t, I don't know. Oh, this forum post has another person trying to learn Linux and he wanted to use this program. Everyone is being rude to him. Oh, Linux can't interface with open hardware monitor very well. Why the f*ck was it the first answer on Google? There's no hardware sensor app like hwinfo for Linux? Okay, I'll search the Ubuntu apps for a temp sensor at least. There's only one. The only notes say that it needs something assigned in terminal to work. Why the f*ck doesn't the installer do that? Oh well, now I typed what it said to in terminal and it didn't take. I don't understand why. Oh, the official page on the app is misspelled for this command and I copied it directly. Okay, FINALLY I have a temperature sensor. And it doesn't display anything beyond the current core temp. Great.

As opposed to: "Google temp sensor. Find speedfan or hwinfo. Install. It runs."

Is the problem me? Is my windows brain just too stuck in a rut to understand why all this tedious BS is necessary?

I think at the least I need a decent explanation of why these are so different so I can maybe understand and work within my limitations better. Any guides I've followed are very straightforward "do ___ then do ___" so I haven't really learned anything about why Linux is the way it is, which seems necessary to functioning in it.

Thanks to anyone who read all that and can help.

From /u/zincpl on reddit 4/2018:

I just had to set up Linux on my new machine for work, took 4 different versions before it would actually install then started booting to a blank screen when I installed the software I needed, took me 2 days of non-stop frustration but now I can finally do something productive.

Basically IMO Linux shouldn't be compared with Windows or Mac, it's made by engineers for engineers, it's not designed to be user-friendly, rather it's designed to give power to the user and assumes the user knows what they're doing.

It really sucks that there isn't really anything between over-priced and underpowered macs with *nix power and free-but-held-together-with-duct-tape linux.

From someone on reddit 5/2018:
So I stopped using [pirated] Windows a year ago since it was problematic. Buying is not an option. So I switched to Linux since it was free, open source, and I am a Science student so I thought it would be pretty useful. A year have passed and I am still a noob (was very busy with my exams already, learning Linux would have been a burden). I have a Dell Inspiron Laptop with Intel HD Graphics 5500, 4 GB RAM and 1TB Hard Disk. I have been switching distros and these are the experiences so far:
  1. Ubuntu 16.04 - Was good but it was a little slow. Plus it wouldn't detect my headphone half of the time.

  2. Elementary OS - Was extremely slow. Took 30 minutes just to boot to login screen.

  3. Return to Ubuntu 16.04

  4. Switching to Ubuntu 16.04 Budgie Remix - Was good. Better than the default Unity both in looks and performance.

  5. Ubuntu 16.04 Xubuntu - Thought this would be lightweight, so installed it. The performance was OK and the look was really bad.

  6. Ubuntu 17.10 - tried to install. My laptop crashed. Couldn't even get past booting screen.

  7. Switch to Ubuntu 16.04 - Performance became slower day by day.

  8. Ubuntu 16.04 Lubuntu - thought that my laptop is low spec, so why not switch to the lightest distro? Well, surprise, Lubuntu encountered issues. The screen flickered often, especially when coming out of suspend.

  9. Finally, now I am in Linux Mint 18.3 Sylvia - The performance is OKish, lags sometimes, hangs out of nowhere.

I will not talk about gaming experience, but in short it is awful.

So, those of you who are new to Linux, this is my message: be cautious before installing Linux and understand Linux very carefully. Linux, as an interface for personal use, is terrible.
Some advice: Slow down on switching distros, and find out where your performance bottleneck is by looking at your system usage. It could be the drivers you're using, or applications that aren't properly optimized to run on your OS. Dell offers some Linux driver support; look into that and see if you can replace some of the generic ones with Dell's suggestions.


Sounds like some poor configuration or hardware interaction (5400 rpm disk?)


The slowdowns and hangs are probably something to do with the disk. At a guess is it made by Seagate? They just love to stalls for ages.

The other obvious hang is after doing a large disk write then flushing it to disk. There is a few turntables for this. I wish the distro's would fix these by default. Which is to limit the dirty cache relative to the performance of the disk.


Your problems are originating from "Intel HD Graphics 5500"

From people on reddit 6/2018:

Re: Windows vs Linux:

Over the course of the past ten years, I have tried Ubuntu on three separate occasions, on three separate laptops. Each time, I ended up going back to Windows because I couldn't get Wi-Fi to work.


Linux is great if you're a dev. I've found that it hits hiccups any time you are trying to do something a bit more consumer oriented, and have to interact with the world of Windows and OSX systems, as well as proprietary software.

Linux was also so customizable, and you could set up some pretty impressive desktop environments, however if something went sideways it would be quite a bit of work to get it sorted. ...


Windows just works.

Linux is buggy and unstable, regardless of what people say (I'd rather use OSX over Linux everyday).

I've tried Linux multiple times and distros and never takes more than a day to find a major bug on the system or a problem with software.


It depends heavily on the hardware, just like Windows. It's also heavily distro and version specific. I haven't been able to get Fedora to boot from USB without failing in 10 years, but Ubuntu runs every time.

Laptops are another issue ... if you want a Linux laptop, you're best off buying one from System76, Pine64, or Dell/HP with Ubuntu pre-installed. Wireless support has always been iffy if you try to install it on a laptop that was designed for Windows.


As someone who uses Ubuntu quite often - The Non-LTS releases are effectively betas. The newer, bleeding-edge ones are there for those who want them, but you're a lot more likely to find bugs outside of the LTS release.


[Currently with LTS] the Ubuntu Store doesn't even work, as a major bug but was reported on their channels.


I used to use Linux as my main OS. What happened is that I found I was needing to go into Windows more and more because of the lack of support of programs and hardware I needed for working which became a much more present issue in my life as I got older and spent less time casual computing. There were a lot of alternative software options for Linux but I found most of them to be unpolished and buggy. If you're okay and enjoy the whole troubleshooting aspect, then Linux might be right up your alley. I got to a point where I just wanted everything to work though and spend less time trying to make it work myself.

From someone on reddit 6/2018:

Linux can often break more frequently than Windows - no one likes to hear this and I'm sure people will say the problem is the user etc etc.

esp for rolling release distros, or point release when you do e.g. dist-upgrade, and other times with just regular updates, things can break.

With Linux it then becomes a cycle of 'hope you can find the answer on google, try it in terminal, see if its fixed, try something else' unless you are an expert. This is because of package dependencies in Linux, if you break one others break too. Often you can need to compile from src etc.

Windows has its own version of dll hell, but each program gets its own dependencies managed via WinSxs so you can't get global breakage due to a package. People will tell you that Windows Updates can cause problems but that's really rare - they can be slow though.

You get all the benefits of open source, choice, no ads etc but lets dispel a myth - Linux isn't any more performant or stabler than Windows 10. Windows is rock solid stable, supports every hw ever made and is very fast. It also has better battery life (I've tried both powertop and tlp).

From someone on reddit 11/2018:

I love Ubuntu, but have no more time to resolve the endless bugs it creates.

I adore Linux (Lubuntu is my current distro of choice) and have been using it for more than ten years. It has taught me a ton about how computers work and even created some professional opportunities for me writing about tech.

But as an increasingly busy small-business owner, I no longer have an hour a day to spare sifting through the endless amount of bugs that the OS throws up and am reluctantly about to switch to Windows. I love customization, but at this point in my life I also need something that just works and doesn't impair my productivity.

This week alone: I'm certain that there are a few more. And that if I knew more about Linux, or had more time to devote to resolving these issues, that I could fix some of the above. But I don't feel like I should have to.

Why do things have to be like this? It occurred to me yesterday that I would be more than happy to pay an annual subscription to a service that both guaranteed a level of customization that neither Windows nor MacOS offers, but also had some inherent stability so that bugs like this aren't par for the course. I'm not a poor student any more. But I still love Linux and the philosophy that underpins it.

Or perhaps asking for both stability and what we love about Ubuntu is chasing after the impossible.

From /u/deadbunny on reddit 11/2018:

... the Mint devs do many things badly.

Rather than type out a long reply here is a Debian dev explaining it:

"Linux Mint is generally very bad when it comes to security and quality.

First of all, they don't issue any Security Advisories, so their users cannot - unlike users of most other mainstream distributions - quickly lookup whether they are affected by a certain CVE.

Secondly, they are mixing their own binary packages with binary packages from Debian and Ubuntu without rebuilding the latter. This creates something that we in Debian call a "FrankenDebian" which results in system updates becoming unpredictable. With the result, that the Mint developers simply decided to blacklist certain packages from upgrades by default thus putting their users at risk because important security updates may not be installed.

Thirdly, while they import packages from Ubuntu or Debian, they hi-jack package and binary names by re-using existing names. For example, they called their fork of gdm2 "mdm" which supposedly means "Mint Display Manager". However, the problem is that there already is a package "mdm" in Debian which are "Utilities for single-host parallel shell scripting". Thus, on Mint, the original "mdm" package cannot be installed.

Another example of such a hi-jack are their new "X apps" which are supposed to deliver common apps for all desktops which are available on Linux Mint. Their first app of this collection is an editor which they forked off the Mate editor "pluma". And they called it "xedit", ignoring the fact that there already is an "xedit", making the old "xedit" unusable by hi-jacking its namespace.

Add to that, that they do not care about copyright and license issues and just ship their ISOs with pre-installed Oracle Java and Adobe Flash packages and several multimedia codec packages which infringe patents and may therefore not be distributed freely at all in countries like the US.

The Mint developers deliver professional work. Their distribution is more a crude hack of existing Debian-based distributions. They make fundamental mistakes and put their users at risk, both in the sense of data security as well as licensing issues.

I would therefore highly discourage anyone using Linux Mint until Mint developers have changed their fundamental philosophy and resolved these issues."


Read the comments for more fun examples of how bad the Mint dev team are.

If you want to run a Debian-based system, run Debian or Ubuntu.

Edit: No they have not resolved any of these issues in the last few years since this was posted.


The main issue is that Mint doesn't care about security. To quote glaubitz again:

"On Debian, I open up Google and type "Debian CVE-2015-7547" and I am immediately presented with a website which shows me which versions of Debian are affected by the recent glibc vulnerability and which are not. You cannot do that on Linux Mint which therefore disqualifies itself for any professional use."

Due to the frankendebian issue mentioned in my previous post the fact that Mint uses Debian compiled packages (they don't compile themselves) they are reliant on Debian for any and all security fixes. If their frankendebian isn't compatible with the security patches made by debian (due to dependency issues) then you have to wait for Clem et al. to actually patch it themselves. Given their history of rejecting patches and their general security stance I don't have any faith in them to actually do things properly.

Mint also blacklist packages from updates, this means they won't get patched if there is a security update for them. While there is an option buried within Mint to allow these to update, this is not something a noob would be doing. This means your system could be vulnerable even when you think it's fully patched. That is unacceptable.

Mint's selling point is it's ease of use; unfortunately that ease of use comes from the devs having a willful disregard of licencing issues. They ship their ISO files with pre-installed Adobe Flash, Oracle Java packages as well as multimedia codecs (which people want) which violate intellectual copyrights and patents. Unless the maintainers of a distribution want to violate copyright laws intentionally and make themselves attractive targets for lawyers, there is nothing they can do to alleviate that. Debian and others aren't not shipping those packages because they want to make life hard for their users, it's because they cannot, legally speaking.

(This is the reason Debian forked Firefox and Thunderbird and distributed them as Iceweasel/Icedove.)

In this respect Ubuntu actually has licencing agreements which allow them to distribute third-party software through their official third party repos without violating the license terms of the software.

Dedoimedo's "Linux Mint 19.1 Tessa - Adrift"

From /u/gordonmessmer on reddit 12/2018:

There's a class of reasons that I dislike Ubuntu specifically. Ubuntu has at least three completely different installers, all of which use different sets of preseed commands. Documentation for Canonical's own installers is pretty bad. Automating Ubuntu installs for a large environment can be difficult, as a result. I think Canonical is a bad community member, with a history of competing with the community rather than contributing. They repeatedly offer applications which aren't as well supported as an application developed by the broader community, and then after a few years, shut it down. (Examples: Mir, Unity, bzr, probably snaps). If I build something new on top of a solution from Canonical, I'm probably going to have to rebuild it from scratch in a few years' time. Partially as a result, if you look at contributions to almost any major software project for GNU/Linux, Canonical is either very small, or absent completely. They're more of a consumer of Free Software than they are a contributor.

From /u/10cmToGlory on reddit 2/2019:

The snap experience is bad, and is increasingly required for Ubuntu

As the title says. The overall user experience with snaps is very, very poor. I have several apps that won't start when installed as snaps, others that run weird, and none run well or fast. I have yet to see a snap with a start up time that I would call "responsive". Furthermore the isolation is detrimental to the user experience.

A few examples: This is just the short list, using mostly anecdotes. I won't waste my time compiling a more extensive list, as I feel like the folks at Canonical should have done some basic testing long ago and realized that this isn't a product ready for prime time.

As for Ubuntu in general, I'm at a crossroads. I won't waste any more time with snaps, I just can't afford to and this machine isn't a toy or a hobby. It seems that removing snaps altogether from a Ubuntu system is becoming more and more difficult by the day, which is very distressing. I fear that I may have to abandon Ubuntu for a distro that makes decisions that are more in line with what a professional software developer who makes their living with these machines requires.
From /u/HonestIncompetence on reddit:
IMHO that's one of several good reasons to use Linux Mint rather than Ubuntu. No snaps at all, flatpaks supported but none installed out of the box.

Lots of people say that closing the lid of a laptop to make it sleep, and opening to revive it, don't work well on Linux. Seems to be a common problem.

My experience 4/2019 after using Linux Mint 19 and 19.1 Cinnamon for about 8 months:

I'm not happy about the variety of package managers and installers you have to use. I would like to deal with only Mint's Software Manager and Update Manager apps, but I also have to deal with FlatPak, Docker, Python, Github, apt, pip, tar, npm, yarn, more things I don't know the names of. Some of these are at a different level than others, I don't know. Some apps (such as Atom) have different builds (of same release, I think) that work differently. Most apps that use plug-ins (e.g. Firefox, VSCode, Burp Suite, OWASP ZAP) update them inside the app, using some custom mechanism. XnviewMP and Master PDF Editor check for updates internally and then you have to download and install them separately (not through Update Manager). "Oh My Zsh" and npm check and update themselves at the CLI. FoxIt Reader seems to check and apply updates in a custom way. The anti-virus packages all install cron jobs to update signatures, some (Sophos) also update the AV app that way. Some apps (Atom, KeepassXC, OWASP-ZAP, more ?) notify you of the existence of updates, but then you have to download the update or go to the home web site and download the update or do apt-get to get them. Some apps (Windscribe, more ?) notify you of the existence of an update and then stop working, until you update them through Update Manager or elsewhere. I had hoped Linux would have a more rational install/update situation than Windows does, but it doesn't.
Flatpak - a security nightmare

I find the Nemo file explorer to be slow (19.1 is faster). Maybe my laptop has too little RAM (3 GB). I should try a different explorer, and I'm tempted to try a lighter distro such as Xubuntu next time I have to do a new install (I'm thinking of buying a new laptop).

On the other hand, I reported a series of Nemo crashes (on 19) and within days a dev had fixed it and put out the new version. Not going to see that on Windows.

Scrollbars too thin, and I had to try a series of hacks to get them wider.

Often it's unclear where to report a bug. Is it a Mint thing, or an Ubuntu thing, or a Debian thing ?

Often it's unclear where to tweak something. Is it a theme thing, or a Cinnamon thing, or a GNOME thing, or a Mint thing ? Some apps using gtk 2.0, others using gtk3.0, and the config files are separate and with different naming.

My MP3 players don't work well with Linux Mint 19; they worked fine on Windows. Connect via USB cable and delete a file, Linux says it's gone, MP3 player says it's still there. Might be related to Linux not supporting formatting in FAT16 ? But I think it happened even before I resorted to reformatting my MP3 players to get rid of "ghost" files.

The upgrade from Mint 19 to 19.1 was done through Update Manager, but the update didn't appear in the normal window, instead somehow you were supposed to notice that a new item had appeared in the Edit menu of Update Manager ! But the update went smoothly.

My 1/2019 response to "will Linux ever reach 10% share of the installed desktop OS market ?":

To me, a big barrier to people moving to desktop Linux is the bewildering number of variations. Hundreds of distros, a dozen ways of packaging applications (package managers, Docker, Flatpak, etc).

I would love to see some consolidation among the major distros. For example, some way that all the Ubuntu flavors (including Mint) could become one Ubuntu, and then at install time you pick DE and theme and list of installed apps. Same among the other major variants (Red Hat, Arch ?). That way someone moving from Windows or Mac would really be given 4 or 6 major choices, not 50 or 200.

And app developers and hardware developers and bug-fixers would have more focus, and less duplication of effort. Linux would get better and better.


Also, installation (partitioning and dual-booting) is a big barrier. Even with installers that try to make it easy, it's confusing. Certain options make things happen automatically, others require that user specify the partitioning. I installed Mint, wasn't clear how to get a swap file instead of a swap partition, if I chose encrypted /home then I had to do partitioning manually, etc. And user has to know if they have BIOS or UEFI.


[I've chosen Linux Mint Cinnamon, and my system has a Legacy BIOS, so some of the following will be specific to that situation.]

Things to know or decide first:
Gary Newell's "15 Things Windows Users Need To Know Before Installing Linux"

I'd like to see a more helpful installer for Linux. Probably a two-part installer, where first part is a Windows program used as a planner. Analyzes your PC and Windows setup, determines things like UEFI vs BIOS, what your partitions and graphics are, etc. Interviews user to find out do they want encryption, dual-boot, etc. Records install-time useful info such as name/password for Wi-Fi. Downloads appropriate Linux ISO and helps write it to USB, and puts an installer-directive file on there. Reminds user to do backups. Then user boots from USB and Linux installer runs.

Things to do before installing:
  1. Do backups !
    Maybe back up things you usually don't, such as browser bookmarks, settings of "trained" browser add-ons such as uBlock Origin or uMatrix, contents of Downloads and other temp folders, digital certificates installed in browsers, etc.
    Everyday Linux User's "5 things to consider when installing Linux for the first time" (item 3 about backing up Windows)

  2. Is there anything on your current system that you can't lose ? Try clearing all cookies and then see if you still can log in to key accounts. If there's some problem or dependency, best to find it out before changing OS.

  3. Maybe a good time to update firmware/BIOS, if an update is available.

  4. Maybe a good time to boot into BIOS and do a low-level disk diagnostic.

  5. Get distribution's ISO.
    If you wish, you can verify the image:
    Linux Mint Installation Guide's "Verify your ISO image"

  6. Get a writable CD or a flash drive (minimum 8 GB).

  7. Copy distribution's ISO onto a bootable CD or bootable flash drive.
    Universal USB Installer

  8. If your disk is small, or you plan to dual-boot, be aware that probably you need at least 20 GB of disk space for the system, plus more for your personal files.

  9. Boot into BIOS and make sure booting from USB and/or CD is allowed.

  10. Maybe boot into Windows and turn off "Fast Startup" in Control Panel / Hardware and Sound / Power Options / System Settings. This will make Windows do a complete shutdown when you choose "Start / Shutdown". Not sure what would happen if you hibernated Windows, changed partition table in Linux, then booted the hibernated Windows image.

  1. Best to have internet connection available while the installer is running. Definitely use wired ethernet if you have a choice between that and Wi-Fi. Make sure you have your Wi-Fi login information written down.

  2. If a laptop, best to have AC power connected while the installer is running.

  3. If needed, boot into Windows and delete the OEM partition and/or Windows Recovery partition.

  4. If needed, boot into Windows and shrink the main Windows partition.

    [I think it's safer to do it in Windows rather than do it later in the Linux installer.]

    You have done a backup already, right ?

    Don't shrink the Windows partition so far that it has no free space left in it.

    From /u/ss-stamper on reddit:
    1. Remove paging file on the drive in question through the System > Advanced area.
      [In Windows 10: Control Panel > Advanced System Settings > Performance > Settings > Advanced > Virtual Memory. Set to "no paging file".]
    2. Disable boot / error logging to the volume in question.
      [How to do this ?]
    3. Run defrag (such as Auslogics Disk Defrag).
      [Or Microsoft's "Defragment your Windows 10 PC"]
    4. Open up Disk Manager > right click volume > shrink.
    After you finish shrinking, reboot into Windows, make sure everything is okay. And check that you have unallocated space on disk of the size expected: open up Disk Manager.

    After you finish shrinking, I think turn on the paging file again ?

    Tim Fisher's "How to Open Disk Management"
    Microsoft's "Overview of Disk Management"

  5. Boot into BIOS.

  6. Attach bootable USB device or insert bootable CD.

  7. Boot from that device. Now you're running Live session of Linux.

  8. Connect to internet.

    [Depending on release version, you might be able to connect later, in the Linux installer, too. But might as well do it here.]

  9. Double-click "Install" icon to run installer.

  10. Choose language.

  11. Check the "Install third party software" check-box.

  12. Installation Type. Choice here, one of these two:

    • Choose "Install Linux Mint alongside Windows Boot Manager".

      I think this is a bad choice because partitioning and maybe resizing Windows partition will happen automatically.

      Can you also choose "Encrypt the new Linux Mint installation" ? Yes.

      If only one partition slot is empty on an MBR system (3 used out of 4), will installer be smart enough to have no swap partition ?

    • Choose "Something else" (create or resize partitions yourself).

      Can you also choose "Encrypt the new Linux Mint installation" ?
      Dell install instructions for Ubuntu say no, encryption available only if you choose automatic partitioning.

      Create root (logical, use as "ext4", "/" mount point),
      swap (logical, use as "swap"),
      and /home (logical, use as "ext4", "/home" mount point) partitions.
      Boot gets created automatically, or uses existing boot partition ?

      Set "Device for bootloader installation" to the device with the "type" set to "EFI".
      [True whether you have Legacy BIOS or UEFI ?]
      [Will this overwrite the Windows bootloader and put GRUB in there, even on an MBR system ? Or maybe Windows bootloader is in first blocks of Windows main partition, doesn't get overwritten.]

      If you don't create a partition for swap, you'll get a warning message, but just click "Continue without swap space".

  13. Point of no return: Click "Install Now".

  14. Choose location.

  15. Choose keyboard layout.

  16. Create user and set computer name.
    Encrypt home directory ?

  17. More ...

Linux Mint Installation Guide's "Install Linux Mint"
Easy Linux tips project's "How to install Linux Mint 19.1 alongside Windows"
Dell's "How to Install Ubuntu Linux on your Dell PC"
Gary Newell's "How To Dual Boot Windows 8.1, Windows 10 And Linux Mint 18"
Tecmint's "How to Install Ubuntu 16.10/16.04 Alongside With Windows 10 or 8 in Dual-Boot"
Abhishek Prakash's "How To Install Ubuntu Along With Windows"
Jay LaCroix's "How to dual-boot Linux and Windows"

Easy Linux tips project's "Solutions for 27 bugs in Linux Mint 19.1"

My experience 8/2018:
  1. Using Dell Inspiron N5010 laptop running Windows 10, with wired Ethernet, legacy BIOS, 3 GB RAM, 320 GB disk.

  2. Decided to wipe Windows completely and install only Linux Mint Tara Cinnamon 64-bit.

  3. Decided to allocate 35 GB to OS partition, use a swap file, and give rest of disk to /home.

  4. Decided to encrypt all partitions where it's supported (OS and /home, I think).

  5. Did backups to two external disk drives. Careful to back up things I don't usually include in the backups, such as my Dropbox files and browser bookmarks and downloaded files in temp folders.

  6. Can't find anywhere that shows what version of firmware is installed on the laptop. Obtained EXE for version A11. Ran the EXE, it says I have A10 and it will install A11. Started the installation, mouse stopped working, dialog shows progress. Then a Windows dialog saying "battery is low, plug into AC" popped up right across everything, covering the progress dialog, mostly. But I'm already plugged into AC power. Firmware installation finished, was able to close the battery dialog, clicked Restart, machine restarted okay through new firmware, into Windows.

  7. Took one last look for anything not backed up, then shut down Windows. Plugged in Linux Mint USB, powered on, hit F12 a bunch of times to get Boot Options, gave boot password, booted into Linux Mint USB.

  8. Double-clicked "Install Linux Mint" icon. Installer came up. Chose keyboard type.

  9. Next Window asked if I want to install custom/proprietary drivers for my hardware. Clicked "Yes", and it took almost 10 minutes.

  10. Somewhere in here, I had to set computer name, user name, password.

  11. Next Window asked about partitioning. At first I selected the three settings for "automatic, encrypt everything, use LVM". But after clicking "Continue", I realized that wouldn't give me /home and root in separate partitions. So backed up, clicked "Customize", and wrestled with partitioning. Not clear: I see some "mapper" partitions and then some "/dev/sdN" partitions, and most of the buttons/controls don't work on most of them. Probably should have read the install instructions, if there are any. Finally managed to create the partitions I want as "/dev/sdN" partitions: 1 GB for /boot, 36 GB for /, rest (about 280 GB) for /home. But then I got some dialogs popping up saying "restart now before continuing the install", so I restarted.

  12. Back into installer, this time "install custom/proprietary drivers for my hardware" went very quickly, into custom partitioning again. The mapper partitions have disappeared, but had to set "/dev/sdN" partitions again: 1 GB ext4 for /boot, 36 GB ext4 for /, rest (about 280 GB) ext4 for /home. Set check-box to format each of them. Clicked "Continue", got a dialog showing the partitions, and I checked "encrypt /home". clicked "Continue", install started. Took 10-15 minutes, I think. Restart at end.

  13. Removed USB drive, and system booted up into Linux Mint from hard disk. Success ! Disk partition sizes in File Explorer look right. I suspect only /home is encrypted, and LVM is not being used.

After installing and booting into Linux:
  1. Login as the username you picked.

  2. Adjust touchpad.

    For me on Mint: install Synaptics touchpad support via "sudo apt install xserver-xorg-input-synaptics" and then log out and back in. [But later I removed it; I suspect it was causing UI freezes.]

  3. If you're dual-booting and/or going to access the Windows filesystem from Linux, fix the clock.

    Do "timedatectl set-local-rtc 1".
    Or edit /etc/default/rcS and set "UTC=no".

    Mike Beach's "Windows, Linux dual-boot system time issues"

  4. If your installation doesn't have a swap partition, create a swap file.

    Aaron Kili's "How To Create a Linux Swap File"
    Ryan Sechrest's "System running out of memory: create a swap file"

  5. Connect to internet.

  6. Set repositories. [On Mint, I didn't do this, seems to be no need.]

    Months later, I ran the Software Sources application and added the Firejail PPA, "ppa:deki/firejail", so I'd have the latest Firejail.

    Ubuntu's "Repositories/Ubuntu"
    Abhishek Prakash's "Things to do After Installing Ubuntu 18.04" (item 2)

  7. Update drivers.

    Open Driver Manager, looked for "recommended" drivers.

    Linux Mint Installation Guide's "Hardware drivers"

  8. Set up system snapshots.

    Linux Mint Installation Guide's "System snapshots"

  9. Basic security software.

    Some possible things to install or turn on:
    • Password manager.
    • VPN.
    • Firewall (GUFW). [I let this go until later.]
    Leave it at that for now; we'll return to this subject later.

  10. Check power-management settings (if any). Maybe install TLP ? [I didn't, until a couple of months later.]

  11. Turn off any features you don't want: file-sharing, Telnet/SSH server, whatever.

    On Mint, run System Settings application and click through many of the icons.

  12. What accounts exist and what are their passwords ?

    See Accounts section.

  13. Install or update multimedia codecs.

    Linux Mint Installation Guide's "Multimedia codecs"

  14. Install applications.

    Launch the "Ubuntu Software Center" or similar application.

    From Easy Linux tips project's "Avoid 10 Fatal Mistakes in Linux Mint and Ubuntu":
    "Never remove any application that's part of the default installation of Ubuntu or Linux Mint."
    [But I think removing clearly isolated applications such as GIMP or VSCode or Qbittorrent or vim would be fine.]

  15. Set Update frequency and do Updates.
    Launch the Ubuntu "Software Updater" or similar application.
    Dave Merritt's "Getting Started with Linux Mint? Focus on These Three Tools"
    Easy Linux tips project's "Update Manager: understand and optimize it"

    Note: "A manually installed application receives no updates from Mint!"

  16. Test and adjust various things: display, touchpad, microphone, camera, using USB devices (external disk, camera, flash drive, Android phone), playing audio and video, etc.

  17. Test and adjust various applications: browser, word-processor, etc.

  18. Install fonts ? Microsoft windows font pack ?

  19. Install a printer.
    Dell's "How to install and configure a Dell Printer using the Ubuntu Operating System"

  20. Install anything special you need.

    For me on Mint: install support for WD My Passport Ultra encrypted external hard drives.

    See Special Hardware section.

  21. Copy personal files from backup to Linux home directory.

  22. Try opening your files, especially various file types such as TXT, PDF, MP3, JPG, MP4, etc.

  23. Mount Windows filesystem under Linux:

    If you turned it off before, you can boot into Windows and turn on "Fast Startup" in Control Panel / Hardware and Sound / Power Options / System Settings. Now that you're not going to mess with partitions any more, it should be safe to hibernate Windows.

    See Connecting Linux and Windows section.

Easy Linux tips project's "10 Things to Do First in Linux Mint 19.1 Cinnamon"
Easy Linux tips project's "10 Things to Do First in Linux Mint 19.1 Tessa"
Dell's "How to configure Ubuntu Linux after it's first installed on your Dell PC"
Mehedi Hasan's "Top 10 Best Things To Do After Installing Linux Mint 19 'Tara'"
Aquil Roshan's "Things To Do After Installing Linux Mint 18.3"
Abhishek Prakash's "Things to do After Installing Ubuntu 18.04"
Gary Newell's "38 Things to Do After Installing Ubuntu"
Mike Turcotte-McCusker's "5 Things to do after a fresh install of GNU/Linux"
David Westcott's "Ubuntu 17 Install (Focused on Privacy and Security)" (PDF)

My experience 8/2018:
  1. Logged in as the user name I chose, get desktop and then Welcome Screen application.

  2. Looked into System Snapshots backup settings, too complicated, will try again later.

  3. Did Driver Manager, one custom Wi-Fi driver available for my hardware, installed it, forced to restart.

  4. Did Update Manager, about 20 updates available, did them all. Restarted.

  5. Looked at System Settings, didn't really change anything.

  6. Did Mint's Software Manager, looked through lists of hundreds of applications. Many that I want already are installed (Firefox, VLC, etc). Installed another dozen or so. Restarted. Root partition still has about 25 GB free.

  7. Found touchpad settings and turned off "tap to click"; I hate that setting.

  8. Installed package for my Synaptics touchpad, but didn't see any differences or new settings.

  9. Both Wi-Fi and wired Ethernet connections are working. Not sure how the system remembered the Wi-Fi password, somehow copying it from Windows to Linux. Turned off Wi-Fi; I want to use only wired Ethernet.

  10. Installed software to access my encrypted WD My Passport Ultra external disk drives, connected a drive, was able to mount it. Started copying my personal files into home directory.

  11. Plugged MP3 player into USB and a File Explorer window opened for it, no problem. Same for an Android phone.

  12. Installed all the add-ons and settings I wanted into Firefox, and imported bookmarks from my backup. But I'm going to have to re-do all the tweaks I did to NoScript and Privacy Badger, to get various sites to work. I didn't back up those settings; not even sure how to do it.

  13. Installed Windscribe VPN client.

  14. Trying to fix the script files I use to upload my web site.

    Was using WinSCP, now have to use SFTP. Had to do "sudo apt-get install sshpass", then script file contains "sshpass -p YOUR_PASSWORD sftp -oBatchMode=no -b YOUR_COMMAND_FILE_PATH USER@HOST". But had to go to my hosting service to generate a keyfile, still not working, opened a ticket with them, maybe they have to turn on SSH on my account. They turned SSH on, not working, said don't use a keyfile, so I stopped using that and deleted keyfiles, not working. Finally figured out that SFTP asks for confirmation very first time you connect to a server, and I was in batch mode so not seeing that. One time in interactive, then batch worked using "sshpass -pPASSWORD sftp -P 23189 USER@HOST <Cmdall.txt".

    But still have to copy that command to CLI to run it; double-clicking on ".sh" file containing it and selecting "Run in Terminal" does nothing. Asked on reddit, and had to change two things: add "#!/bin/bash" as first line of file, and then convert Windows line-endings to Linux line-endings ("apt install dos2unix" then "dos2unix"). Now it works !

  15. An oddity: if you double-click on a .TXT file in File Explorer, it says something like "this is an executable text file, do you want to run or display it ?" Strange. Any way to make only .SH files executable ?

  16. Installed VeraCrypt by downloading a script and then running it via "sudo bash", but I don't see VeraCrypt in the GUI menu of applications. It showed up later. Made a couple of containers, and they work fine.

  17. Installed Tor Browser by downloading an archive and extracting from it. But trying to put it in a location shared by all users (/usr/local/bin) caused a permission nightmare and it wouldn't run. Put it in my home directory and it works, but I don't see it in the GUI menu of applications.

  18. Can't copy text out of windows in Mint's Software Manager. A pain when you're trying to copy version numbers and such.

  19. Found something I read before but didn't pay enough attention to: Release Notes for Linux Mint 19 Cinnamon.

    And it led to [FIX] no swap on fresh LM19 install with home directory encryption.

    So, did "ls /home/.ecryptfs", and it replies with my username/homedirname, so I have /home encryption turned on.

    Did "swapon --show", and it replies "/dev/dm-0 partition 1.6G 524K -2", so swap is working and has a 1.6 GB partition on disk. I wanted a swap file, not a partition. But from that "fix" article, "it shows you have encrypted swap" and "General recommendation is to have about 20% of RAM as swap" (I have 53%). So I'm good. Someone else says swap partition won't show up in "df" or "mount"; "swapon -s" is the way to confirm it.

    Also did "cat /proc/swaps" and "free", and they all show swap partition.

    Later found out about "lsblk -f", and it shows encrypted swap partition.

    But I guess LVM is not used ? "sudo lvm fullreport" gives nothing.

    "cat /proc/sys/vm/swappiness" gives indicator 0-100 of how readily the swap gets used. Default is 60. Ran "sudo xed /etc/sysctl.conf" and added two lines at bottom:
    # Decrease swap usage to a more reasonable level
    Then reboot. (For SSD, change to 1.)

    You may see swap space used even when there is free RAM space: something could get swapped out when RAM is full, later does not come back in unless needed. Lengthy discussion of swap and swappiness: Chris Down's "In defence of swap: common misconceptions".
    Also see Linux ate my ram !.
    Later the whole issue was made less important for me when I upgraded RAM from 3 GB to 8 GB.

  20. Installed IDrive backup scripts by downloading an archive (here) and extracting from it. Put it in my home directory, did "chmod a+x *.pl", and account settings script works. But instructions are very incomplete.

    Went back to it later. I already have an IDrive account. Ran "./". Confused. Ran "./" and added folders to back up. Editor seems to be vi or vim.

  21. Scroll bars are a bit thin and hard to use, for me. Looked through System Settings, didn't see any setting for it.

  22. Adjusted Update Manager settings a bit, to un-select level-4 upgrades.

  23. Ran Firewall Configuration app and turned on the firewall. System kept working, including Windscribe VPN.

    But after shutting down overnight, next morning Windscribe VPN would not connect. Tried adding firewall rule to allow incoming UDP 443, tried turning off OS firewall, tried different VPN server, no go. Left OS firewall turned off, restarted Linux, Windscribe connected no problem. Windscribe Support says probably the two firewalls are fighting each other, choose one or the other. Then they said that Windscribe is using the Linux firewall, iptables.

  24. Doing nothing special, and File Explorer (Nemo) crashed. Second time that's happened, I think. Happened again a couple of hours later.

  25. Plugged my HP 3634 printer into a USB port, Linux recognized it and added it to the system. Double-clicked on a PDF file, it opened fine in Xreader application. Printed a page, page came out fine. Cool !

  26. Noticed that OS restart does NOT go through BIOS, don't have to give BIOS password again. [But later this changed, now restart always goes through BIOS !]

  27. Installed our personal Spanish govt digital certs (from .p12 files saved in Windows) into Firefox and Chromium browsers, and they work.

  28. Double-clicked a PowerPoint (.pptx) file, and LibreOffice Impress opened and handled it fine.

  29. Ran "df -h", and it shows /boot size of about 1 GB, / size of 33 GB (20 GB free), /home size of 259 GB. Which is good.

  30. Some useful CLI commands:
    "inxi -S": get version numbers.
    "systemd-analyze blame": see what loads at boot time and how long it takes.
    "sudo ufw status verbose": see status of firewall.
    "iwconfig": see status of Wi-Fi adapter; might want to turn off Power Management.

  31. Ran Startup Applications, tweaked some delays, added Windscribe VPN to the startup.

  32. Installed Openjdk-11-jdk from Mint's Software Manager.

  33. Installed Nemo-dropbox from Mint's Software Manager.

  34. Doing some heavy downloading in one browser, heavy pages in another browser, and the whole system froze solid. Mouse stopped moving, alt-tab didn't work, ctrl-alt-del didn't work, nothing. Had to power off and restart.

  35. Ran Timeshift to do a backup of system files. Space required is 16.4 GB. Did it onto my /home. It copied over 500K files. Left no snapshots scheduled.

  36. USB flash drives:

    I have a USB flash drive which may be corrupted. I see that doing "sudo touch /forcefsck" will force system (root) partition to be checked next time system boots. To check the USB drive, I unmounted it in Nemo. Hovering over the icon showed its device as "/dev/sdb1". In CLI, did "sudo fsck /dev/sdb1". Found some problems, fixed them, but drive still not correct.

    In Mint's Software Manager, installed GParted. Only shows one device at a time, have to use GParted/Devices menu item to switch from one to another. Formatted USB drive's partition. Device fixed. Did it to another USB also. They work.

    But Linux seems to handle these flash drives differently than Win10 does. You have to be very careful to software-eject them from Linux, and wait until you see a notification that it is safe to unplug the drive. Writes are buffered/cached, so unplugging a drive too soon can corrupt it. Ejecting using the System Tray icon doesn't give the notification; always eject using File Explorer.

    To turn off write-caching:
    "sudo hdparm -W 0 /dev/devicename"
    But this may result in more writes, which is bad on a flash drive.

    To reduce number of writes:
    Upon mount, set "noatime" (in /etc/fstab, change "defaults" to "defaults,noatime").
    But removable drives probably aren't permanently listed in fstab.

  37. Filesystem-checking:

    "sudo touch /forcefsck" will force system (root) partition to be checked next time system boots, but the check must be superficial, it didn't take very long.

    Maybe edit "/etc/default/grub" to change
      GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
      GRUB_CMDLINE_LINUX_DEFAULT="quiet splash fsck.mode=force"
    and then do "sudo update-grub" ?

    Dan Nanni's "How to boot into command line on Ubuntu or Debian"

    Press Esc key while booting to get into grub menu.

    In grub menu, highlight first item "Linux Mint 19 Cinnamon" and press "e" key to edit the script for that menu item. Find line something like "linux ... ro quiet ..." and add a "fsck.mode=force" after the "ro quiet". Hit F10 to boot. After OS starts, a csd_housekeeping process will check disk, taking a couple of minutes. Results where ? Change to the boot script is not persistent; it will be gone next time you restart.

    After doing all this, someone told me to do "e2fsck -n -f /dev/sdaN" at CLI (after booting), and it tells me my root filesystem has all kinds of problems: orphan inodes, inode bitmap problems, free block count wrong, directories count wrong, etc. Same for /home filesystem. But someone else says: "If you run fsck on a mounted file system, you'll see errors all over the place because the system often defers writing data or 'tidying up' information already on the disk, especially for open and locked files associated with running processes. The only way to fsck the system partition sensibly is at boot time, when it can be temporarily unmounted by the booting process and before anything reliant on the disk loads, or better, booting with a separate device / partition entirely, e.g. a boot disk or USB."

    Log from boot process is /var/log/boot.log It says it checked both root and /home. It shows some details from checking root, but no details for checking /home. No errors reported, but it also doesn't explicitly say "no errors found".

  38. Installed Clamtk anti-virus through Mint's Software Manager, and ran it.

  39. Wanted to do some torrenting, found that Qbittorrent already is installed, by default.

  40. Decided to try for backups. Created an account, installed Megasync (or it was installed by default, I'm not sure). It's a storage/sync service, not a backup service. Has Linux GUI. 50 GB free storage. No way to exclude individual files in a folder, or exclude sub-folders.

  41. Running several apps (Firefox, Tor, GIMP) and launched a video in VLC, and the system froze solid except for the mouse-pointer. Had to power off and restart. Second freeze in the 10 days or so since I installed Linux.

  42. After 14 days or use, a third solid freeze (not even mouse working), and Nemo file explorer has crashed half a dozen more times.

  43. A few days later, a freeze while in the Lock screen, mouse cursor still moves, something is touching disk every now and then, looks like maybe my keyboard is bad and filled the password field with characters. The keyboard has been a bit flaky in other ways too, occasionally producing a spurious PgDn keypress or a spurious "turn off touchpad" keypress while I'm typing.

  44. Installed Psensor (to check hardware temperatures) through Mint's Software Manager.

  45. Firewall and VPN:

    I went down a bit of a rabbit hole for a while, tweaking iptables a lot, then shutting down some listeners, and doing some testing. Also, new releases of Windscribe VPN client changed its effect on iptables a bit.

    To see what incoming ports are open and/or have listeners, do "sudo netstat -tulpn" or "sudo netstat -tulp". (Also "sudo ss -lptu") For all ports, do "sudo netstat -tuap".

    To see what iptables looks like, do "sudo iptables -L -v".

    Ran a couple of net-testing apps on my phone (which is on my LAN), targeting my PC, and they show all ports blocked, no response to ping, no services offered.

    See Tightening Security section.

  46. About Nemo crashing, someone said that happened to them in the past, if you see Nemo starting to be weird then at CLI you can do "nemo -q" and "nemo -n" to stop and restart Nemo.

    About the freezing, they said: "Something to try when the system becomes unresponsive is Ctrl+Alt+F1. Assuming the system is listening at all, this ought to switch to a text-only terminal (no GUI at all) that will allow you to log in, check and kill processes that look problematic through the command line. Usual caveats apply about taking care and at your own risk, etc. Ctrl+Alt+F7 or Ctrl+Alt+F8 will switch back to the GUI if it is still running / has been made to function again."

    Had an OS freeze while at the lock screen, and Ctrl+Alt+F1 did nothing.

  47. I reported my nemo crashes, and the devs quickly pointed at the Dropbox extension in nemo as a possible culprit, so I disabled that extension. But the next day I had another nemo crash, reported that. Later, removed Dropbox and nemo-dropbox from the system.

    Finally found a simple way to make nemo crash, by plugging and unplugging my external hard drive a couple of times. Reported the details.

    A couple of days later, a dev had me install a changed version of nemo, and the nemo-crash problem seems to be fixed.

  48. Had an OS freeze or two. Then had another, and as with some of the previous ones, it looked like the underlying OS was running (saw disk accesses), so maybe just the mouse/touchpad is frozen. Removed the Synaptics touchpad package and restarted; will see if that fixes it.

  49. Tried to make a 28 GB VeraCrypt NTFS container in a 32 GB USB stick (PNY 32GB, USB 2.0, 28.8 GB free). It fails every time, spends 90+ minutes formatting, goes to the end, asks for sudo password, and then says "Bad file descriptor VeraCrypt::CoreService::StartElevated:517". No container file appears on the USB stick.

    I'm selecting "no file inside container will be greater than 4 GB" each time. Usually select "accessible from other operating systems". Tried formatting container as exfat4 once. "Quick format" option in VeraCrypt never is enabled, no matter what filesystem type I select.

    Realized the stick was formatted as fuse, formatted it as NTFS, no difference. Later noticed that the stick properties say formatted as fuse again.

    Upgraded VeraCrypt from 1.22 to 1.23, by downloading the tar.gz file, extracting "veracrypt-1.23-setup-gui-x64" from it, and running that via "run in terminal". As when I first installed VeraCrypt, can no longer find VeraCrypt through clicking on nemo Start button. Doing "nemo -q" then "nemo -n" didn't fix it. Logged out and logged back in, and that made VeraCrypt appear.

    Still not working. Consulted with people on reddit, no joy. Next day, started working on simplest case to demonstrate the problem so I can file an issue on GitHub, but now it's working ! Went for it, created the 28 GB NTFS container I wanted on the USB drive, worked.

  50. Turned off VPN and tried to use web version of Skype through Firefox; wouldn't work, wouldn't enable the "make a phone call" button. Read that you have to change the "user agent" to "Edge on Windows" to get it to work. Installed "User-Agent Switcher by Linder" into Firefox, and set agent to "Edge on Windows". Got a little further in web-Skype, but it wanted to install a Microsoft plug-in (a .msi file), so no-go. Then tried setting agent to "Explorer on Windows", "make a phone call" button is disabled again. (9/2018)

  51. Through Mint's Software Manager, installed chkrootkit and rkhunter.

    Ran "sudo chkrootkit", and it says "tcpd" is "infected".

    Ran "sudo rkhunter -c". Five system commands (such as /usr/bin/size), "Checking for suspicious (large) shared memory segments", "Checking /dev for suspicious file types", and "Checking for hidden files and directories" were tagged with "warning".

    All checks for specific rootkits by both programs came up negative, so I think my system is fine.

    See Anti-Virus and Malware Scanners section.

  52. Scroll bars are too narrow for my taste (other people have complained too).

    Edited various CSS files under /usr/share/themes/, but the changes didn't do anything.

    Installed Gnome Color Chooser from Mint's Software Manager, but the scrollbar width setting only affected the Start button menu, not Nemo or other apps. Looks like GCC effectively edited ~/.gtkrc-2.0 to add
    "style "gnome-color-chooser-scrollbar" { GtkScrollbar::slider_width = 45 }
    widget_class "*Scrollbar" style "gnome-color-chooser-scrollbar" " to it. Maybe it made changes elsewhere, too.

    I read that some apps (LibreOffice Writer, Calc) are GTK2.0, others (Nemo) are GTK3.0.

    Created and edited ~/.config/gtk-3.0/gtk.css and put
    ".scrollbar.vertical slider, scrollbar.vertical slider { min-width: 40px; }"
    in it, and that worked for Nemo and Firefox and Xed.

  53. A new version (1.3) of the Windscribe VPN client software came out, and Update Manager installed it. Just had to login to Windscribe again, and it worked. Six or seven rules for Cloudflare in iptables; I thought rules like that were going to go away. A new rule for, which is understandable.

    A week or two later, Windscribe failing to start up, saying "new version available". But I don't see a new version in Update Manager or Software Manager. Did "sudo apt-get update" and then "sudo apt-get install windscribe-cli", it says nothing changed. But now I can connect to Windscribe again.

  54. Wanted to test that my /home is encrypted, and that I can access it from a bootable USB if needed. Booted into a Live session from the same USB I used to install onto hard disk 2 months ago. Opened Nemo, went to hard disk, my /home/user1 dir just has two files in it, "Access-Your-Private-Data.desktop" and "Readme.txt". If I run "Access-Your-Private-Data.desktop", I get an error "cannot execute commands from a remote site". Following instructions in "Readme.txt", if on CLI I run "ecryptfs_mount_private" or "sudo ecryptfs_mount_private", I get an error "encrypted private directory is not setup properly".

    How it's supposed to work, see comment in superuser's "eCryptfs encrypted home - explanation".

    If you use an encrypted home directory, you should keep a backup copy of your mount passphrase ? Run "ecryptfs-unwrap-passphrase" to get it.
    Chris Hoffman's "How to Recover an Encrypted Home Directory on Ubuntu".

    Got script from superuser's "eCryptFS: How to mount a backup of an encrypted home dir?". Had to modify it to work, ended up with which works on Linux Mint 19 Cinnamon run from USB as of 10/2018.

  55. Every time I boot, kernel log contains a bunch of messages starting with "Could not find key with description: [xxxxxxxx]". Turns out lots of people have been seeing this for a couple of years: Cananonical Ubuntu's "ecryptfs-utils package Bug #1718658". Created an account and added my info to the bug report.

  56. 10/29/2018: Had a UI freeze, the first in a couple of weeks. At first the mouse moved but couldn't click anything, then mouse movement stopped. Ctrl+Alt+F1 did nothing. Still occasional disk accesses, and more after I disconnected a USB device, so the underlying OS was still running. No hint of anything wrong in kernel log file after I rebooted.

  57. Through Mint's Software Manager, installed Kontact PIM application. I think it also installed "mysqld-akonadi". Then in Software Manager also installed Kaddressbook and Korganizer. It says "starting personal information management service"; I don't see any new service or listener, but I see a lot of "kworker" processes. Selecting To-Do and then Settings/ConfigureDate+Time gives error "Could not start control module for date and time format". Also, tray icon for Kontact is a blank space. And at shutdown, Kontact in background does not quit, says not responding, have to do "shutdown anyway". KDE Bugtracking System: account creation failed until I turned off VPN.

  58. Key-shortcuts to do things in normal operation:

    Run Keyboard application and click on Shortcuts tab to see them.

  59. Magic key-sequences if stuff goes wrong:

    • Alt-F2 to get a small command window, if Xorg is still working. If you get the small window, type "xkill" and click on a window you want to kill.

    • Ctrl-Alt-F1 to get out of GUI and to console-login;
      then Ctrl-Alt-F7 to get back to GUI.
      While in console, Ctrl-Alt-Del will abruptly restart the system.

    • Ctrl-Alt-Esc might kill current GUI and start a new one. (Works by default on Mint 19)

    • Ctrl-Alt-Backspace might kill current GUI and take you to login screen. (Not by default on Mint 19)
      To enable on Mint 19: run "sudo dpkg-reconfigure keyboard-configuration", press Enter 5 times to get through 5 screens with current settings, then see dialog about "Ctrl-Alt-Backspace terminate the X server", choose Yes.

    • Ctrl-Alt-Del might restart the system. Also, try typing it 4 times in rapid succession.

    • Alt-SysRq- or Alt-PrntScr- keys (on Mint, they only work in console):
      • H: Show help.
      • Space: Show available Alt-SysRq keys.
      • R: Switch the keyboard from raw mode to XLATE mode. (Disabled on Mint)
      • E: Send the SIGTERM signal to all processes except init. (Disabled on Mint)
      • I: Send the SIGKILL signal to all processes except init. (Disabled on Mint)
      • S: Sync all mounted filesystems.
      • U: Remount all mounted filesystems in read-only mode.
      • B: Immediately reboot the system, without unmounting partitions or syncing.

    Eric Simard's "Frozen Linux System? Here are 3 Ways to Deal With It"
    superuser's "Does Linux have a Ctrl+Alt+Del equivalent?"
    kember's "REISUB - the gentle Linux restart"
    Wikipedia's "Magic SysRq key"

  60. You should routinely check a couple of logs to see if anything unusual is happening in your system: "cat /var/log/kern.log" ("dmesg" command shows same log, with some useful coloring added), "sudo journalctl --pager-end".

  61. Various errors seen in "sudo journalctl --pager-end":

    • In Settings/Bluetooth, I have no Bluetooth devices and all settings are set to "off". But in output of journalctl, I see this while booting:
      pulseaudio[2770]: [pulseaudio] bluez5-util.c: GetManagedObjects() failed: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. P...
      dbus-daemon[853]: [system] Activating via systemd: service name='org.bluez' unit='dbus-org.bluez.service' requested by ':1.157' (uid=1000)
      dbus-daemon[853]: [system] Failed to activate service 'org.bluez': timed out (service_start_timeout=25000ms)
      and the last two lines are repeated occasionally as the system runs. Added this to an existing bug report on Ubuntu.

  62. An update came out, installing "freedesktop". In the log files next morning, I saw that now a GeoClue service is running. Don't want that. Eventually found in Mint's Software Manager you can remove Geoclue-2.0. Removed it, but kept getting a boot-time error from "Redshift". Renstalled Geoclue-2.0. Tried to wire it to show a fake location, but it's always returning zeros for lat/long. My release is 2.4.7-1ubuntu1; newest is 2.5.1. Did "sudo apt-get install geoclue-2.0", but it says I have the latest (from the repositories my system points to). Guess I'll wait until an update comes down.

  63. Had another UI freeze, mouse wouldn't move, ctrl-alt-F1 did nothing, but occasional disk access, so underlying OS was alive. I had been doing some debugging of a VSCode extension, pipes between processes, trying to open new pane, probably something ugly went wrong.

  64. Had another UI freeze a couple of days later, mouse wouldn't move, ctrl-alt-F1 did nothing, but occasional disk access, so underlying OS was alive. I had been doing some more debugging of a VSCode extension, pipes between processes, lots of simultaneous network requests.

  65. Changed to get updates from mirrors instead of central repository: Update Manager / Edit / Software sources.

  66. Now that I have 8 GB of RAM, changed to "shrink inode cache less aggressively" by:
    sudo xed /etc/sysctl.conf
    # scroll to bottom of file
    # add following two lines:
    # Improve cache management
    # save, close, reboot


(In Linux Mint, at least:) Any time you hear of an application you'd like to try, first go to Start menu and see if it's already installed in your system. If not, go to Software Manager and see if it's available there. [But check to see if the version you get is seriously old.] If not, go to web site for the application and get it from there.

Applications that work well and I use have a green check-mark next to them.

Password Manager:


GUI Text Editor:

CLI Text Editor:

Source Code Editor:
Alistair Ross's "Howto: What is Git and Github? How do I use it and why should I care?"

PDF Viewer and Editor:
Adobe no longer supports Linux for PDF viewing and editing.

I think "annotating" a PDF is not the same as "doing form-filling". I ended up having to go to a Windows machine to do my PDF tax forms.

poppler-utils ? Scribus ? Okular ? quickfill add-on for Chromium ?

Useful online service:

Diagram And Flowchart Editors:
Farm-Fresh web icons

Genealogy (family tree):
Steve Emms' "8 Best Free Linux Family History Software"

Web Site Tools:
Alistair Ross's "How to password protect web sites via .htaccess"
Alistair Ross's "Quick and dirty hacks: one line HTTP Server"

Recording Desktop Activity:

Recording CLI Activity:

Image Viewing and Editing:
FOSS Linux's "How to Resize Images by Command line in Ubuntu"
Alistair Ross's "Quick Tip: convert images at the command line with ImageMagick"

Video Editor:
Tried Kdenlive and Openshot-qt video editors, but way too complicated for me, all I want to do is cut segments out of existing videos.

Installed VidCutter video editor through Mint's Software Manager. Unfortunately a couple of GB of stuff came with it; it uses KDE stuff. But the app does what I want, without too much hassle.

Shotcut. Flowblade. Davinci Resolve. Pitivi. Lightworks.

FOSS Linux's "How to capture screenshot GIF, and Video with Audio, from command line"
Alistair Ross's "Screencast recording with Green Recorder"
Rotating videos with FFmpeg

Encryption etc:

Backup and Restore:
Good idea to save snapshots of output from fdisk and blkid into files, and back those up, so you can rebuild the configuration of your system if necessary.

Aaron Kili's "24 Outstanding Backup Utilities for Linux Systems in 2018"

Anti-Virus and Malware Scanners:
For every product, you can find detractors. It slows down the system, increases the attack surface, runs at too high a privilege level, has a history of exploits, gives too many false positives, etc.

Some people say there is no risk of malware on Linux, but this is less true every year. Now that most of the world's servers and most of the IoT devices are running some form of Unix/Linux, attacks and malware are becoming more and more common. Now that home users spend 90% of their time in a browser, browser and browser add-on exploits are a big risk. Attack surfaces such as code/macro engines inside "smart" documents such as MS Office and PDF documents, or inside email clients, are similar to those in any other OS. Java, Javascript, Python, etc, everything is trying to become cross-platform.

From someone on reddit 3/2019:
Cybersecurity blue team here, in the wild we probably see more Linux payloads than we do Windows due to the high number of servers that run enterprise Linux. That being said, botnet attacks and scripted exploits normally drop and try to execute both Windows and Linux versions of the same payload which is super scary to see. Linux doesn't protect you from viruses at all. In fact, thinking you're more secure just for running Linux is deluded, new privilege escalations are released almost daily. If you stay on top of it, you could own someone's laptop pretty trivially with some help from exploit-db.

Also see:
Wikipedia's "Linux malware"
Catalin Cimpanu's "ESET discovers 21 new Linux malware families"
Paolo Rovelli's "Don't believe these four myths about Linux security"

Moe Long's "The 7 Best Free Linux Anti-Virus Programs"
Tecmint's "The 8 Best Free Anti-Virus Programs for Linux"
Ms. Smith's "AV-Test Lab tests 16 Linux antivirus products against Windows and Linux malware"
Wikipedia's "Linux malware"

Easy Linux tips project's "Security in Linux Mint: an explanation and some tips" strongly advises NOT installing anti-virus software, and gives reasons.

See the "Testing your defenses" section of my "Computer Security and Privacy" page.

Application Control and Security:
My evaluation:
The mainstream solutions (at least, in Mint) seem to be Firejail and AppArmor.

Network Control and Security:
This section is for tools that generally run unattended. For tools used by a person, see the Network Monitoring section.

Some terms:

Ubuntu's "DoINeedAFirewall"

You can change your MAC address to any value, either for Wi-Fi or for wired Ethernet, via Mint's Network application or Ubuntu's Network Manager application.

Open Source Intrusion Detection Tools: A Quick Overview

CLI Shell:


Virtual Machine:
A virtual machine has a complete copy of an operating system in it; a container shares a single underlying OS with other containers, mediated by the container framework/engine. VMs are a much more mature technology and have CPU support, so are more secure in general. An emulator is a VM that has a veneer of a different operating system in it.

ZeroSec's "Learning the Ropes 101 - Virtualisation"
SK's "How To Check If A Linux System Is Physical Or Virtual Machine"
SK's "OSBoxes - Free Unix/Linux Virtual machines for VMWare and VirtualBox"

By the way, virtualenv for Python is just a way of running a Python app with a certain set of libraries. Despite the name, it is not a virtual machine, and the app is not isolated from the OS.

A virtual machine has a complete copy of an operating system in it; a container shares a single underlying OS with other containers, mediated by the container framework/engine. VMs are a much more mature technology and have CPU support, so are more secure in general. An emulator is a VM that has a veneer of a different operating system in it.


Container System:
A virtual machine has a complete copy of an operating system in it; a container shares a single underlying OS with other containers, mediated by the container framework/engine. VMs are a much more mature technology and have CPU support, so are more secure in general. An emulator is a VM that has a veneer of a different operating system in it.

Wikipedia's "Linux containers"
Alistair Ross's "What is Docker (and Linux containers)?"'s "What are Linux containers?"

Containers on Linux generally use namespaces, cgroups, and (on SELinux) seccomp to confine the app and strip services from its environment.

[I think I'm mixing container systems (Docker etc), app frameworks (Node etc), and deployment frameworks (Flatpak etc) in here. Not sure.]

From someone on reddit:
Snap is hard wired to Ubuntu and does not contain basic libs that exist in Ubuntu.
Flatpak is designed to be cross-distro, and packages everything.
AppImage contains as many libs as its developer decided to put in it.

Jack Wallen's "An Introduction to MySQL"
Gabriel Canepa's "Learn MySQL / MariaDB for Beginners - Part 1"
Gabriel Canepa's "How to Install, Secure and Performance Tuning of MariaDB Database Server"
Carla Schroder's "What Is NoSQL?"
Muhammad Arul's "How to Install and Configure MongoDB on Ubuntu 18.04 LTS"

System Hardware Monitoring and Control:
Use "Disks" app, or install "GSmartControl" app through Software Manager, to test hard disk and see SMART info.

Software Resource Monitoring:

Network Monitoring:
This section is for tools used by a person. For tools that generally run unattended, see the Network Control And Security section.

Some terms:

Hayden James' "Linux Networking commands and scripts"

Security Testing and Penetration Testing:

Some applications are written to work only in a specific GUI framework, such as KDE or Gnome. Others are written to work inside a cross-platform framework, such as Electron or Node.js or Ruby Rails, that then has versions which run inside various lower frameworks, such as KDE or Gnome.

There are some application-deployment frameworks, such as Docker and Ansible.

Easy Linux tips project's "Firefox: optimize its settings"
Easy Linux tips project's "Google Chrome and Chromium: improve their settings"

Alistair Ross's "Review: Download Managers for Linux"

Lilite: A Linux Autoinstaller

cboxdoerfer / fsearch (fast file search utility)
Joey Sneddon's "Linux File Search Tool 'Catfish' Just Got Even Faster"

Check hash of a file you downloaded: drewblay / Compare-File-To-Hash

My "Develop a Desktop Application" page

Things To Do

Work your way through some basic tutorials:
Linux Journey
Linux Survival
Ubuntu's "Using The Terminal"
Ryans Tutorials' "Linux Tutorial"

Far more in-depth:
Sven Vermeulen's "Linux Sea"

Tightening Security:
Really, it seems that 95% of the vulnerabilities are eliminated if you just don't run a web server on your machine. Also don't run SSH or FTP or other login-type services, and keep software updated, and you're above 99%.

From older version of Easy Linux tips project's "Security in Linux Mint: an explanation and some tips":
"Don't install Windows emulators such as Wine, PlayOnLinux and CrossOver, or the Mono infrastructure, in your Linux, because they make your Linux partially vulnerable to Windows malware. Mono is present by default in Linux Mint; run 'sudo apt-get remove mono-runtime-common' to get rid of Mono."
[First run 'sudo apt-get --simulate remove mono-runtime-common' to see what else you'd lose.]

Ask Ubuntu's "What are PPAs and how do I use them?"
But: "One thing to keep in mind about using PPAs (Personal Package Archives) is that when you add a PPA to your Software Sources, you're giving Administrative access (root) to everyone that can upload to that PPA. Packages in PPAs have access to your entire system as they get installed (just like a regular package from the main Ubuntu Archive), so always decide if you trust a PPA before you add it to your system."

Easy Linux tips project's "Security in Linux Mint: an explanation and some tips"
The Empire's "An Ubuntu Hardening Guide"
Brandon J. L.'s "Linux Security 101: Hardening Your System for The Common Geek"
lfit's "Linux workstation security checklist"

SK's "How To Password Protect GRUB Bootloader In Linux"
[But that doesn't protect against booting from USB drive.]

See Anti-Virus and Malware Scanners section.

See Application Control and Security section.

Tightening Privacy:

Reporting Bugs:
On Mint, run System Reports application to see any crash reports.

Run "apt show PKGNAME" to get info about a package, including URLs for bug-reporting and source code.

For some problem, check the version number of the software you are running, and what the latest released version number is. Is it possible for you to upgrade and re-test ?

Rocket2DMn's "Improving Ubuntu: A Beginners Guide to Filing Bug Reports"
Brendan Hesse's "How to Submit a Bug Report to Apple, Google, Facebook, Twitter, Microsoft, and More"

Run "sudo more /etc/shadow". Any account with password field (2nd field) set to a single character such as "*" or "!" or "x" is blocked from login: no possible password can be typed to log into that account.

My understanding of accounts:

Ubuntu's "RootSudo"

Some command-line ways to list all users: "getent passwd", "compgen -u", "cat /etc/passwd".

List users with no password set: "sudo awk -F: '($2 == "") {print}' /etc/shadow"

List users with UID set to 0 (superuser): "sudo awk -F: '($3 == "0") {print}' /etc/passwd"

List info about a user: "id user1"

Set limits on users or groups: /etc/security/limits.conf

Login security can be defeated if attacker has physical access:
Alarming article about (a hole in) account security:
Abhishek Prakash's "How to Reset Ubuntu Password in 2 Minutes" (boot into Recovery mode)
Maybe there is some way to password-protect GRUB, or maybe this doesn't work if /home is encrypted ?
SK's "How To Password Protect GRUB Bootloader In Linux"

Another way to change passwords if you have physical access: boot the machine from a Live system on USB or CD, do "sudo -i", do chroot to the main system disk, do "passwd $username".

Ask Ubuntu's "How do I reset a lost administrative password?" (boot into Recovery mode)
SK's "How To Reset Root User Password In Linux"

Not sure, but I think these methods work even if user's home is encrypted. Access to the disk encryption passphrase is controlled by the user permissions, so once you login as the user (with any or empty password), software can decrypt the user's home.

PAM (Pluggable Authentication Modules):
Files in /etc/pam.d directory.

To enable TOTP on desktop logins:
If you're going to enable this, I would save a copy of "/etc/pam.d/lightdm", then create another user account, login to that account, and enable TOTP on that account, to make sure everything works.

Chris Hoffman's "How to Log In To Your Linux Desktop With Google Authenticator"
nixCraft's "Secure Your Linux Desktop and SSH Login Using Two Factor Google Authenticator"

"sudo apt-get install libpam-google-authenticator".
"man google-authenticator".

Keyring / GnomeKeyring / ksecretservice:
GNOME Keyring
Keyrings(7) man page
LZone's "Using Linux keyring secrets from your scripts"
On CLI, do "cat /proc/keys" to see some of the keys in the keyring.
On CLI, do "man keyctl".

SSH logins:
Chris Hoffman's "How to Secure SSH with Google Authenticator’s Two-Factor Authentication"
Linuxaria's "Add security to your ssh daemon with PAM module"

From Ravi Saive's ""How to Setup Two-Factor Authentication (Google Authenticator) for SSH Logins:
"Important: The two-factor authentication works with password based SSH login. If you are using any private/public key SSH session, it will ignore two-factor authentication and log you in directly."

SK's "How To Configure SSH Key-based Authentication In Linux"
Alistair Ross's "How To Set Up SSH Keys"
Carla Schroder's "5 SSH Hardening Tips"

Security Test / Audit:

Server Density's "80 Linux Monitoring Tools"
Daniel Miessler's "A tcpdump Tutorial and Primer with Examples"
"sudo tcpdump -i lo -A | grep Host:"
netstat: "sudo netstat -atupl"
lsof: "sudo lsof -i" to see established connections.
ss: "sudo ss -lptu".
NixCraft's "ss command: Display Linux TCP / UDP Network/Socket Information"
NixCraft's "Linux: 25 Iptables Netfilter Firewall Examples For New SysAdmins" (see "27. Testing Your Firewall")
nethogs: install from Mint's Software Manager, and then "sudo nethogs"

CERT's "Intruder Detection Checklist"

See the "Port scanning and router testing" section of my "Computer Security and Privacy" page.

SEI's "Steps for Recovering from a UNIX or NT System Compromise" (PDF)

Connecting Linux and Windows:
Separate Linux machine and Windows machine:

Could just format a USB drive as NTFS and move it back and forth.

Create file-share on Linux:
Mohd Sohail's "Share Folders On Local Network Between Ubuntu And Windows"
Also Nemo-share extension to Nemo.

Create a file-share on Windows:
In Windows, create file-share, add permission in BOTH Sharing and Security. Then in browser on Linux, go to address "smb://IPADDRESS/SHARENAME", login with Windows account username and password.

Various ways:
Sandra Henry-Stocker's "How to share files between Linux and Windows"
Sandra Henry-Stocker's "Moving files between Unix and Windows systems"
Kristen Waters' "How to Mount SMB or NFS Shares With Ubuntu"
/u/Schlingnt's guide

In a single-machine dual-booting situation:

Mount Linux filesystem while running Windows:
Mount the Windows main partition (NTFS filesystem) for read/write access under Linux:

Windows must be fully shut down, not hibernated, to allow Linux to have read/write access to the Windows partition. If all you want is read-only access in Linux, ignore the rest of this section.

In Windows 10, normally if you select "Start / Shutdown", it hibernates, doesn't fully shut down.

Ways to make Windows fully shut down:
  • Turn off "Fast Startup", and now "Start / Shutdown" will do a full shutdown.
  • Hold down Shift key while selecting "Start / Shutdown", and it will do a full shutdown.
I think it's best to leave "Fast Startup" turned off. But Windows will start up slower.

Chris Hoffman's "How to Mount Your Windows 10 (or 8) System Drive on Linux"
Unix & Linux Stack Exchange's "How to mount the 'D:\' disk of Windows in linux mint?"'s "gnome-disk-utility"

But: Ubuntu 18 / Mint Tara automatically recognizes Windows OS partition in a dual-boot system and mounts it; no package installation or other steps needed. It was read-only in my live session, maybe because I didn't shut down Windows fully.

Connecting Two Linux Machines:
Alexandru Andrei's "How to Use Netcat to Quickly Transfer Files Between Linux Computers"

Special hardware:

After using Linux for a while:

Problems and troubleshooting:

Easy Linux tips project's "Solutions for 27 bugs in Linux Mint 19.1"
Easy Linux tips project's "System hacks for advanced Linux Mint users"

Easy Linux tips project's "Complete starters' guide for Linux Mint"
Linux Mint's "The Linux Mint User Guide"'s "Tutorials"
Paul Hill's "Ten things to do after installing Linux Mint 18.3"

Looking at Other Distros:
RenewablePCs' "Which Linux distros are the best?"
Gary Newell's "How To Choose The Best Linux Distro For Your Needs"
It's FOSS's "Explained: Which Ubuntu Version Should I Use?"
Adarsh Verma's "Top 10 Best Linux Distros For 2018 - Ultimate Distro Choosing Guide"
Adarsh Verma's "9 Most Beautiful Linux Distros You Need To Use"
RenewablePCs' "Desktop Environments for Linux"
Distro Chooser

Jason Evangelho's "Linux For Beginners: Understanding The Many Versions Of Ubuntu"
Gary Newell's "Ubuntu vs Xubuntu"
Canonical's "Ubuntu flavours"
Canonical's "Derivatives"
Ubuntu forums

Sense I'm getting from various places: Upgrading Ubuntu from one major release to another often breaks something; better to do a fresh install. But Mint doesn't have that problem, upgrades are smooth.


Chris Hoffman's "The Linux Directory Structure, Explained"
Debian's "Device Names in Linux"
Gary Newell's "Complete List of Linux Mint 18 Keyboard Shortcuts for Cinnamon"
OSTechNix's "3 Good Alternatives To Man Pages Every Linux User Should Know"
TLDR pages ("simplify the beloved man pages with practical examples")
P. Lutus's "How to Use Secure Shell"

Using your Linux box to do penetration-testing of other devices:
See my Penetration Testing and Bug-Bounty Hunting page

Buying a new laptop to run Linux:
Ubuntu's "Ubuntu Desktop certified hardware"

Easy Linux tips project's "Windows 10: how to prepare it for dual boot with Ubuntu or Linux Mint"
Ubuntu's "UEFI"
Adam Williamson's "UEFI boot: how does that actually work, then?"

From Linux Mint Installation Guide:
"The [same] Linux Mint ISO can be booted both in EFI or BIOS mode."

From Linux Mint Installation Guide - Multi-boot:
"If you want to dual-boot or multi-boot with Windows, it is easier and recommended to install Windows first, before you install Linux Mint."

From Linux Mint Installation Guide - EFI:
"If after installing Linux Mint in EFI mode, you are unable to boot due to a Secure Boot Violation, you can try one of the following solutions:
- Re-install, and do not select 'Install third-party software for graphics and Wi-Fi hardware, Flash, MP3 and other media', or
- Disable SecureBoot in the BIOS settings."

From someone on reddit:
"Be aware that 'newly released' laptops are often the most problematic things to install linux on."
"Typically on my nvidia systems i use the following kernel boot options to try to get things sane, so i can install: nomodeset,nofb,nosplash,noquiet."

Not sure if this applies to all/most new machines:
To boot Linux on USB (before installing): In Setup, set UEFI mode, disable legacy mode, disable secure boot, set SATA mode AHCI, disable RAID. Reboot, enter your system's one-time boot menu, select the install USB device from the UEFI devices list, not the legacy devices list.

With UEFI, you want an EFI partition of 512 MB, and rest of disk as one partition for Linux ?

Compiling stuff from source:
Chris Hoffman's "How To Compile and Install from Source on Ubuntu"

SK's "An Easy Way To Remove Programs Installed From Source In Linux"
Ubuntu's "CheckInstall"

I don't know how to register a compiled app under apt. But once you've done so, you can create a .deb file from it by using "dpkg-repack".

Setting up a Linux server:
From people on reddit:

Some alternative web servers: Apache, Nginx, node-http-server.

SK's "Install Apache, MariaDB, PHP (LAMP stack) in Ubuntu 18.04 LTS Server"
Bryan Kennedy's "My First 5 Minutes On A Server; Or, Essential Security for Linux Servers"
Ubuntu Geek's "Step By Step Ubuntu 18.04 (Bionic Beaver) LAMP Server Setup"
Megha Pandey's "10 steps to secure Linux Server for Production Environment"
imthenachoman / How-To-Secure-A-Linux-Server

If you want to contribute to the Linux community:
You could donate money to a project.

You could pick an app and help to test it or improve the docs or port it to more distros.

LTP - Linux Test Project

Bookmark and Share

Home     Site Map

Privacy policy