I get these errors when trying to start a VMware Workstation 26 virtual machine on Ubuntu 26.04:

You get the below errors:

  1. Could not open /dev/vmmon: No such file or directory.
    Please make sure that the kernel module ‘vmmon’ is loaded.
  2. Failed to initialize monitor device.
  3. Unable to change virtual machine power state: Transport (VMDB) error -14: Pipe connection has been broken.

To solve the issue, try one of the below steps:

Step 1: Check Secure Boot

Run:

mokutil --sb-state

If the output is:

SecureBoot enabled

Then Secure Boot might be preventing VMware’s kernel modules from loading.

For testing, you can temporarily disable Secure Boot in your ASUS BIOS:

  1. Restart your computer and press Delete to enter BIOS.
  2. Press F7 to enter Advanced Mode.
  3. Navigate to Boot ? Secure Boot.
  4. Change the Secure Boot configuration to disable Secure Boot (the available options depend on BIOS version).
  5. Save changes using F10 and restart.

Be aware that disabling Secure Boot reduces boot-chain protection. If you also use Windows with BitLocker, make sure you have your recovery key before changing the setting.

You can keep Secure Boot enabled by signing the VMware kernel modules instead, which I’ll explain if necessary.

Step 2: Rebuild VMware kernel modules

Before changing anything else, try rebuilding the VMware modules.

Install the required packages:

sudo apt update
sudo apt install build-essential linux-headers-$(uname -r) mokutil

Then rebuild the modules:

sudo vmware-modconfig --console --install-all

This should compile two kernel modules:

  • vmmon — VMware virtual machine monitor.
  • vmnet — VMware virtual networking.

VMware requires these modules to match your running Linux kernel. Support Portal

If compilation succeeds, try loading them:

sudo modprobe vmmon
sudo modprobe vmnet

Verify:

lsmod | grep -E 'vmmon|vmnet'

You should see both modules listed.

Also check:

ls -l /dev/vmmon

If /dev/vmmon exists, try starting your virtual machine again.

Step 3: If Secure Boot is enabled

If the modules compile successfully but fail to load because of Secure Boot, you can sign them instead of disabling Secure Boot.

Broadcom documents this procedure for VMware Workstation. Support Portal

First, create a signing key:

mkdir -p ~/vmware-mok
cd ~/vmware-mok

openssl req -new -x509 -newkey rsa:2048 \
  -keyout MOK.priv \
  -outform DER \
  -out MOK.der \
  -nodes \
  -days 36500 \
  -subj "/CN=VMware/"
  
chmod 600 MOK.priv

Sign both modules:

sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file \
  sha256 MOK.priv MOK.der "$(modinfo -n vmmon)"

sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file \
  sha256 MOK.priv MOK.der "$(modinfo -n vmnet)"

Import the certificate:

sudo mokutil --import MOK.der

You will be prompted to create a temporary password.

Reboot your computer:

sudo reboot

During startup, the MOK Manager should appear.

Select Enroll MOK ? Continue ? Yes, enter your temporary password, and reboot.

After Ubuntu starts:

sudo modprobe vmmon
sudo modprobe vmnet

VMware should now be able to start virtual machines.

Important: You may need to sign the modules again after VMware or kernel updates.

After a future Ubuntu kernel update, VMware may rebuild its vmmon and vmnet modules. You might need to sign them again using the same MOK key.

Keep your ~/vmware-mok directory safe for that reason.

VMware Workstation 26H1u1

To resolve the installation failure of VMware Workstation 26H1u1 on Linux, try running the installer with the command:

?> sudo bash VMware-Workstation-Full-26H1u1.bundle --console --custom -I

Which can help bypass certain installer errors. Additionally, ensure that you have the latest dependencies and updates installed on your Linux system.

Rename extension of many files at once on Linux

You can do this easily with Bash parameter substitution.

Single directory:

First, I recommend a dry run so you can see what will happen:

for f in *.de.da.srt; do
    echo mv -- "$f" "${f/.de.da.srt/.da.srt}"
done

For example:

movie.de.da.srt  -> movie.da.srt
episode01.de.da.srt -> episode01.da.srt

If the output looks correct, remove echo:

for f in *.srt.de.srt; do
mv -- "$f" "${f/.de.da.srt/.da.srt}"
done

Including subdirectories:

If you have files recursively in many directories, use:

find . -type f -name '*.de.da.srt' -print0 |
while IFS= read -r -d '' f; do
    mv -- "$f" "${f%.de.da.srt}.da.srt"
done

Docker Desktop start and stop on Linux

To install Docker Desktop on Ubuntu:

?> sudo apt install ./docker-desktop-amd64.deb
?> sudo apt install docker-ce-cli
?> sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
?> sudo chmod a+r /etc/apt/keyrings/docker.asc
?> sudo tee /etc/apt/sources.list.d/docker.sources <<EOF

To start Docker Desktop in user space:

?> systemctl --user start docker-desktop

To stop Docker Desktop in user space:

?> systemctl --user stop docker-desktop

To restart Docker Desktop:

?> systemctl –user restart docker-desktop

After upgrade of Docker Desktop:

?> systemctl --user daemon-reload
?> systemctl --user restart docker-desktop

KDE Wallet ask for password when using GDM

You can have KDE Wallet unlock automatically when logging into KDE Plasma through GDM. The preferred method is PAM: GDM passes your login password to pam_kwallet5, which unlocks the default kdewallet. KDE’s documentation confirms this is the intended mechanism. (Arch Linux Wiki)

Assuming you’re using Plasma 6, do the following.

1. Make sure KWallet PAM is installed

On Ubuntu/Kubuntu/Debian:

sudo apt install libpam-kwallet5

On Arch:

sudo pacman -S kwallet-pam

On Fedora:

sudo dnf install kf5-kwallet-pam

2. Check your wallet

Open:

kwalletmanager

Your main wallet should be named:

kdewallet

Most importantly, its password must be the same as your Linux login password. PAM needs this because it uses the password entered into GDM to unlock the wallet. (Arch Linux Wiki)

If necessary, in KWallet Manager use Change Password and set it to your current Linux password.

3. Configure GDM PAM

With GDM, the relevant PAM configuration is normally:

/etc/pam.d/gdm-password

First check whether KWallet is already configured:

grep -n kwallet /etc/pam.d/gdm-password

For Plasma 6, you want KWallet PAM involved in both authentication and session startup. For example:

auth     optional    pam_kwallet5.so
session  optional    pam_kwallet5.so auto_start kwalletd=/usr/bin/ksecretd

The ksecretd part is important on current Plasma 6 systems; older Plasma versions used kwalletd5. (Arch Linux Wiki)

Don’t blindly replace your gdm-password file. The exact placement of these lines depends on your distribution’s existing PAM stack.

4. Reboot and test

After rebooting, log in through GDM using your password.

Then run:

qdbus6 org.kde.kwalletd6

or check the processes:

ps aux | grep -E 'kwallet|ksecret'

You can also open KWallet Manager. kdewallet should already be open without asking for its password.

One important limitation

If by “login automatic” you mean GDM autologin, where you don’t type a password at all, that’s a different situation.

KWallet PAM normally needs the login password to decrypt the wallet. If GDM automatically logs you in without providing that password, PAM has no password available with which to unlock kdewallet. The same problem occurs with fingerprint-only login. (Arch Linux Wiki)

Source: ChatGPT – Ask: How to get KDE wallet service to login automatic when using GDM?

Enabling Disk UUID’s in VMWare Workstation

When you are trying use VMWare Workstation as host for ex. TrueNAS the disk has no serial number (UUID) as default.

Then you can’t create a disk pool in TrueNAS without enable support for using disk without serial number (UUID).

To solve this you edit the “.VMX” for the virtual machine.

1. Shutdown the virtual machine in VMWare workstation.

2. In the directory where the virtual machine is located, find the file “VMX” file.

3. If your virtual machine is call “TrueNAS” the file will be named “TrueNAS.vmx”

4. Open the VMX file with and editor and add:

disk.EnableUUID = "TRUE"

5. At the buttom of the file and save the file.

6. Start the virtual machine and verify your disk now have serial numbers assigned.