Fixing Mount Point Does Not Exist Error in Linux

Fixing Mount Point Does Not Exist Error in Linux

While trying to mount your device, you may encounter an error saying “mount point does not exist”:

Fixing Mount Point Does Not Exist Error in Linux

And if you’re curious about the reason why it happened, it is all because of the mount point whether you want to mount the drive does not exist!

So the solution is to create a mounting point and mount the drive again.

And that’s what I’m going to walk you through in this tutorial.

How to solve Mount point does not exist error in Linux

The first step is to verify whether the mounting point exists or not.

To do so, you can use the mount command combined with the grep command to filter the mounting point from the huge list:

mount | grep -w 'Name-of-mounting-point'

As I’m looking for a mounting point named drive, I will be using the following:

mount | grep -w 'drive'
Fixing Mount Point Does Not Exist Error in Linux

And if you get empty output, the mounting point does not exist on your system which means you will have to make one manually!

So let’s create a mounting point.

To create a mounting point, all you have to do is execute the following command syntax:

sudo mkdir /mnt/mount_point 

Make sure to change the name of your desired mounting point with mount_point in the above command.

As I wanted to create a mounting point named drive, I will be using the following:

sudo mkdir /mnt/drive

Once you are done creating the mounting point, now, you can mount the drive without any issues:

Fixing Mount Point Does Not Exist Error in Linux

And if you want to verify whether the drive was mounted successfully or not by listing the mounted drives in Linux.

But here, I will be using the grep command to have appropriate output only:

mount -l | grep '/path/to/drive'
Fixing Mount Point Does Not Exist Error in Linux

And as you can see, the drive is mounted as expected!

But there is a better way to find mounted drives!

While most Linux users won’t require to check mounted drives frequently, if you are dealing with numerous amount of drives at once, there is a better alternative to check mounted drives.

You can use the findmnt utility which displays output way better than the usual mount command but also has tonnes of other features.

And the good news is we have a detailed guide for that purpose:

Findmnt – Better Way of Finding Mounted Filesystems on Linux
Learn to use findmnt instead of mount for a more robust and customizable listing of mounted file systems.
Fixing Mount Point Does Not Exist Error in Linux

I hope using this guide, you won’t face the same error anymore.

And if you have any queries or suggestions, feel free to ask me in the comments.

Blender 3.5 Released! How to Install it in Ubuntu 20.04

Blender 3.5, the popular 3D creation software, was released few days ago. Here are the new features and how to install guide for Ubuntu users.

The new release features 26 built-in hair assets, allows to drag and drop to use onto your setups. As well, it allows to do many actions on hair curves, such as generate, duplicate, deform, trim, rotate, roll up, and more.

It also added support for Vector Displacement Maps (VDM) brushes, new GPU-based 3D viewport compositor, many lights sampling for Cycles.

Other changes in Blender 3.5 include:

  • Use native Metal in macOS for 3D viewport.
  • New options and shortcuts for Pose Library.
  • New Ease operator in the Graph Editor
  • New Natural Drawing Speed timing mode in the Build modifier
  • Support for Importing and exporting USDZ files.

How to Install Blender 3.5 in Ubuntu

Option 1: Install Blender as Snap

For Ubuntu 20.04 and higher, it’s super easy to install the latest Blender package through the official Snap package.

Simply open Ubuntu Software, search for ‘Blender’ and click install it.

I’m not sure if Ubuntu software in 18.04 has added support for Snap, but user can just press Ctrl+Alt+T on keyboard to open terminal and run command to install the daemon & Blender as snap:

sudo apt install snapd && sudo snap install blender --classic

Option 2: Install Blender via the Linux tarball

Some users do not like the snap package that runs in sandbox. For choice, Blender website offers the portable Linux tarball:

And here’s a step by step guide shows how to create app shortcut for the portable package.

Blender is also available to install as Flatpak package. For those prefer the classic .deb package, there’s a third-party PPA, though not updated at the moment of writing.

Install & Try out Ubuntu’s New Fonts in Ubuntu 22.04 | 20.04

The Ubuntu design team is working on new Ubuntu fonts and proposes to use as default in the upcoming Ubuntu 23.04.

For testing purpose, the team posted the .deb packages for the new fonts in this thread. User can try it out by installing in all current Ubuntu releases and report any issue in this page.

I’ve tried out the new fonts in Ubuntu 22.04 LTS. The text in system menu and application window becomes a bit thin and compact than before.

And, the document text in text editor looks enlarged, that I even doubted if the font size was changed mistakenly.

How to Install the New Fonts

First, press Ctrl+Alt+T on keyboard to open a terminal window. When it opens, run single command to download the 2 font packages:

wget https://launchpad.net/ubuntu/+source/fonts-ubuntu/0.862-0ubuntu2/+build/25677616/+files/fonts-ubuntu_0.862-0ubuntu2_all.deb https://launchpad.net/ubuntu/+source/fonts-ubuntu/0.862-0ubuntu2/+build/25677616/+files/fonts-ubuntu-console_0.862-0ubuntu2_all.deb

Install wget via sudo apt install wget if it says command not found.

After downloaded the packages, use command to install them:

sudo dpkg -i fonts-ubuntu-console_0.862-0ubuntu2_all.deb fonts-ubuntu_0.862-0ubuntu2_all.deb

You can then remove the 2 packages in user home folder. And restart computer to apply changes after installation.

How to Restore original fonts

The stock fonts package version varies on different Ubuntu editions, so I would recommend to first install Synaptic package manager in Ubuntu Software.

Then, open “Synaptic” and do:

  1. Search and highlight “fonts-ubuntu” package.
  2. Go to menu “Package -> Force Version”.
  3. Select the old stock version from pop-up dialog, then click “Force Version” button.
  4. Finally, click “Apply”.
  5. Also, do the previous steps one by one for “fonts-ubuntu-console” package.

Also, restart computer to apply changes and done!

GPU-Accelerated Terminal Emulator ‘Alacritty’ 0.12.0 Released [How to Install]

The popular Alacritty terminal emulator got a new release few days ago. Here are the new features and how to install guide for Ubuntu Linux.

Alacritty is a free open-source GPU-accelerated terminal emulator written in Rust programming language. It features Vi mode motion and selection via keyboard, Vi search/normal search, hints, etc.

The new 0.12.0 release features fractional scaling support on Wayland session via wp-fractional-scale protocol. It also added touchscreen input support for click, scroll, select, zoom actions.

Other changes include:

  • Support for horizontal scrolling in mouse mode and alternative scrolling modes
  • Support for running on GLES context
  • New window.resize_increments config option, which is disabled by default
  • New -T flag, short form for --title.
  • Always use sRGB color space on macOS.
  • Resize increments are now set on macOS and X11 to resize by cell sizes.
  • Proper hint about window transparency in Wayland and macOS.
  • Change window.decorations_theme_variant to use Dark, Light, and None values

They are as well various other changes and bug-fixes, see the Github releases page for details.

How to Install Alacritty terminal emulator in Ubuntu Linux

This app is not available in Ubuntu system repository until the next Ubuntu 23.04. User can install it via 2 methods: cargo package manager, or third-party Ubuntu PPA.

Option 1: Install Alacritty via cargo package manager

Cargo is the command line package manager for Rust, like Pip for Python. User can use the tool to install Alacritty terminal emulator in most Linux, though user needs to MANUALLY setup PATH variable and create shortcut icon.

1. First, press Ctrl+Alt+T on keyboard to open terminal. When it opens, run command to install cargo:

sudo apt install cargo

Type user password (no asterisk feedback) when it asks and hit Enter to continue.

2. Then, install Alacritty for current user only by running command:

cargo install alacritty

3. As mentioned, cargo package does not add PATH variable by default. You can verify by running $PATH command and see if “/home/USERNAME/.cargo/bin” present in the output.

To add it into user PATH, run command nano ~/.profile to edit user profile and add following lines:

if [ -d "$HOME/.cargo/bin" ] ; then
    PATH="$HOME/.cargo/bin:$PATH"
fi

When done, press Ctrl+X, type y and hit Enter to save change! NOTE: user PATH changes take effect at next login.

4. The cargo package also does not create shortcut icons. Meaning you need to manually create one by running command:

nano ~/.local/share/applications/alacritty.desktop

Then paste following lines and save it:

[Desktop Entry]
Type=Application
TryExec=alacritty
Exec=alacritty
Icon=Alacritty
Terminal=false
Categories=System;TerminalEmulator;

Name=Alacritty
GenericName=Terminal
Comment=A fast, cross-platform, OpenGL terminal emulator
StartupWMClass=Alacritty
Actions=New;

[Desktop Action New]
Name=New Terminal
Exec=alacritty

Finally, either use alacritty command or search for and launch it from start menu (or ‘Activities’ overview).

Option 2: Install Alacritty in Ubuntu via PPA

An Ubuntu PPA can be more easy to install the terminal emulator for beginners. Though, it seems to be unofficial.

NOTE: The PPA package at the moment includes Alacritty 0.13.0 development, though the package name marked as 0.12.0 stable.

So far the PPA supports for Ubuntu 20.04, Ubuntu 22.04, Ubuntu 22.10, Ubuntu 23.04 and their based systems.

1. First, open a terminal window and run command to add the Ubuntu PPA:

sudo add-apt-repository ppa:aslatter/ppa

Type user password (no asterisk feedback) when it asks and hit Enter to continue.

2. Linux Mint and few Ubuntu based systems may need to manually update the package index, though it’s done automatically in Ubuntu since 20.04:

sudo apt update

3. Finally, install Alacritty terminal emulator via command:

sudo apt install alacritty

Once installed, search for and launch it from start menu or ‘Activities’ overview, or by running alacritty command.

Uninstall Alacritty terminal emulator

To remove the package installed via Cargo, open terminal and run command:

cargo uninstall alacritty

Also remove the shortcut icon if added via command:

rm ~/.local/share/applications/alacritty.desktop

For choice, you may also remove the Cargo package manager, though other apps installed through Cargo will also be removed:

sudo apt remove cargo

To remove the package installed from Ubuntu PPA, use command:

sudo apt remove --autoremove alacritty

Also remove the Ubuntu PPA via command:

sudo add-apt-repository --remove ppa:aslatter/ppa

That’s all. Enjoy!

How to Install Budgie Desktop 10.7.1 in Ubuntu Budgie 22.04

This simple tutorial shows how to install the latest Budgie Desktop 10.7.1 in Ubuntu 22.04 LTS.

Ubuntu Budgie is one of the official Ubuntu flavors features the Budgie desktop. While Ubuntu Budgie 22.04 ships with Budgie Desktop 10.6.1, the latest version has reached v10.7.1.

For those who want to get the latest features, but don’t want to upgrade to or install the upcoming Ubuntu 23.04. The developers team maintains an Ubuntu PPA contains the latest desktop packages  for Ubuntu 22.04 LTS.

NOTE: The PPA is marked as unstable, though it’s working good in my case. Don’t use it in production machine!

1. First, search for and open “terminal” from application menu. When it opens, run command to add the PPA:

sudo add-apt-repository ppa:ubuntubudgie-dev/backports-budgie-unstable

Type user password (no asterisk feedback) when it asks and hit Enter to continue.

2. After adding the PPA, install all available package updates by running command in Ubuntu Budgie 22.04:

sudo apt update && sudo apt upgrade

Ubuntu 22.04 and other flavors can also install this desktop environment by running command:

sudo apt install budgie-desktop-environment

How to restore:

To revert back to the original Budgie 10.6.1, open terminal and run command to install ppa-purge tool:

sudo apt install ppa-purge

Then, purge the PPA via the tool which also downgrade all install packages:

sudo ppa-purge ppa:ubuntubudgie-dev/backports-budgie-unstable

Finally, restart your computer and enjoy!

Ubuntu 20.04.6 Released! Fix Secure Boot & Integrate Ubuntu Pro

The Ubuntu team announced the 6th point release for Ubuntu 20.04 LTS. According to the release note, Ubuntu 20.04.6 fixed the Secure Boot issue for the amd64 installer:

Unlike previous point releases, 20.04.6 is a refresh of the amd64 installer media after recent key revocations, re-enabling their usage on Secure Boot enabled systems.

The release also includes many security updates, and backports from Ubuntu 22.04 LTS. The “Software & Updates” has been updated to replace Livepatch tab with Ubuntu Pro.

Other changes include:

  • add meta package to improve support for Lenovo ThinkCentre M70t/M80t Gen 3, Lenovo ThinkPad P14s/T14 Gen 2a, Lenovo ThinkPad T14s/X13 Gen 2a, etc devices.
  • fix slow refresh rate with AMD GPU Screen output in reverse prime mode.
  • add GSettings power management keys for AD SYStem integration.
  • fix samba interoperability with Windows 22H2 client.
  • fix issue that starting a salted session fails when using an RSA key in FIPS mode
  • add support for open kernel module or driver in nvidia-515
  • support EM120/160 firmware update
  • add sdio firmware for qca9377 wifi module

See the changelog for more changes in Ubuntu 20.04.6.

Download Ubuntu 20.04.6

For earlier version of Ubuntu 20.04, just open Software Updater and install all available updates will bring you to the new Ubuntu 20.04.6. For the .iso image, just go to this page.

Fixing ‘Umount Target is Busy’ Error in Linux

Fixing 'Umount Target is Busy' Error in Linux

Unmounting disks in the Linux command line is not complicated. All you have to do is to use the umount command:

umount target

But once in a while, you’ll come across an error that says ‘umount: target is busy’:

Fixing 'Umount Target is Busy' Error in Linux

So how are you supposed to solve this issue?

Well, before solving this issue, let me share the reason behind this problem first.

The reason behind Umount target is busy

The reason is quite simple! The target device is still in use.

With enough permissions, any process might be utilizing that drive that you want to unmount, and to prevent data loss, the kernel won’t allow you to unmount.

How to solve Umount target is busy in Linux

⚠️
If an ongoing data transfer occurs in the background, you may lose your data by forcefully unmounting your drive.

There are times when you want to unmount the drive at any cost. Perhaps the drive isn’t responding for some reason and you want to unmount it.

In this tutorial, I will share three ways to unmount the target:

  • By killing the process itself
  • Using force unmount
  • Using the lazy unmount

Let’s start with the first method.

This is the best way of unmounting the target in my opinion as you are eventually killing the process itself.

The first step is to find the PID of the process that causes the problems.

To do so, I will be using the lsof command in the following manner:

sudo lsof /Path/to/target
Fixing 'Umount Target is Busy' Error in Linux

Once you get the PID, it’s quite simple to force kill the process:

sudo kill -9 [PID]

And now, you should be able to unmount the drive easily:

Fixing 'Umount Target is Busy' Error in Linux

Pretty neat way. Isn’t it?

Method 2: Using force unmount (for Network File Systems)

The force unmount option is mainly preferred by those who are dealing with network file systems.

So it may NOT give you the expected results with your local file system.

To use the force unmount, you will have to use the same old umount command but with the -f flag:

sudo umount -f /Path/to/target
Fixing 'Umount Target is Busy' Error in Linux

Method 3: Using the lazy unmount (Schrödinger’s unmount)

📄
This option does not actually unmount your target but just removes the target from the namespace. And will unmount the target when the drive is not being utilized anymore!

It is more of a Schrödinger’s mount when you can never be sure of whether the filesystem is unmounted or not!

So why am I even adding this to the solution’s list? Well, this is the least harmful way of unmounting your stubborn drive.

To use the lazy unmount, you will have to use the -l flag with the umount command as shown:

sudo umount -l /Path/to/target
Fixing 'Umount Target is Busy' Error in Linux

And here you have it!

Which one should you choose?

In times like you have to have your drive unmounted, I would prefer going with the 1st method which involves killing the process itself.

And there is a strong reason why. It gets my job done without any hiccups.

Sure, you may want to go with either of the last two options based on your use case.

Configure Logitech or SteelSeries Headset in Ubuntu via This App

Got a Logitech or SteelSeries headset? This app may help to adjust sidetone, get battery state, toggle LED, and set inactive time in Ubuntu Linux.

It’s HeadsetControl, a free and open-source application that supports:

  • Logitech G430, G432, G433, G533, G535, G633, G635, G733, G930, G933, G935, G Pro.
  • Logitech Zone Wired/Zone 750
  • SteelSeries Arctis 1, Arctis 1 for XBox, Arctis (7 and Pro), Arctis 7+, Arctis Nova 7, Arctis 9, Arctis Pro wireless.
  • HyperX Cloud Flight Wireless
  • Corsair Void (Every void-version*, regardless whether Elite, Pro, HS70 Wireless)
  • Roccat Elo 7.1 Air

The application is a command line tool, though it has a graphical interface for GNOME 42+ (Ubuntu 22.04 / Fedora 35 and higher).

Image borrowed from extension web page, as I don’t have a headset at hand

How to Install the HeadsetControl app

The app so far does not have binary package for Ubuntu Linux, though it’s not hard to build it from source. The following steps is tested and works in my case in Ubuntu 22.04 LTS.

1. First, press Ctrl+Alt+T on keyboard to open a terminal window. When it opens, run command to install build dependencies:

sudo apt install build-essential git cmake libhidapi-dev

2. Then, clone the source by running the git command in terminal, and then navigate to the source folder:

git clone https://github.com/Sapd/HeadsetControl && cd HeadsetControl

3. Create ‘build’ sub-folder, navigate to that sub-folder and start building it:

mkdir build && cd build && cmake ../

4. Finally, run make and then make install to build and install the tool:

make -j4
sudo make install

Once successfully installed, it will output that ‘/usr/local/bin/headsetcontrol‘ and ‘/usr/local/lib/udev/rules.d/70-headsets.rules‘ installed.

How to Install the Extension for graphical UI

For Ubuntu 22.04 and higher, first search for and install “Extension Manager” from Ubuntu Software.

Install Extension Manager in Ubuntu 22.04+

Then, use “Extension Manager” to search and install the ‘HeadsetControl’ extension under ‘Browse’ tab.

Once installed, it should show the indicator applet in system tray area immediately with menu options to control your headset! Other Linux can go to this page to use ON/OFF switch to install the extension.

Uninstall:

To remove the extension, either go to the link page above and use ON/OFF switch, or use “Extension Manager” or Gnome Extensions tool.

To remove the command line application, open terminal and run command:

sudo rm /usr/local/bin/headsetcontrol /usr/local/lib/udev/rules.d/70-headsets.rules

How to Replace Environment Variables Using the envsubst Command

How to Replace Environment Variables Using the envsubst Command

While working with scripts, most of the users are going to use environment variables but sometimes they use variables that come at a risky cost.

So if you want to replace environment variables, you can use the envsubst command.

Replace environment variables using the envsubst command on Linux

The envsubst command is used to get a substitute of environment variables and that’s what its name suggests.

But it won’t change your variables directory. First, it will look for variable patterns (such as $VARIABLE or [$VARIABLE]).

And then it will replace the found variables with a specified bash variable.

💡
The envsubst command will only recognize exported variables.

To replace your environment variables using envsubst, you will have to follow the given command structure:

envsubst [OPTION] [SHELL-FORMAT]

Now, let’s have a look at how you can change the environment variable.

For that purpose, I will be using a file named confidential.txt containing:

A sample file containg password and username!

And should not be shared by any means.

My loging credentials are:

        username=$USERNAME
        password=$PASSWORD

Now, to have substitute values for both $USERNAME and $PASSWORD, First, I will create an exported variable for both of them:

export USERNAME=abhiman
export PASSWORD=strongphrase
How to Replace Environment Variables Using the envsubst Command

Once you are done with exporting variable values, you can invoke the envsubst command for the file you’ve created:

envsubst < confidential.txt
How to Replace Environment Variables Using the envsubst Command

And as you can see, the values have been altered successfully!!

Similarly, you can unset those variables using the unset command. Let me show you how.

First, unset the variable that you specified with the export command.

In my case, those were, USERNAME and PASSWORD:

unset USERNAME PASSWORD

Now, if you run the envsubst command again, it will result in blank spaces:

How to Replace Environment Variables Using the envsubst Command

And if you are curious about how it happened, let me remind you of something that I mentioned earlier.

The envsubst command will only work with exported variables and when I used the unset command, the values were null.

And when the envsubst command finds no value to replace, it will result in blank spaces.

Redirect output to the specific file

Having an output directory to the terminal is not always the best way of doing things and in that case, you can redirect the standard output to the file.

To redirect the output to the file, you will have to use the > redirection symbol.

For example, here, I will be redirecting the output to the file named Output.txt:

envsubst < confidential.txt > Output.txt
How to Replace Environment Variables Using the envsubst Command

Replace specific variables using the envsubst command with SHELL-FORMAT

So let’s suppose you have exported multiple environment variables but you only want to substitute a few of them.

And in that case, you can use SHELL-FORMAT.

The syntax is quite flexible where all you need to do is specify the variable in '' and you can use it in a variety of ways:

It can be used like:

envsubst '$variable' > file

Or you can append multiple variables like this:

envsubst '$variable1 $variable1 $variable3' > file

And you can even append basic text for better understanding:

envsubst 'subsitute the $variable1 and $variable2' > file

Quite flexible. Right?

Now, for this example, I will be using a file named Substitute.txt which contains the following:

Hello, My name is $USER.

And these are login credentials for $SERVICE:

        username=$USERNAME
        password=$PASSWORD

Not meant for public use!

Next, I will export values for each variable used in the above file:

export USER=sagar export SERVICE=AWS export USERNAME=LHB export PASSWORD=randomphrase  

And without replacing any specific variable, it should get me the following output:

How to Replace Environment Variables Using the envsubst Command

So let’s say, I only want the values of $USER and $SERVICE to be reflected in the output, so I will be using the following:

envsubst '$USER $SERVICE' < Substitute.txt
How to Replace Environment Variables Using the envsubst Command

And as you can see, it showed the values of $USER and $SERVICE while left the $USERNAME and $PASSWORD as it is.

A neat way to handle private info. Isn’t it?

Love to play with variables? We have more

If you are a developer and love to use environment variables, here’s how you can know the value of each one:

How to Print Environment Variables in Linux
Wondering what environment variables are set on your current shell? Learn how to print environment variables in Linux.
How to Replace Environment Variables Using the envsubst Command

Or if you are keen to know unusual ways to use variables in bash, here’s how you do it:

Use Variables in Bash Scripts [Unusual Advanced Ways]
You might have used variables in Bash before, but probably not like this.
How to Replace Environment Variables Using the envsubst Command

I hope you will find this article helpful and if you have any queries related to this or any other guide, or just want me to cover any specific topic, let me know in the comments.

How to Install Latest Battle for Wesnoth 1.16.x via PPA in Ubuntu 22.04 | 20.04

This simple tutorial is going to show beginners how to install the latest stable Battle for Wesnoth (so far 1.16.8) via PPA in Ubuntu 22.04, Ubuntu 20.04, Linux Mint 20/21.

The Battle for Wesnoth is an open source, turn-based strategy game features both single player and online multiplayer combat.

Ubuntu includes the game package in its system repository but always old. User can choose to install the official Flatpak package, by running 2 commands one by one in a terminal window.

sudo apt install flatpak
flatpak install https://dl.flathub.org/repo/appstream/org.wesnoth.Wesnoth.flatpakref

Though, it’s universal Linux package format that runs in sandbox.

For users who prefer the classic .deb package format, The Debian/Ubuntu Games Team maintains an Ubuntu PPA with the latest stable/devel release (1.16.x stable at the moment) of the game packages. Which, so far supports Ubuntu 20.04, Ubuntu 22.04, Ubuntu 22.10, and their derivatives.

1. First, either search for and open a terminal from start menu or press Ctrl+Alt+T on keyboard to open terminal.

2. When terminal opens, paste the command below and hit Enter to add the PPA repository.

sudo add-apt-repository ppa:pkg-games/wesnoth-devel

Type user password (no asterisk feedback) when it asks for sudo authentication, and hit Enter to continue.

3. If a previous 1.16.x version of the game package was installed on your system, launch “Software Updater” (or Update Manager) to upgrade the game:

Or, run command in terminal to install/upgrade the game package:

sudo apt instatll wesnoth-1.16

NOTE: Linux Mint user may first run sudo apt update to refresh package index.

Once installed, search for and launch the game either from start menu or ‘Activities’ overview depends on your DE and enjoy!

Uninstall:

To download the game to the stock version available in system repository, open terminal (Ctrl+Alt+T) and run command:

sudo apt install ppa-purge && sudo ppa-purge ppa:pkg-games/wesnoth-devel

This command will install ppa-purge tool and purge the PPA, which also downgrade installed packages.

To simply uninstall the game package, use command:

sudo apt remove --autoremove wesnoth-1.16

Also remove the PPA, either via “Software & Updates” under Other Software tab in Ubuntu, or use “Software Sources” tool in Linux Mint, or run command:

sudo add-apt-repository --remove ppa:pkg-games/wesnoth-devel

That’s all. Enjoy!