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:
- Keep Awake: Let’s me keep the screen on when I’m at home and don’t want to worry about unlocking it after I walk away.
- Bing Wallpaper: updates the desktop background with a new picture every day
- Clipboard Indicator: keeps a list of copied text so that I can go back to it
- Notification Alert: Makes notifications stand out a little more
- Sound and Input Device Chooser: Makes it faster to choose which sound devices I use
- Compiz windows effect: just adds bling, makes the windows more fluid
- Burn My Windows: Another bling
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: