Category: My Hardware

ThinkPad Install Notes

Previously, I posted that I got a new computer and some of my thoughts on the new computer. Well, even though it came with Ubuntu (the older 22.04 release), I still had to set it up the way I like that. That means another Installation Notes article. Here’s everything I did to get it running like my old laptop.

Restoring Files

First thing to do is to copy all of files over from the old laptop. Here’s my list of things to copy.

  • ~/.ssh: SSH connection setup
  • ~/.cert: needed for my VPN
  • ~/app: my programming files
  • ~/Documents: As the name says, my documents
  • ~/DigitalEagleServices: work-related files
  • ~/Insync: I have a few files in here that help with setting things back up, otherwise Insync will restore them
  • ~/.config/google-chrome: Actually, I skipped this one because I switched to Chromium
  • ~/.remmina: setup for Remmina
  • ~/.sword: All the Bibles and Commentaries for Xiphos
  • ~/.vim: configuration for the gVim editor
  • ~/.vimrc: main config file for gVim
  • ~/.local/share/fonts: fonts that I have collected over the years
  • /etc/NetworkManager/system-connections: VPN and Wifi connections
  • .local/share/applications: I restored of few of the application shortcuts
  • ~/bin: programs … this is automatically on the path
  • ~/Zotero: data from the Zotero application, could also be in ~/snap/zotero-snap/common/Zotero
  • ~/.config/obs-studio: OBS Studio configuration
  • ~/OBS Setup: my support files for OBS like backgrounds, etc.
  • ~/.config/Postman: Postman configuration

The SSH files need special permissions:

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

Screenshots/Flameshot

Screenshots tend to be first on the list to install just so that I can document the install. I installed Flameshot for that.

sudo apt install flameshot

Then, I also like for the print screen button to trigger flameshot. So, I set that up as well with the following commands:

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

Password Manager/Authpass

The next thing is my password manager so that I can get into things. Authpass has been my favorite so far. I found there’s a new repository with the latest version. It’s published through Package Cloud. Unfortunately, that repository doesn’t work.

sudo apt install curl
curl -s https://packagecloud.io/install/repositories/authpass/authpass/script.deb.sh | sudo bash

I am assuming 20.04 isn’t supported, so I get this error message:

Err:8 https://packagecloud.io/authpass/authpass/ubuntu focal Release  
  404  Not Found [IP: 52.52.159.34 443]
Reading package lists... Done                   
E: The repository 'https://packagecloud.io/authpass/authpass/ubuntu focal Release' does not have a Release file.

Instead, the snap in the Software Store looks up to date, so I’m just going to go with that.

I did have to run this command afterward:

snap connect authpass:password-manager-service

Shortcuts

To start, I installed Menu Libre. That makes it easy to add shortcuts that go on the menu.

sudo apt install menulibre

I also selectively restored some of the shortcuts in the $HOME/.local/applications directory. The filenames for the Flutter applications are a bit finicky to get the icon displaying.

I did have a few of the “.desktop” shortcut files that would not show up in the menu. I finally found out that I had forgotten to copy the shell script that it was pointing to. I also found it wouldn’t show up when the icon that I had chosen wasn’t there. The bottom line is to not forget to restore all of the pieces.

Browser

I usually use Chrome as my daily driver for the browser, but this laptop came with Firefox and Chromium pre-installed. I decided to give Chromium a shot. The only problem is that it doesn’t seem to sync with my Google account as far as browser history and favorites, etc. So, I have to rebuild all of that.

One big setting that I was used to was that it would reopen all of my previous tabs. That’s probably a bad habit, but I’m sticking with it for now. The setting is under “On Startup”.

Work Software

My remote desktop tool is Vmware Horizon for a little bit longer. I downloaded the 64-bit Linux bundle from Vmware’s website. I installed it with these commands:

cd ~/Downloads/
sudo chmod +x VMware-Horizon-Client-2309.1-8.11.1-22775487.x64.deb
sudo apt install python3
sudo ./VMware-Horizon-Client-2309.1-8.11.1-22775487.x64.deb

Next, I need Teams for at least a little longer, too. Microsoft has retired their official client for a PWA. The “Teams for Linux” project encapsulates that PWA into a separate app. It’s a snap that you can either install from the Software Center or the command line.

sudo snap install teams

Finally, Postman is the last work-related app. I probably should put this under the programming section, but for now, it’s work related. I just downloaded it from the official download page.

cd ~/Downloads
tar -xzvf postman-linux-x64.tar.gz -C ~/bin

I restored my shortcut, but I had used MenuLibre previously to create the shortcut.

Clouds

I use both Dropbox and OneDrive. Dropbox is an easy download and install from the official download page. I downloaded the 14.04 – 22.04 version.

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

After a few minutes it pops up a wizard to go through. That downloads the proprietary binary and lets you authenticate to connect your account.

Next, Microsoft doesn’t have a OneDrive client for Linux. So, I’ve been using Insync. I downloaded the appropriate version from the Downloads page.

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

Networking

The Wifi worked out of the box. But, the VPNs I had to install. I just install them all so they were available if I needed them.

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 \
    network-manager-vpnc-gnome

Also, I added a few lines to the /etc/hosts file. There are a few machines that I connect to and don’t want to have to remember the IP Address.

Productivity

The current LibreOffice version installed is Version: 6.4.7.2. But, 7.5 (release notes) is listed as the current on the website. So, I installed the repository to get the latest. Then, I had to update.

sudo add-apt-repository ppa:libreoffice/ppa
sudo apt dist-upgrade

I’ve been using Joplin for my notes. I installed it with:

snap install joplin-desktop

When I clicked Synchronize, it walked me through connecting it to where I saved it in the Cloud.

Next, I use Xiphos for my Bible App. The content I just restored by copying the .sword directory from my old laptop. I had to add a repository, so I installed the program with:

sudo add-apt-repository ppa:pkgcrosswire/ppa
sudo apt install xiphos

Finally, Zotero is my last productivity tool. I installed it with:

sudo apt install curl
curl -sL https://raw.githubusercontent.com/retorquere/zotero-deb/master/install.sh | sudo bash
sudo apt update
sudo apt install zotero

Application Packages

To be able to install different types of programs, I installed the AppImage support first.

cd ~/Downloads/
sudo apt install libfuse2
wget "https://github.com/AppImage/appimaged/releases/download/continuous/appimaged-x86_64.AppImage"
chmod a+x appimaged-x86_64.AppImage
./appimaged-x86_64.AppImage --install

Then, I installed Flatpak support next:

sudo apt install flatpak

Miscellaneous Settings and Utilities

Here are few tools that I like. 7zip, Synaptic, and Gnome Tweaks help with compression, package installs, and special settings changes. I installed all three with:

sudo apt install p7zip-full p7zip-rar \
       synaptic \
       gnome-tweaks

Balana Etcher is the last utility. I stuck with the App Image on their website, but I found instructions for installing from a deb package. Maybe I’ll try that next time.

Now, for the settings. In the main settings application, I set the format under Date & Time to AM/PM. I also added an avatar under the Users section.

This is new for this laptop, or at least I didn’t notice it on my last laptop. I found there was a place to add my fingerprint.

When I clicked on it, it gives me an option to add a new fingerprint.

After I selected which finger I was using, I was able to scan the fingerprint multiple times. It seemed to work fine.

After that, I opened up the Tweaks application (Gnome Tweaks). Under “Top Bar”, I enabled the Weekday and the Battery Percentage. Under “Windows”, I disabled Attach Modal Dialogs.

Gnome Extensions

I like customizing things and making it my own, so Gnome Extensions are a must. First, I installed the package that gives Chrome access to control them.

sudo apt install chrome-gnome-shell

Then, I installed this extension into Chromium.

Unfortunately, this only works for Chrome. Chromium is only offered as a snap package and doesn’t have access to do extensions. You’ll get this error message: “Although GNOME Shell integration extension is running, native host connector is not detected. Refer documentation for instructions about installing connector.”

My solution was to use Firefox. I tried to remove the Firefox snap and install the deb version. From the output, it seems this was already done. (Using the Brave browser was another solution I saw recommended, but I didn’t try that)

snap remove firefox
apt install firefox

Then, I installed this Firefox extension. Then, I got this error message: “Your native host connector do not support following APIs: v6. Probably you should upgrade native host connector or install plugins for missing APIs. Refer documentation for instructions.” It seemed to work in spite of that error message.

From what I read, it sounds like newer versions of Ubuntu have this mess all fixed with the Extension Manager program. I’ll have to try that on the next go around.

These are the extensions that I installed:

Media Programs

I installed Inkscape, Xournal, and Gimp for working with drawings, PDFs, and photos.

sudo apt install xournal \
         gimp

Note: for now I kept with the deb package for Gimp, but the Downloads page mentions that flatpak is more up to date. I might try that next time.

Inkscape on the other hand did have a newer version. I went to the Downloads page and downloaded the AppImage. I just moved that to the bin directory.

To deal with sound-related tasks, I installed audacity, soundconverter, musescore3, and easytag.

sudo apt install audacity \
           soundconverter \
           musescore3 \
           easytag

I downloaded the Midas M32 application to control our sound board from the website. I had to search for “m32 edit” to find it. I downloaded the Linux version, and installed it with:

mkdir ~/bin/m32
tar -xzvf ~/Downloads/M32-Edit_LINUX_4.3.tar.gz -C ~/bin/m32/

Then, I used the Menu Editor to add a shortcut.

For my video endeavors, I installed mplayer, vlc, yt-dlp, obs-studio, blender, and kdenlive.

sudo apt install mplayer \
       vlc \
       kdenlive \
       yt-dlp

For OBS Studio, I added a repository to keep it up to date.

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

Then, I installed the loopback device so that I can use the OBS output on Teams.

sudo apt install -y v4l2loopback-dkms

I installed blender with the snap.

sudo snap install blender --classic

I installed all the codecs with:

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

Finally, for KdenLive, I downloaded the App Image from their website.

3D Printing

I installed OpenScad for designing things to print.

snap install openscad

Then, I downloaded Cura from the Downloads page and placed the App Image in my bin directory. At first, I downloaded the “Linux-Modern” version. But, there was a compiler or python mismatch, and it gave me this error:

[71893] Error loading Python lib '/tmp/.mount_UltiMaolbPAJ/libpython3.10.so.1.0': dlopen: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.35' not found (required by /tmp/.mount_UltiMaolbPAJ/libpython3.10.so.1.0)

After I downloaded just the regular Linux 64-bit version, it worked fine. I was able to start it and go through the wizard. That made me sign into a Cura account and then pick my printer (Monoprice Select Mini V2)

Virtualization

I use Virtualbox. I normally just install it from apt, but version 6 is in the repositories. Version 7 is on the Download page. I downloaded the Ubuntu 20.04 option for version 7.0.6.

sudo apt install ~/Downloads/virtualbox-7.0_7.0.6-155176_Ubuntu_focal_amd64.deb

When I opened it, I went to File > Tools > Network Manager. I added a NAT Network and Host-only network.

Miscelleneous Programming Tools

Gvim came preinstalled,which surprised me, but it’s cool. I still needed to create my temporary directory for it. I installed git, git-cola, and meld.

sudo apt install \
        git-cola \
        meld
mkdir ~/.vimtmp

I configured git with:

git config --global user.name "my name"
git config --global user.email my.email@email.com

Flutter

I enjoy using the Flutter framework, so I installed it. First, I installed the dependencies:

sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev

Then, I installed Flutter itself and ran the doctor.

sudo snap install flutter --classic
flutter doctor

Running Flutter doctor downloads the necessary binary.

Android studio is also required to download key parts of the SDK. I like to use it for the IDE anyway. I downloaded it from the bug button on the website. I extracted the tarball to the bin directory, and then I created a shortcut with Menu Editor to ~/bin/android-studio/bin/studio.sh

 tar -xzvf ~/Downloads/android-studio-2022.1.1.21-linux.tar.gz -C ~/bin

After installing and opening an existing project, I went to File > settings. Under Appearance & Behavior > System Settings > Android SDK, I installed the SDK Tools > Command line tools and the SDK Platforms > Android 13.0. In the plugins section, I installed the Flutter plugin (that also installed the Dart plugin)

I ran into another problem because I’m using Chromium instead of Chrome. Setting this environment variable worked fine:

export CHROME_EXECUTABLE=/snap/bin/chromium
flutter doctor

Since that worked, I added that export to the end of ~.bashrc

Finally, I ran the flutter doctor command to accept the licenses:

flutter doctor --android-licenses

I did notice this error when I tried to create the Virtual Device.

Docking Station

I’m still using my Dell Docking Station. I don’t like it because I think that this Display Link driver conflicts with Nvidia. But, I’m not ready to spend more money to replace it, so we’ll install it anyway and see how it goes. I downloaded the package from the Downloads page.

cd Downloads
unzip DisplayLink\ USB\ Graphics\ Software\ for\ Ubuntu5.6.1-EXE.zip
chmod +x displaylink-driver-5.6.1-59.184.run
sudo ./displaylink-driver-5.6.1-59.184.run

It did require a reboot before it worked. Then, it does work. I have two 4k screens running through the Dock, and I love the setup. The only problem is that if I try to run a video or a game like 0ad, it crashes after a short time. It momentarily resets back to the laptop screen and then tries to reload the two monitors possibly in a different order/configuration.

Wine

I usually reinstall my Windows programs, but this time I decided to try to restore them. I copied the wine prefixes (I had them setup in ~/.local/share/wineprefixes). Then, I installed wine:

sudo apt install wine

Then, I had to make the symbolic link to the c: drive in the dosdevices folder. That didn’t copy over right.

ln -s ../drive_c c:

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:

MenuLibre

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.

Install:

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)

Compression

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.

Settings

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

Caffeine

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.

Resources

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

BackupPC

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/id_rsa.pub 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/id_rsa.pub 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.

 

Resources

Installing Ubuntu 15.04

Labor Day Weekend made for the perfect time to get my laptop updated.  I know Ubuntu 15.04 (Vivid Vervet) has been out for a while, but I am just now getting it installed.  Here are my notes.

Installation

I didn’t take screenshots of all of the steps.  They were pretty straight forward.  The one thing that I did change was the partitioning.  I read that having the Swap partition on the SSD drive will wear it out, so I went ahead and moved it onto the regular drive.

So, here’s what it looked like:

Install_003

BackupPC

In previous installs, I was using Duplicity/Deja Dup.  This time, I have been using BackupPC for backups.  It is a nice centralized solution that de-dups and compresses nicely.

Now, to restore… The BackupPC FAQ: SSH Setup is a good place to start.

To troubleshoot, I went to the backuppc server, and ran:

$ ssh pistachio
ssh: connect to host pistachio port 22: Connection refused

That tells me that the ssh server is not installed. So, I ran:

sudo apt-get install ssh

On the BackupPC server, I had already run the keygen. So, I just had to open the id_rsa.pub file and copy it’s contents.

sudo vi /var/lib/backuppc/.ssh/id_rsa.pub

Then, on my laptop, I pasted it onto the end of the authorized_keys2 files (which, in my case I had to create):

$ sudo mkdir /root/.ssh
$ sudo vi /root/.ssh/authorized_keys2

Next, I tried to connect to my laptop of the backuppc user on the server:

sudo su - backuppc
sudo ssh root@pistachio

I had to run:

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

List of Restores

These are the directories that I restored from my backup:

  • ~/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
  • ~/app: This has all of my programming stuff (“application development”)
  • ~/.config/google-chrome-beta: The settings for Chrome (extensions, bookmarks, etc)
  • ~/.local/share/keyrings: My saved passwords, see below for more information
  • ~/.Skype: Skype history
  • ~/.remmina: The settings for my remote connections
  • ~/.ssh: The keys for my remote ssh 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  (for my settings, I also had to create the ~/.vimtmp directory)
  • /etc/NetworkManager/system-connections: this saves all of my wireless connections and VPN connections
  • ~/.VirtualBox: The settings for my virtual machines

Next

From here, you can see all the steps that I took in this series, or the next step is the Utilities and Configuration.

Resources