Month: February 2024

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: