Category: Uncategorized

Dell XPS 15

Ubuntu 21.04: Essentials

I’m a little late to the party here. I’ve been fighting with this install for 6 months! It got to the point that my laptop wouldn’t suspend and would crash when I would reboot. The next version of Ubuntu was released before I could get this proof read and published!

Restoring Files

I’ve been keeping a list of the files that I restore so I don’t forget anything. I like formatting the drive and starting from scratch, but I have to be careful what I copy back, otherwise it defeats the purpose. Maybe this list will help you think through what you need to backup and restore on your system:

  • ~/.ssh: connection keys for SSH connections 
  • ~/app: (as in application development) this is where I keep my play space for programming projects
  • ~/Documents: where most of my regular files, like documents, of course
  • ~/DigitalEagleServices: work-related files
  • ~/Insync: OneDrive files (saves times resyncing from the Internet)
  • ~/.config/google-chrome: my Google Chrome browser profile, restores bookmarks, last used tabs, browser history, etc.
  • ~/.remmina: the configuration for Remmina, the remote desktop software 
  • ~/.sword: the data files for the sword project, which I use with Xiphos
  • ~/.vim: my custom configurations for the Vi editor
  • ~/.vimrc: the actual configuration file for the Vi editor
  • ~/.local/share/fonts: extra fonts that I have collected over the years
  • /etc/NetworkManager/system-connections: this saves all of my wireless connections and VPN connections (I’m not sure this worked this time)
  • .local/share/applications: I review this directory for shortcuts to apps that I use
  • ~/bin: certain programs and scripts that I installed manually
  • ~/Zotero: research data, depending on how you installed it may be in ~/snap/zotero-snap/common/Zotero
  • ~/.config/obs-studio: my setup (scenes, etc) for OBS Studio

Permissions are important for the SSH files. Here’s how I fixed them:

chmod 600 ~/.ssh/*
chmod 644 ~/.ssh/authorized_keys2
chmod 644 ~/.ssh/known_hosts
chmod 644 ~/.ssh/config
chmod 644 ~/.ssh/*.pub

The network manager connection files also have to have certain permissions. So, it is easier to restore them to my Downloads directory and then use these commands:

cd ~/Downloads/system-connections/
chmod 600 *
sudo chown root:root *
sudo cp * /etc/NetworkManager/system-connections/
sudo service NetworkManager restart


Flameshot is my current screenshot tool. I need it installed sooner than later to help document. First off, it’s easy to install with:

sudo apt install flameshot

To make it better, I like it mapped to the print screen button. That way I get the control of Flameshot for every screenshot. Here’s the commands I can run on the command-line to make that happen:

gsettings set screenshot '[]'
 gsettings set custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']"
 gsettings set name 'flameshot'
 gsettings set command '/usr/bin/flameshot gui'
 gsettings set binding 'Print'

Finally, I went to Configuration > General and checked “Launch at startup”.

Note: My old favorite was Shutter. I haven’t installed it and gone back to it yet.


My favorite browser so far has been Google Chrome. I could make arguments for other browsers, but Chrome has been my favorite for a while. I downloaded the browser package from Google’s Website and installed it by double clicking on it in the Downloads folder (opened in the Software Center).

Don’t forget, I also restored my profile in ~/.config/google-chrome to keep all of my bookmarks and such. After that, I just had to sign in to my Google account at the upper right corner of the browser because it said the sync was paused. I had to sign in to all of the websites because it lost the session, but that was no big deal. I was back in business where I left off.

I also went to System Settings > Default Applications and set the default for Web to Chrome.

Password Management

On past installations, I have used KeePass2. Since getting into Flutter, I found AuthPass, which is a KeePass implementation in Flutter. So, I’m jumping ship and going for it. Their blog post documents an Apt repo, but that didn’t work. Here’s what I tried:

sudo add-apt-repository
sudo apt-get install authpass

Here’s the error you get when you try to update:

E: The repository ' hirsute Release' does not have a Release file.
 N: Updating from such a repository can't be done securely, and is therefore disabled by default.

Instead, I found a snap that I could install:

sudo snap install authpass

Cloud Syncs

Dropbox is the easiest cloud to get working. I don’t use it as much, but it’s nice to have. I just downloaded it from the website. I installed it and the dependency with:

sudo apt install python3-gpg
sudo apt install ~/Downloads/dropbox_2020.03.04_amd64.deb

After installing, it popped open a prompt to start Dropbox. That places the indicator icon by the clock. It also downloaded the “proprietary” binary required to make it work. It also opened a browser window to do the log in. I had trouble making that work until I signed into the website first and then connected the desktop client.

OneDrive itself doesn’t have a sync client. So, I have been using InSync. I just downloaded that from their website. Then, I installed with:

sudo apt install ~/Downloads/insync_3.4.2.40983-focal_amd64.deb

Like Dropbox, a short while after installing, it prompts to start InSync:

It starts by asking which account type you want to sync. When I picked Microsoft OneDrive, it opened the browser to a sign in page.

After signing in, this window took me through a few steps. I accepted the defaults until I got to the folders to sync. Then, I picked my folder for KeePass and for Joplin.

Work Software

I use VMWare Horizon for connections. I downloaded it from the website and installed with these commands:

cd ~/Downloads/
sudo chmod +x VMware-Horizon-Client-2103-8.2.0-17742757.x64.bundle
sudo apt install python
sudo ./VMware-Horizon-Client-2103-8.2.0-17742757.x64.bundle

I accepted the default for all of the questions after accepting the agreements. I had no problems with the install.

Teams is another key software needed for work. It allows me to chat and screenshare with others. I downloaded the official client from the website. I downloaded the deb file for the desktop client.

sudo apt install ~/Downloads/teams_1.4.00.13653_amd64.deb


I have an Nvida card, so I wanted to install the driver. Last Ubuntu version automatically installed the drvier. This time, I had to do it myself. I opened the Additional Drivers app an selected the 465 driver:

After trying the 465 and 470 drivers for a while, I found it was locking up a lot. Chrome and Teams would crash everytime I would open the laptop lid up. I guess restoring after a suspend caused memory issues. Worse, it would lock up everytime I would disconnect from my D6000 dock. So, I tried the 450 driver I had on the previous version of Ubuntu.


I haven’t done some good testing to confirm, but I think Power Top has doubled my battery life. I installed with:

sudo apt-get install tlp powertop
sudo tlp start
sudo tlp-stat -s

Just because it’s fun to see as the years go by, here’s the stats:

--- TLP 1.3.1 --------------------------------------------
 +++ System Info
 System         = Dell Inc.  XPS 15 7590
 BIOS           = 1.10.0
 Release        = Ubuntu 21.04
 Kernel         = 5.11.0-22-generic #23-Ubuntu SMP Thu Jun 17 00:34:23 UTC 2021 x86_64
 /proc/cmdline  = BOOT_IMAGE=/vmlinuz-5.11.0-22-generic root=/dev/mapper/vgubuntu-root ro quiet splash vt.handoff=7
 Init system    = systemd v247 (247.3-3ubuntu3.1)
 Boot mode      = UEFI
 +++ TLP Status
 State          = enabled
 RDW state      = enabled
 Last run       = 11:30:47 PM,     10 sec(s) ago
 Mode           = AC
 Power source   = AC


To be prepared for any VPN requirement, I install all the VPNs:

sudo apt install vpnc \
    network-manager-vpnc \
    network-manager-openconnect \
    network-manager-openconnect-gnome \
    openconnect \
    network-manager-iodine \
    network-manager-openvpn \
    network-manager-strongswan \
    network-manager-openvpn-gnome  \
    network-manager-iodine-gnome \


LIbreOffice comes pre-installed. But, to keep it up to date, I added the official repository:

sudo add-apt-repository ppa:libreoffice/ppa

For Bible study software, I use Xiphos. Remember up in the backup section, I restored the .sword directory for the Bible text and commentaries.

sudo apt install xiphos

I’ve been using Zotero off and on for a while now. It’s hard to figure out the best way to install in a way that keeps it automatically updated. I finally found a place that claims to update the repository within 24 hours of updates. So, I’ll use that.

wget -qO- | sudo bash
sudo apt update
sudo apt install zotero

Restoring the data directory was a big challenging because I had use the snap before. I had to move the data from ~/snap/zotero-snap/common/Zotero to ~/Zotero

I’ve been using Joplin as my notes application. I installed it from the software center, but I noticed it was a snap app:

snap install joplin-desktop

After installing, I went to Tools > Options > Synchronization, and I changed the target to OneDrive. After that, I exited back out to the main app and clicked the Synchronize button. That took me through the login process.


The cups-browsed service is very annoying because it adds printers that don’t get removed. So, a laptop that travels around a bit just collects printers that never get removed.

sudo systemctl stop cups-browsed
sudo systemctl disable cups-browsed

To install my Dell E525W printer, I downloaded the driver from the Dell website. I unzipped and installed the deb package:

cd ~/Downloads/
sudo apt install ./dell-color-mfp-e525w_1.0-28_all.deb

I have found the settings app unreliable for working with printers. So, I used the cups web interface at http://localhost:631. I added an IPP printer with the URL ipp://DELLA40A1E/ipp/ and the PPD file located at: /usr/share/cups/model/Dell/Dell_Color_MFP_E525w.ppd.gz

Application Package Systems

Ubuntu comes with the ability to use DEB packages and snap packages. I used this to add AppImages:

cd ~/Downloads/
 wget ""
 chmod a+x appimaged-x86_64.AppImage
 ./appimaged-x86_64.AppImage --install

And, I added Flatpak:

sudo apt install flatpak

Misc Utilities

Here are just a few utilities that I install:

sudo apt install menulibre \
       p7zip-full p7zip-rar \
       synaptic \
  • Menu Libre is a menu editor that makes it easy to add .desktop files to the menu system
  • 7Zip is handy for compression, although I rarely use it
  • synaptic just makes it easier to see what is installed
  • gnome-tweak-tool has a few settings that lets you tweak your system

Balena Etcher is one more utility that is great for putting images onto USB drivers for installing. I downloaded the AppImage from their website.

To finished the tweaks, I opened the regular settings app and made these changes:

  • Changed the time display on the top bar to 12 hour display under Date & Time > Time Format
  • Added the percentage by the battery indicator under Power > Suspend & Power Button > Show Battery Percentage (at the bottom)
  • Added the an avatar picture for my login under Users > click on the picture

In the Tweaks app (Gnome Tweak Tool), I made the following setting changes:

  • Added the weekday to the date with Top Bar > Clock > Weekday
  • Changed the modal behavior by unchecking Windows > Attach Modal Dialogs


Before I can install any extensions, I had to install the chrome plugin:

sudo apt install chrome-gnome-shell

I also had to have this extension from the Chrome Store. Actually, I just restored my Chrome profile so the extension came with that.

So, then, these are the extensions that I like:

I retired these two extensions. I list them because maybe I’ll go back:

  • Caffeine: the tool I used to use stop the computer from going to sleep
  • Do Not Disturb Button: I used to use this for hiding notifications during meetings. It’s no longer maintained.

Media Apps

I’ve had issues with old versions of Gimp and collaborating with others . According to Gimp’s website, 2.10.24 is the latest version. Gimp came installed as a snap and it is actually the latest version. So, I left it alone.

sudo apt install inkscape \
  • Inkscape: My go to program for drawing (vector-based drawing)
  • Xournal: I use it for annotating PDFs

These are the programs I use with audio:

sudo apt install audacity \
           soundconverter \
           musescore3 \
  • Audacity: good for editing sound
  • soundconverter: good for changing sound formats
  • Musescore: good for working with sheet music
  • Easytag: good for changing the files’ meta-data


These are the basic programs I like:

sudo apt install mplayer \
       vlc \
  • mplayer: simple video player
  • vlc: good player that will play about anything
  • youtube-dl: makes it easy to download things from YouTube

For the codecs, I installed:

sudo apt install \
      libdvdnav4 \
      libdvd-pkg \
      gstreamer1.0-plugins-bad \
      gstreamer1.0-plugins-ugly \
sudo dpkg-reconfigure libdvd-pkg 

Note: If you forget that second (reconfigure) command, you’ll get errors like this every apt install:

libdvd-pkg: apt-get check failed, you may have broken packages. Aborting…
 N: Download is performed unsandboxed as root as file '/home/skp/Downloads/insync_3.4.2.40983-focal_amd64.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)

For OBS, I repeated what I did on the last version of Ubuntu:

sudo apt install ffmpeg
sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt install obs-studio

I found most of the plugins and such came over by restoring the config directory. One thing I did have to do was download the plugin from Dev47Apps and put it into ~/.config/obs-studio/plugins

Finally, I use Kdenlive for editing videos. I just downloaded the AppImage from their download page.


Ubuntu 16.04 — Utilities and Configuration

Continuing on with outfitting my new Ubuntu 16.04 install, this post contains my notes for installing the utilities that didn’t really fit into another post. I have some configuration changes that I like to make it my own.

Series Navigation:


The MenuLibre tool makes it easy to add shortcuts that allow you to launch programs from the Unity menu. It is a must have if you install anything manually without using a deb pacakge.


sudo apt-get install menulibre

Note: If you have shortcuts from an old installation, those would be located in the ~/.local/share/applications directory. (That helped me with shortcuts for which I forgot all of the command line parameters)


I use the File Roller application usually. But, I wanted the 7zip and rar libraries available:

sudo apt-get install p7zip-full p7zip-rar

Monitor Settings

For my dual screen setup at my desk, I have a few tweaks that I like to make. I can open the “Displays” settings app to make these changes:

  • Sticky edges: off
  • Launcher placement: only 1 screen

Package Managing Tools

With as much trouble as I am having with the Ubuntu Software app, I want the power of Synaptic.

sudo apt-get install synaptic

Another tool is the Y PPA Manager from Web Upd8:

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager

Compiz Settings Manager

The Compiz Settings Manager is a handy tool to tweak the compiz settings. I installed the compizconfig-settings-manager package from the Software Center.

sudo apt-get install compizconfig-settings-manager
sudo apt-get install compiz-plugins

If you search for “compiz” in the Unity menu, you can easily open it.

I like the Wobbly Windows, so I enabled that. It requires disabling Snappy Windows, which it will do for you.

Unity Tweak Tool

I installed the Unity Tweak Tool for a few more changes:

sudo apt-get install unity-tweak-tool

Then, under “Panel”, I added the seconds, date, and weekday to the clock.  And, I checked “Display remaining battery life”.  Under scrolling, I changed the scrollbars to legacy.  I don’t like the Overlay ones that hide.


In the Appearance Settings app, I made 2 changes:

  • Show the menus for a window: In the window’s title bar
  • Menus visibility: Always displayed


There are times that I don’t want my computer to lock. I am finally installing the caffeine indicator to make that easy.

Previously, you had to add a repository.  I found in this bug report, that caffeine has been brought into the main Ubuntu repositories.

sudo apt-get install caffeine

After installing, I added the indicator to the startup applications. I opened “Startup Applications” from the dash. “Caffeine” was already in the list. The indicator was not. I added “caffeine-indicator” to the list.


Ubuntu 16.04 — Restore

This is my first post in the series for installing Ubuntu 16.04 on my Inspiron 17R laptop. In this step, I am mainly just restoring files and putting the data back after formatting the drive.

Series Navigation:

I didn’t take screenshots of the install process. I just basically accepted the defaults.

Restoring files

These are the directories that I restored.  Maybe it will give you an idea of things you may want to restore if you do the same thing.

  • ~/.ssh: The keys for my remote ssh connections — most important because of backuppc restoring
  • ~/Documents: This is where I put all my document files
  • ~/Pictures: I have Shotwell pointed at this directory, so it contains all the pictures from my cell phone and digital camera
  • ~/GideonTaylor: I keep my work files in a different directory
  • ~/.config/google-chrome: The settings for Chrome (extensions, bookmarks, etc)  (or, ~/.config/google-chrome-beta)
  • ~/.local/share/keyrings: My saved passwords
  • ~/.Skype: Skype history
  • ~/.remmina: The settings for my remote connections
  • ~/.local/share/shotwell: The settings and thumbnails for my photos
  • ~/.sword: The downloaded Bible files for Xiphos (and the underlying Sword library)
  • ~/.filezilla: The settings for my FTP connections
  • ~/.sqldeveloper: The connection settings for SQL developer
  • ~/.vim: stores the plugins installed in Gvim
  • ~/.vimrc: preferences for Gvim
  • /etc/NetworkManager/system-connections: this saves all of my wireless connections and VPN connections

My backup this time was located on an external USB drive.  I also had a BackupPC installation, but I didn’t restore a lot from it.  For smaller directories/files, just copy and paste works fine.  For larger directories, it was better to use grsync, which I installed from Ubuntu Software.

Shortcuts / Menu Entries

I had a couple of items that I had added to help me get to Vmware View machines.  Unfortunately, I didn’t remember the exact commandline.  Instead of looking it up again, I found that I could copy the .desktop files from the directory:

  • ~/.local/share/applications


I’m not going through the whole configuration of the server.  In this case, I just need it to connect and begin to back up the laptop after my install.

I checked the version of my apps:

$rsync --version
rsync version 3.1.1 protocol version 31

First, SSH is not enabled on Ubuntu 16.04 by default.  I had to install it:

sudo apt-get install openssh-server

Then, I generated the keys with this command (left the passphrase blank)

sudo ssh-keygen -t rsa

On my backup server, the backuppc user’s home directory is /var/lib/backuppc (you can confirm in the /etc/passwd file).  Using vi, I copied the contents of  /root/.ssh/ on the client to /var/lib/backuppc/.ssh/known_hosts.  I’m not sure this step worked … on my test I had to remove the pistachio key (maybe I should have done that first):

ssh-keygen -f "/var/lib/backuppc/.ssh/known_hosts" -R pistachio

Then, I opened up /root/.ssh/authorized_keys2 on my laptop (client) and pasted the contents of /var/lib/backuppc/.ssh/ from the server. In the end, Copy and Paste in a text editor wasn’t good enough. I had to scp the file across between the computers.

I verified security on the directory:

sudo chmod -R go-rwx /root/.ssh

Finally, I tested as the backuppc user on the backup server:

sudo su backuppc
ssh -l root pistachio whoami

To troubleshoot, I ran the server with debugging messages as root:

service ssh stop
/usr/sbin/sshd -d

Next time, I will configure Backup PC to backup the root .ssh directory to avoid having to reconfigure all of this.

Next Steps

If you want to follow along with my install process, you can check out the next post: Ubuntu 16.04 — Internet.