NOTE: This is a large post because I’m updating it as I experience/learn new things about Linux. Don’t be intimidated by the content or size of this post – Ubuntu Linux is actually much more user friendly than Windows and will likely perform much better on your existing hardware…

Table of Contents

Installation (assuming you are already running Windows)

  • Download Ubuntu ISO file – get it here
  • Download and run Rufus to create the bootable USB image on your thumbdrive (your thumbdrive must be 4 GB or larger)
  • Turn off BitLocker
  • Turn off FastStart
    • Open the Control Panel and select Power Options.
    • Click on “Choose what the power buttons do.”
    • Click on “Change settings that are currently unavailable.”
    • Scroll down to the “Shutdown settings” section and uncheck the “Turn on fast startup” opt
    • ion.
    • Click “Save changes.”
  • Turn off Secure Boot
    • Note: If you are using a Surface device you need to hold down Volume Up while the machine is booting up. For all other devices you can press and hold the Shift key while the machine is booting up.
  • Install Ubuntu
  • Install the restricted extras package which includes some proprietary components not included in the stock OS, including some truetype fonts and codecs:
    • Hit Control+T to open up Terminal and enter the following command:
    • sudo apt install ubuntu-restricted-extras
    • Note: During the installation it will download and install TrueType fonts which requires you to accept an End User Agreement (EULA). When the EULA screen appears hit the TAB key to select the appropriate option and hit ENTER to choose it.
  •  PROs:
    • Ubuntu is incredibly user friendly and supports well-known Windows hotkeys. It also comes with Libre Office – an open source suite of tools compatible with Microsoft Office.
    • My laptop (an old Surface) feels much faster.
  •  CONs:
    • I still haven’t figured out how to get the Surface’s built-in cameras to work.
    • The keyboard drivers are a bit wonky – sometimes the cursor jumps to another part of the screen if I type too quickly. This is annoying and I am looking for a fix.
  • Overall:
    • I  like it a lot and am staying with it.

Install a virus scanner

  • ClamAV is free and open-source antivirus software that can be used to find trojans and malicious software and other viruses in your system.
  • Go into Terminal by hitting Ctrl+T and enter the following command to install:
    • sudo apt-get install clamav clamav-daemon -y
  • Stop the scanner and install the latest virus database:
    • sudo systemctl stop clamav-freshclam
    • sudo freshclam
  • Start the scanner and enable it to start at system restart:
    • sudo systemctl start clamav-freshclam
    • sudo systemctl enable clamav-freshclam
  • Optional: Install a GUI for ClamAV anti-virus:
    • Hit CTRL+T to open Terminal and enter this command:sudo apt-get install clamt

Install a better browser

A Solution to the Jumping Cursor Issue

  • This issue might also be caused by inadvertently brushing the touchpad while I was typing. I installed the Touchpad Switcher extension to enable quickly disabling and re-enabling the touchpad. This extension adds a small toggle to the system settings dropdown available in the upper right corner of the screen. No more jumping cursor issues when typing!

Accessing Your Windows Partition from Ubuntu

  • By default you’ll see it but you can’t access it (mount it).
  • Go into the Ubuntu Disks Utility (lower left corner/Show Apps/Utilities/Disks)
  • Click your disk in the left column
  • Click on your Windows partition and click the gear
  • Click Edit Mount options
  • Turn off User Session Mounts, add ,remove_hiberfile and save it.
  • You can now access your Windows partition from Ubuntu.

Desktop Icons

  • Current version of Ubuntu doesn’t support Desktop icons. You can re-enable this by installing Gnome Extensions.
  • First, install Extension Manager: sudo apt install gnome-shell-extension-manager
  • Next, remove the outdated desktop extension that this installed: sudo apt remove gnome-shell-extension-desktop-icons-ng
  • Logout and log back in (via upper right corner) to enable Extension Manager.
  • Extension Manager is accessible in your Applications (click the Ubuntu icon in lower left corner).
  • Open Extension Manager, click Browse tab and type ding
  • Multiple extensions may show up. Pick the one with GTK4 and click the Install button.
  • Desktop icons should now show up. 
  • Notes:
    • Drag and drop creation of shortcut URLs from a browser are not yet supported. You can install an alternate desktop manager like nemo which supports this. I found that nemo seems to break WayDroid (see below) so I uninstalled it. 

Install a SlickRun-like tool for Ubuntu

  • When I ran Windows SlickRun was the one tool I couldn’t do without. It was always the first thing I installed when I got a new Windows PC.
  • After some searching I found Ulauncher which provides a similar SlickRun experience but is actually far more powerful.
  • Here’s how to install Ulauncher on Ubuntu (other distro directions are available at this link):
    • Hit Control+T to open up the terminal command.
    • sudo add-apt-repository universe -y && sudo
      add-apt-repository ppa:agornostal/ulauncher -y && sudo apt
      update && sudo apt install ulauncher
  • After running these commands go to your apps (click the Ubuntu icon in the lower left corner). Scroll to the right until you see the Ulauncher icon. Click on it to run Ulauncher.
  • You won’t see anything but the Ulauncher icon should appear near the top right of your screen to indicate it’s running in the background. Click on it and select Preferences.
  • Set the Hot Key to something you’ll never use. Also ensure you set Render On to “Monitor with mouse pointer”. This was Ulauncher will “chase your cursor” as SlickRun did.  Here’s how my preferences are set:
  • Close the preferences and follow these extra steps to ensure Ulauncher will respond to your designated Hot Key in Ubuntu (you won’t be using the Hot Key you defined in the Ulauncher preferences):
    • Install package wmctrl (needed to activate app focus):
      • sudo apt-get install wmctrl
    • Go to your apps (click the Ubuntu icon in the lower left corner). Click onSettings > Keyboard then scroll down to View and Customize Shortcuts > Custom Shortcuts > +
    • In Command enterulauncher-toggle, set name and shortcut to your preferred Ulauncher Hot Key, then click Add:
  • As shown above I set the Hot Key (Shortcut) to my favorite SlickRun Hot Key ALT+Z
    • Note: I also recommend setting a Custom Shortcut to launch Ubuntu’s File Manager (emulating the Windows hot key to launch Explorer):
  • Now when you hit your Hot Key a Ulauncher command line shows up just like SickRun used to work in Windows:
    • Click the cog to open the Preferences, then click the shortcuts tab. Here is where you can define your “Magic Words” as SlickRun used to call them. There are a few built-in and you can add your own. I customized the built-in Google command to use Brave Search instead:
    • Like SlickRun you can also enter commands or app names into the pop-up command line.
    • You can also install a number of Extensions through the Extensions Tab.
      • I like the Simple Notes Extension – it reminds me of the Jot option in SlickRun. It appends to a file called note.md in your Home folder:
    • You can also do a lot more with Ulauncher.

Enable opening any folder or file as Admin from within File Manager

  • To enable open as administrator or root option, first, you need to install nautilus administrator tools in your system. To install this tool open terminal by pressing ctrl+alt+t and then execute the following commands in it:
    • sudo apt update
      sudo apt install nautilus-admin
  • Now when you are in the File utility you can right-click on a folder or file to open it as an Administrator:

Run Android Apps on Ubuntu

      •   Install Waydroid 
        • sudo apt install curl ca-certificates -y
        • curl -s https://repo.waydro.id | sudo bash
        • sudo apt install waydroid -y
      • Initialize Waydroid with the GAPPS branch in Terminal (or run the GUI and choose GAPPS from the dropdown):
        • sudo waydroid init -s GAPPS
      • Note: if you have previously initialized a non-GAPPS branch of Waydroid, you must remove it first with:
        • sudo rm -r /var/lib/waydroid
        • sudo rm -r /home/.waydroid
        • sudo rm -r ~/waydroid
        • sudo rm -r ~/.share/waydroid
        • sudo rm -r ~/.local/share/waydroid
      • Waydroid is accessible in your Applications (click the Ubuntu icon in lower left corner).
      • Register Waydroid with Google Services. This enables Google Play, enabling you to install and run Android apps.
        • Go to https://www.google.com/android/uncertified/ and sign in with the Google account you wish to register this device with.
        • In your host’s terminal, enter the following command to retrieve & print the Google Services Framework Android ID: echo 'ANDROID_RUNTIME_ROOT=/apex/com.android.runtime sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\";"' | sudo waydroid shell
        • This ID will only exist if the Google Play Store has been successfully opened at least once on the device.
        • Copy the retrieved number into the URL above & click Register.
      • You can pin Android apps to the Ubuntu sidebar after installing them in Waydroid. 
Reinstalling Waydroid

In case you need to remove Waydroid and start over, follow the steps below:

      • Stop the session and containers:
        • waydroid session stop 
        • sudo waydroid container stop
      • Remove Waydroid:
        sudo apt remove waydroid
      • Reboot, log back in and do a little cleanup:
  • sudo rm -rf /var/lib/waydroid /home/.waydroid ~/waydroid ~/.share/waydroid ~/.local/share/applications/*aydroid* ~/.local/share/waydroid
      • Now you can follow the install instructions again.
Install NordVPN
  • Go to App Center(click Ubuntu logo in lower left corner, scroll and click on App Center),
  • Search for and install NordVPN.
  • Nord should appear in your applications after install completes (click Ubuntu logo in lower left corner, scroll to Nord).
  • Troubleshooting:
    • I noticed Nord wouldn’t work after I installed it. It opened a Terminal window which quickly closed and nothing happened.
    • If you experience this issue Nord likely doesn’t have the necessary permissions. Fix this by running the following commands in Terminal (Ctrl+T):
      • sudo snap connect nordvpn:hardware-observe
        sudo snap connect nordvpn:network-control
        sudo snap connect nordvpn:network-observe
        sudo snap connect nordvpn:firewall-control
        sudo snap connect nordvpn:login-session-observe
        sudo snap connect nordvpn:system-observe
  • Connect to a server:
      • Enter the following command in Terminal (Ctrl+T):nordvpn connect United_States will connect you to the nearest US city for your current location.
      • nordvpn countries will provide a list of countries you can connect to. Pipe it to grep to find a specific country (e.g. nordvpn countries|grep United).
      • nordvpn cities <country> will provide a list of cities within that country that you can connect to (e.g. nordvpn cities United_States).
      • Connect to a specific city by using its name: nordvpn connect Seattle
  • Optional: Install NordVPN GUI for Ubuntu
  • NordVPN for Ubuntu does not include a GUI to manage the connection. Install a 3rd party tool to enable a GUI as shown above:
    • Clone the repository git clone https://github.com/GoBig87/NordVpnLinuxGUI or download the compressed file here https://github.com/GoBig87/NordVpnLinuxGUI/tags
    • Tweak the requirements to avoid running into issues after installation:
      • Open requirements.txt (in the the NordVpnLinuxGUI-1.0.4 folder of the extracted zip file) and change Kivy==2.1.0 to Kivy==2.3.0
      • Save and exit the file
    • Open Terminal (Ctrl + T) and navigate to the NordVpnLinuxGUI-1.0.4 folder in the extracted zip file.
    • Install by entering the following command: ./installer.sh
    • After installing a NordVPN icon should appear on your desktop. Right clicking on the NordVPN icon and select “allow launching”.

Fix Problems with an External Drive

  • I have a very large external drive that I used when I was running Windows. That means the drive was formatted as NTFS.  The drive was automatically recognized when I first installed Ubuntu and I’ve never had an issue accessing it.
  •  One day I tried to access the drive and received an error about the drive not being accessible.
  • I panicked, thinking I lost some important data. I also realized I hadn’t been backing up this drive. Luckily I was able to recover everything with zero data loss by using the following commands:
    • sudo fdisk -l
      • This command produces a list of drives connected to your computer. Note which drive is the one you’re having problems accessing – you’ll need the Device id need later.
    • sudo apt-get install nfs-common
      • nfs is the Ubuntu Network File System
      • You may notice some messaged about services not running but you can ignore these warnings.
      • You won’t need to run this command if you previously installed this utility (although there is no harm in running it again).
    • sudo apt-get install cifs-utils
      • The SMB/CIFS protocol is a standard file sharing protocol widely deployed on Windows PCs. This package contains tools for mounting shares on Linux using the SMB/CIFS protocol. The tools in this package work in conjunction with support in the kernel to allow one to mount a SMB/CIFS share onto a client and use it as if it were a standard Linux file system.
      • You won’t need to run this command if you previously installed this utility (although there is no harm in running it again).
    • sudo ntfsfix -d <Device-id-of-the-drive-you-are-trying-to-fix>
      • ntfsfix is a utility that fixes common NTFS problems.
      • Make sure you use the Device id for the drive you are trying to access (get this from the output of the fdsk -l command as highlighted in the example shown above). For this example I used sudo ntfsfix -d /dev/sda1
      • You may see some warnings such as “Comparing $MFTMirr to $MFT… FAILED”  – ignore these.
      • The final result should be “NTFS partition <Device-id-of-the-drive-you-are-trying-to-fix> was processed successfully.”
  • At this point your access issues should be fixed and you should be able to access your external drive without any issues. None of your data was lost.
  • Notes:
    • It’s best to unmount your external drive when you are done using it:
    • Go into the Files application. Esnure you aren’t viewing the files on the drive you want ot unmount.
    • Click the up arrow to umount the external drive.
    • Right click on the drive and choose the Safely Remove Drive option.
    • Do not power off the external drive until the LED has stopped flashing.
    • Unmounting won’t damage your disk or data. Unmounting an external drive syncs the filesystem, making it safe to power the external drive off or eject the disk.
    • Unplugging an external drive it while it is powered on or in use/unmounted can corrupt the data.

Update all installed applications and packages

  • Hit Ctrl+T to open Terminal and enter the following command:
    • sudo apt update && sudo apt upgrade -y

Install TrueCrypt

  • Hit Ctrl+T to open Terminal and run the following commands:
    • sudo add-apt-repository ppa:stefansundin/truecrypt
      sudo apt-get update
      sudo apt-get install truecrypt
  • Keep Terminal open and run the following commands to automatically grant TrueCrypt root privileges to mount volumes:
    • create a file called TrueCrypt in /etc/sudoers.d/truecrypt :
      • sudo visudo -f /etc/sudoers.d/truecrypt
    • copy and paste the following into the file:
      • %sudo ALL=(ALL) NOPASSWD:/usr/bin/truecrypt
    • hit Ctrl+O to write the pasted contents to the file and Ctrl+X to exit.
  • To uninstall, hit Ctrl+T to open Terminal and run the following commands:
    • sudo apt-get remove truecrypt truecrypt-cli
      sudo apt-add-repository --remove ppa:stefansundin/truecrypt
      sudo apt-get update
      rm -r ~/.TrueCrypt

Install KeePass

    • Open Terminal (CTRL + T) and run the following command:
      sudo add-apt-repository ppa:phoerious/keepassxc
      sudo apt update
      sudo apt-get install keepassxc

Install Calibre

  • Calibre is a better, more open way to read e-books (.EPUB format, compatible with Kindle).
  • Open Terminal (CTRL + T) and run the following command:
    sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
  • You can download many free e-books at Anna’s Archive.

Installing a .deb (Debian Package)

  • Sometimes you’ll need to download a program to install.
  • Deb packages are manually installed using the dpkg command (Debian Package Management System):
    • sudo apt install ./package.deb
  • If dpkg reports an error due to dependency problems, you can run sudo apt-get install -f to download the missing dependencies and configure everything.
    • If that reports an error you’ll have to sort out the dependencies yourself by following this example.
  • To uninstall a package you’ve installed manually use this command:
    • sudo apt remove package.deb
  • For an easier alternative you can install gdebi which enables you to double-click on a .deb file in File Manager to install.  To install gdebi:
    • sudo apt update
    • sudo apt install gdebi
  • Now right-click .deb package, select “Open With..gdebi Package Installer” and set this as the default action for .deb packages.

Problems with a Thumbdrive (USB key)

      • I had a large thumbdrive (USB key) and reformatted it as FAT so I could use it with any system (Windows, Macs, etc).  I must not have unmounted it properly because I kept seeing errors when I tried to use it on my Ubuntu machine (e.g. “drive is in use”, etc).
      • I tried to fix this by going into the Disks utility – I was able to see the drive and its partition when the key was inserted but I couldn’t do anything with it due to the errors.
      • The solution was to force unmount it and reformat it to correct any issues with the partition (I didn’t really need the data that was on it). To do this:
        • Go into the Disks utility and make note of the name of the mounted thumbdrive:
        • Use the mount location of the USB key to force unmount it (note the unmount command does not contain the letter n!):
          • umount -l /PATH/OF/BUSY-DEVICE
          • umount -f /PATH/OF/BUSY-NFS (NETWORK-FILE-SYSTEM)
        • This should successfully unmount your thumbdrive. You can then do into the Drives utility and create a new partition. Remember to always unmount and safely eject thumbdrives to avoid this issue in the future,
        • Notes:
          • The above commands can disrupt a running process, cause data loss or corrupt open files on the drive.
          • Programs accessing target DEVICE/NFS files may throw errors or could not work properly after forcing an unmount.
          • Do not execute above umount commands when inside mounted path (Folder/Drive/Device) itself. First, you may use pwd command to validate your current directory path (which should not be the mounted path), then use cd command to get out of the mounted path – to unmount it later using above commands.