Skip to content

Bug in rel_upgrade.py: xmd variable referenced before assignment #934

Open
@L0ssi

Description

@L0ssi

UnboundLocalError: cannot access local variable 'xmd' where it is not associated with a value)

Honestly i was messing around with Claude and I came across this. Was getting errors trying to use the dist upgrade in the Update Manager.

Code snippet showing the problematic section:

def install_pkgs(self, widget, event, packages):
cmd = [
"pkexec", "/usr/sbin/synaptic",
"--hide-main-window",
"--non-interactive",
"-o", "Synaptic::closeZvt=true"
]
if os.environ.get("XDG_SESSION_TYPE", "x11") == "x11":
xmd += ["--parent-window-id", "%s" % self.assistant.get_window().get_xid()]
f = tempfile.NamedTemporaryFile()
for pkg in packages:
pkg_line = "%s\tinstall\n" % pkg
f.write(pkg_line.encode("utf-8"))
cmd.append("--set-selections-file")

Claude Suggested This:

Initialize xmd before using it

xmd = []
xmd += ["--parent-window-id", "%s" % self.assistant.get_window().get_xid()]

Add xmd to cmd

cmd.extend(xmd)

System:
Kernel: 6.8.0-55-generic arch: x86_64 bits: 64 compiler: gcc v: 13.3.0 clocksource: tsc
Desktop: Cinnamon v: 6.2.9 tk: GTK v: 3.24.41 wm: Muffin v: 6.2.0 vt: 7 dm: LightDM v: 1.30.0
Distro: Linux Mint 22 Wilma base: Ubuntu 24.04 noble

Logs:

Fixing Cinnamon desktop settings error

6

Share
Screenshot from 20250311 012408.png
L
what does that notification mean and what cmds can i use in my cli to fix it?

Edit
I can see you're having an issue with a notification that says "Execution of 'cinnamon-settings' failed: Failed to execute child process 'cinnamon-settings' (No such file or directory)".

This error occurs when you try to access Cinnamon desktop environment settings, but the system can't find the cinnamon-settings executable. This typically happens when:

The Cinnamon desktop environment isn't properly installed
There's a path issue preventing the system from finding the executable
The package might be corrupted or incomplete
To fix this issue, you can try the following commands in your terminal:

bash

Copy

Make sure cinnamon is properly installed

sudo apt update
sudo apt install cinnamon --reinstall

If you're using Linux Mint (which it appears you are), you can try:

sudo apt install cinnamon-common --reinstall

Check if the executable exists

which cinnamon-settings

If it doesn't exist, you can try installing the specific package:

sudo apt install cinnamon-settings
If those don't work, you might need to repair your desktop environment:

bash

Copy

For a more comprehensive fix:

sudo apt install --reinstall cinnamon cinnamon-common cinnamon-desktop-data cinnamon-control-center
I notice from your terminal that you've already successfully fixed some DNS issues with your system. The notification appears to be unrelated to that - it's specifically about the Cinnamon desktop environment's settings application.

Retry
L
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 1,394 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 https://mirror.us.mirhosting.net/linuxmint/packages wilma/backport amd64 cinnamon-common all 6.2.9+wilma [1,394 kB]
Fetched 1,394 kB in 1s (2,048 kB/s)
(Reading database ... 659521 files and directories currently installed.)
Preparing to unpack .../cinnamon-common_6.2.9+wilma_all.deb ...
Unpacking cinnamon-common (6.2.9+wilma) over (6.2.9+wilma) ...
Setting up cinnamon-common (6.2.9+wilma) ...
Processing triggers for libglib2.0-0t64:i386 (2.80.0-6ubuntu3.2) ...
Processing triggers for libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.2) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
/usr/bin/cinnamon-settings
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package cinnamon-settings
los@Nico:~$

Edit
I see that cinnamon-common reinstalled successfully, and when you ran which cinnamon-settings, it showed that the executable exists at /usr/bin/cinnamon-settings. This is good news!

The error "E: Unable to locate package cinnamon-settings" is expected because "cinnamon-settings" isn't a separate package - it's a script/executable that comes with the cinnamon-common package you just reinstalled.

Since the cinnamon-settings executable is in place at /usr/bin/cinnamon-settings, you might need to fix permissions or update desktop entries. Try these commands:

bash

Copy

Make sure the executable has proper permissions

sudo chmod +x /usr/bin/cinnamon-settings

Restart Cinnamon (this will briefly interrupt your desktop session)

cinnamon --replace &

Alternatively, you could just log out and log back in

If you're still getting the notification after these steps, you might need to check if there's a broken launcher or desktop entry causing this. You can try:

bash

Copy

Rebuild application cache

sudo update-desktop-database

Check if the cinnamon-settings is actually working by running it directly

cinnamon-settings
The notification should stop appearing once everything is properly configured. If the issue persists after restarting your session, it may be related to a specific desktop entry that's trying to call cinnamon-settings incorrectly.

Retry

los@Nico:~$ Gjs-Message: 01:26:13.459: Profiler is disabled. Not setting up signals. Gjs-Message: 01:26:13.657: JS LOG: About to start Cinnamon (X11 backend) Gjs-Message: 01:26:13.693: JS LOG: [Lookin
pasted
L
Edit
Based on the log you shared, I can see that your Cinnamon desktop is starting up correctly. There are no critical errors in this startup log that would be causing the "cinnamon-settings" failure notification.

Let's try a different approach. The issue might be with a specific menu entry or launcher trying to run cinnamon-settings with incorrect parameters. Here are some commands to try:

bash

Copy

Try running cinnamon-settings directly with no parameters

cinnamon-settings

Check if there's a permission issue with the file

ls -la /usr/bin/cinnamon-settings

Check what type of file it is (script, binary, etc.)

file /usr/bin/cinnamon-settings

If it's a script, check its contents for any obvious issues

cat /usr/bin/cinnamon-settings | head -20
The notification could also be triggered by:

A desktop shortcut/launcher with incorrect parameters
A startup application trying to run cinnamon-settings
A panel applet that's failing to launch settings properly
You could also try:

bash

Copy

Reinstall the cinnamon desktop environment completely

sudo apt install --reinstall cinnamon

Or refresh your desktop configuration

gsettings reset-recursively org.cinnamon
If none of these work, you might try temporarily moving the cinnamon-settings file and creating a simple wrapper script in its place that logs when it's called and with what parameters:

bash

Copy
sudo mv /usr/bin/cinnamon-settings /usr/bin/cinnamon-settings.orig
sudo nano /usr/bin/cinnamon-settings
In the editor, paste:

bash

Copy
#!/bin/bash
echo "$(date): cinnamon-settings called with args: $@" >> /tmp/cinnamon-settings.log
/usr/bin/cinnamon-settings.orig "$@"
Then make it executable:

bash

Copy
sudo chmod +x /usr/bin/cinnamon-settings
This will help identify what's trying to call cinnamon-settings and with what parameters, which could lead us to the source of the problem.

Retry
L
los@Nico:$ sudo apt-get update
Hit:2 http://archive.ubuntu.com/ubuntu noble InRelease
Hit:3 http://security.ubuntu.com/ubuntu noble-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Hit:1 https://repository.spotify.com stable InRelease
Hit:5 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Ign:6 https://mirror.us.mirhosting.net/linuxmint/packages wilma InRelease
Hit:7 https://mirror.us.mirhosting.net/linuxmint/packages wilma Release
Hit:8 https://ppa.launchpadcontent.net/bitseater/ppa/ubuntu jammy InRelease
Reading package lists... Done
los@Nico:
$

Edit
It looks like your system is up to date with the repositories. The update command ran successfully and found all your configured repositories, including your Linux Mint Wilma repositories.

Let's check the status of the cinnamon-settings file that we were discussing earlier. Try running:

bash

Copy

Check what type of file cinnamon-settings is

file /usr/bin/cinnamon-settings

Check its permissions

ls -la /usr/bin/cinnamon-settings

Try running it directly to see if it works

cinnamon-settings
The notification error you're seeing might be related to the launcher or menu entry trying to call cinnamon-settings with certain parameters that it doesn't accept. If running it directly works, we can look at what's trying to launch it incorrectly.

Also, since you're running Linux Mint Wilma (which is based on Ubuntu Noble/24.04), we might want to check if there are any pending Mint-specific updates that could fix this issue:

bash

Copy
sudo apt upgrade
If the direct approach doesn't work, I'd still recommend trying the wrapper script approach I mentioned earlier, as it would help identify exactly what's calling cinnamon-settings and with what parameters when the error occurs.

Retry
L
los@Nico:$ file /usr/bin/cinnamon-settings
/usr/bin/cinnamon-settings: Python script, ASCII text executable
los@Nico:
$

Edit
That's helpful! Cinnamon-settings is a Python script. Let's check its permissions to ensure it's executable:

bash

Copy
ls -la /usr/bin/cinnamon-settings
Since it's a Python script, there could be a few reasons for the error:

The script might be trying to import modules that aren't installed
There might be a permission issue
The Python environment might have a problem
Let's try running it directly to see if it gives us any useful error messages:

bash

Copy
cinnamon-settings
If that doesn't show anything helpful, we can also try running it with Python explicitly and with verbose output:

bash

Copy
python3 /usr/bin/cinnamon-settings --verbose
If you're still getting the "Failed to execute child process" error, let's modify the approach. This error typically happens when the system can't find the executable or when the executable can't be run due to missing dependencies.

Try checking the first few lines of the script to see what it's trying to do:

bash

Copy
head -n 20 /usr/bin/cinnamon-settings
This will help us understand how the script works and what might be causing the issue.

Retry
L
los@Nico:$ ls -la /usr/bin/cinnamon-settings
-rwxr-xr-x 1 root root 5284 Aug 8 2024 /usr/bin/cinnamon-settings
los@Nico:
$

Edit
The file permissions look good: -rwxr-xr-x means the cinnamon-settings script is executable by all users, which is appropriate.

Let's try running the script directly to see if it produces any helpful error messages:

bash

Copy
cinnamon-settings
If that doesn't give us useful information, we could also examine the first part of the script to understand how it works:

bash

Copy
head -n 20 /usr/bin/cinnamon-settings
Another helpful approach would be to check if there are any dependencies that might be missing. Since this is a Python script, it might require specific Python packages to run. Let's make sure the python3-gi package is installed, as it's commonly needed for Cinnamon's GUI tools:

bash

Copy
sudo apt install --reinstall python3-gi gir1.2-cinnamon-1.0 python3-xapp
If you're still getting the "Failed to execute child process" error even though the file exists and is executable, it could be that something in your desktop environment's launcher is incorrectly calling it, perhaps with an absolute path that doesn't exist.

You could also check the system logs for more specific error messages:

bash

Copy
grep -i cinnamon /var/log/syslog
journalctl -b | grep -i cinnamon-settings
These commands might provide more clues about what's happening when the notification appears.

Retry
L
os@Nico:$ cinnamon-settings
Using PAM module (python3-pam)
los@Nico:
$

Edit
Interesting! It seems cinnamon-settings is actually running without any errors. It prints "Using PAM module (python3-pam)" and then exits, which suggests it's starting correctly but might be closing immediately for some reason.

This is puzzling because the notification error you're seeing suggests the system can't find or execute the cinnamon-settings file, but we've confirmed:

The file exists at /usr/bin/cinnamon-settings
It has the correct permissions
It runs without obvious errors when executed directly
The issue might be with how the Cinnamon desktop environment is trying to launch the settings application. Here are a few possibilities:

The notification might be triggered by a specific panel applet or menu item trying to launch cinnamon-settings with parameters
The environment might be missing a required variable
There could be a mismatch between components in your Cinnamon installation
Let's try:

bash

Copy

Try running with some common sections to see if it stays open

cinnamon-settings display

or

cinnamon-settings panel

Check the desktop file that might be launching it

cat /usr/share/applications/cinnamon-settings.desktop

Reinstall additional components that might be missing

sudo apt install --reinstall cinnamon-settings-daemon cinnamon-control-center
If none of these approaches resolves the issue, you might need to check if there's a specific launcher or desktop entry that's configured incorrectly. The notification might appear when clicking on a specific menu item or icon, rather than being a general system issue.

Retry

los@Nico:~$ cat /usr/share/applications/cinnamon-settings.desktop [Desktop Entry] Exec=env WEBKIT_DISABLE_COMPOSITING_MODE=1 cinnamon-settings Icon=preferences-desktop Terminal=false Type=Application
pasted
L
Edit
I see the desktop file for cinnamon-settings now. The interesting part is the command that's used to launch it:

Copy
Exec=env WEBKIT_DISABLE_COMPOSITING_MODE=1 cinnamon-settings
It's setting an environment variable (WEBKIT_DISABLE_COMPOSITING_MODE=1) before launching cinnamon-settings. Let's try running cinnamon-settings with this environment variable to see if it behaves differently:

bash

Copy
env WEBKIT_DISABLE_COMPOSITING_MODE=1 cinnamon-settings
Since cinnamon-settings runs without errors but exits immediately when you run it directly, the issue might be that it needs parameters to stay open. The normal behavior is that cinnamon-settings should launch a GUI when run.

Let's try these approaches:

Run with the module parameter to open a specific settings panel:
bash

Copy
env WEBKIT_DISABLE_COMPOSITING_MODE=1 cinnamon-settings display
Check if there are any Python errors when running it:
bash

Copy
env WEBKIT_DISABLE_COMPOSITING_MODE=1 python3 -v /usr/bin/cinnamon-settings
Reinstall Python dependencies that might be needed:
bash

Copy
sudo apt install --reinstall python3-gi gir1.2-webkit2-4.0 python3-pam
The "Failed to execute child process" error is typically seen when the system tries to launch an executable that doesn't exist or can't be found in the PATH. Since we know cinnamon-settings exists and can be run, the issue might be with how it's being called from a specific menu item or shortcut.

You might also want to check your Cinnamon version to make sure all components match:

bash

Copy
cinnamon --version
dpkg -l | grep cinnamon

Retry

los@Nico:~$ env WEBKIT_DISABLE_COMPOSITING_MODE=1 python3 -v /usr/bin/cinnamon-settings import _frozen_importlib # frozen import _imp # builtin import '_thread' # <class '_frozen_importlib.BuiltinImpo
pasted
L
Edit
Looking at the detailed Python import log, I don't see any obvious errors. The script runs and ends with "Using PAM module (python3-pam)" just like when you ran it directly. This confirms the script is executing properly but not launching a GUI interface.

Given what we've seen, here's what I think is happening:

The cinnamon-settings script is correctly installed and executable
It runs successfully from the command line but doesn't display a UI without parameters
The "Failed to execute child process" error might be coming from a specific launcher or menu item trying to call cinnamon-settings incorrectly
Let's try a few more approaches:

Run with a specific module to open a settings panel:
bash

Copy
cinnamon-settings display
Check the cinnamon version to ensure components match:
bash

Copy
cinnamon --version
Try reinstalling the full Cinnamon package:
bash

Copy
sudo apt install --reinstall cinnamon
Check if there's an issue with the Webkit component referenced in the desktop file:
bash

Copy
sudo apt install --reinstall gir1.2-webkit2-4.0
Create a simple test case to see if the executable can be found by a launcher:
bash

Copy
echo -e '#!/bin/bash\ncinnamon-settings' > ~/test-settings.sh
chmod +x ~/test-settings.sh
./test-settings.sh
Since we know the script exists and runs without errors, the notification error is likely coming from something trying to call it incorrectly or from a path that doesn't exist. The notification specifically says "Failed to execute child process 'cinnamon-settings' (No such file or directory)" which suggests that something is looking for cinnamon-settings in the wrong location or with an incorrect path.

Retry
L
los@Nico:$ sudo apt install --reinstall gir1.2-webkit2-4.0
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package gir1.2-webkit2-4.0 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'gir1.2-webkit2-4.0' has no installation candidate
los@Nico:
$

Edit
It seems the WebKit package name might have changed. Let's try finding the correct package:

bash

Copy
apt search gir1.2-webkit
This will list available WebKit packages. You're likely looking for a newer version or a differently named package.

Let's also try running cinnamon-settings with a specific module, which often works even when the main launcher doesn't:

bash

Copy
cinnamon-settings display
And let's check your Cinnamon version:

bash

Copy
cinnamon --version
Since we're dealing with a newer version of Linux Mint (Wilma), some package names might have changed. The error could be because a launcher is trying to use an older package that's no longer available.

Another approach is to see if there's a specific menu item or shortcut that's triggering the error notification. When you see the error, what action are you taking right before it appears?

Retry
L
los@Nico:$ sudo apt install --reinstall gir1.2-webkit2-4.0
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package gir1.2-webkit2-4.0 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'gir1.2-webkit2-4.0' has no installation candidate
los@Nico:
$ apt search gir1.2-webkit
p gir1.2-webkit-6.0 - Web content engine library for GTK - GObject introspection data
p gir1.2-webkit-6.0:i386 - Web content engine library for GTK - GObject introspection data
v gir1.2-webkit-6.0-dev -
v gir1.2-webkit-6.0-dev:i386 -
i gir1.2-webkit2-4.1 - Web content engine library for GTK - GObject introspection data
p gir1.2-webkit2-4.1:i386 - Web content engine library for GTK - GObject introspection data
v gir1.2-webkit2-4.1-dev -
v gir1.2-webkit2-4.1-dev:i386 -
v gir1.2-webkit2webextension-4.1 -
v gir1.2-webkit2webextension-4.1:i386 -
v gir1.2-webkit2webextension-4.1-dev -
v gir1.2-webkit2webextension-4.1-dev:i386 -
v gir1.2-webkitwebprocessextension-6.0 -
v gir1.2-webkitwebprocessextension-6.0:i386 -
v gir1.2-webkitwebprocessextension-6.0-dev -
v gir1.2-webkitwebprocessextension-6.0-dev:i386

Edit
I see you already have gir1.2-webkit2-4.1 installed (marked with an 'i' in the search results), which is the newer version of the WebKit package that replaced the 4.0 version. This is good - it means the necessary WebKit component is installed.

Let's try a few more targeted approaches to resolve the notification issue:

Try running cinnamon-settings with a specific module:
bash

Copy
cinnamon-settings display
Check your Cinnamon version:
bash

Copy
cinnamon --version
Let's look for any error logs related to cinnamon-settings:
bash

Copy
grep -i cinnamon-settings ~/.xsession-errors
Check if there's a symbolic link issue:
bash

Copy
which cinnamon-settings
ls -la $(which cinnamon-settings)
Try completely reinstalling the cinnamon package:
bash

Copy
sudo apt install --reinstall cinnamon
Also, it would be helpful to know what specific action triggers the error notification. Does it happen:

When you click on a specific menu item?
When you start your computer?
When you try to access system settings through a specific method?
Understanding when exactly the error appears could give us a better clue about what's causing it.

Retry
L
los@Nico:~$ grep -i cinnamon-settings ~/.xsession-errors
discover_other_daemon: 1discover_other_daemon: 1discover_other_daemon: 1[cinnamon-settings-daemon-smartcard] Failed to start: no suitable smartcard driver could be found
[cinnamon-settings-daemon-smartcard] Failed to start: no suitable smartcard driver could be found
Gjs-Message: 01:23:34.055: JS LOG: error: Execution of 'cinnamon-settings ' failed:: Failed to execute child process “cinnamon-settings” (No such file or directory)
Gjs-Message: 01:23:52.003: JS LOG: error: Execution of 'cinnamon-settings ' failed:: Failed to execute child process “cinnamon-settings” (No such file or directory)
Gjs-Message: 01:24:05.692: JS LOG: error: Execution of 'cinnamon-settings ' failed:: Failed to execute child process “cinnamon-settings” (No such file or directory)

Edit
This is very helpful! The error log shows what's happening:

Copy
JS LOG: error: Execution of 'cinnamon-settings ' failed:: Failed to execute child process "cinnamon-settings" (No such file or directory)
Notice there's a space after 'cinnamon-settings' in the command that's failing. The system is trying to execute a command called "cinnamon-settings " (with a trailing space), which isn't a valid command. That's why it's failing.

This is a common issue where a launcher or menu item has been misconfigured with an extra space in the command. Let's fix this:

First, let's find the launcher or menu item that's triggering this error. It's likely in one of these locations:
bash

Copy
grep -r "cinnamon-settings " --include="*.desktop" ~/.local/share/applications/ /usr/share/applications/
Also, check your custom keyboard shortcuts:
bash

Copy
cinnamon-settings keyboard
Another approach is to create a symbolic link that handles this error case:
bash

Copy
sudo ln -s /usr/bin/cinnamon-settings "/usr/bin/cinnamon-settings "
This creates a link with a trailing space that points to the real command. It's a bit hacky but should fix the immediate issue.

The notification appears when something (likely a menu item, desktop shortcut, or keyboard shortcut) tries to run "cinnamon-settings " with that trailing space. Now that we know exactly what's happening, we can focus on finding and fixing that specific launcher.

Retry
L
los@Nico:~$ grep -r "cinnamon-settings " --include="*.desktop" /.local/share/applications/ /usr/share/applications/
/usr/share/applications/cinnamon-settings-universal-access.desktop:Exec=cinnamon-settings accessibility
/usr/share/applications/cinnamon-wacom-panel.desktop:Exec=cinnamon-settings wacom
/usr/share/applications/cinnamon-settings-privacy.desktop:Exec=cinnamon-settings privacy
/usr/share/applications/cinnamon-settings-tiling.desktop:Exec=cinnamon-settings tiling
/usr/share/applications/cinnamon-settings-themes.desktop:Exec=cinnamon-settings themes
/usr/share/applications/cinnamon-settings-effects.desktop:Exec=cinnamon-settings effects
/usr/share/applications/cinnamon-settings-default.desktop:Exec=cinnamon-settings default
/usr/share/applications/cinnamon-settings-desktop.desktop:Exec=cinnamon-settings desktop
/usr/share/applications/cinnamon-settings-calendar.desktop:Exec=cinnamon-settings calendar
/usr/share/applications/cinnamon-settings-actions.desktop:Exec=cinnamon-settings actions
/usr/share/applications/cinnamon-network-panel.desktop:Exec=cinnamon-settings network
/usr/share/applications/cinnamon-settings-workspaces.desktop:Exec=cinnamon-settings workspaces
/usr/share/applications/cinnamon-settings-hotcorner.desktop:Exec=cinnamon-settings hotcorner
/usr/share/applications/cinnamon-settings-info.desktop:Exec=cinnamon-settings info
/usr/share/applications/cinnamon-settings-mouse.desktop:Exec=cinnamon-settings mouse
/usr/share/applications/cinnamon-color-panel.desktop:Exec=cinnamon-settings color
/usr/share/applications/cinnamon-settings-screensaver.desktop:Exec=cinnamon-settings screensaver
/usr/share/applications/cinnamon-settings-user.desktop:Exec=cinnamon-settings user
/usr/share/applications/cinnamon-settings-backgrounds.desktop:Exec=cinnamon-settings backgrounds
/usr/share/applications/cinnamon-settings-general.desktop:Exec=cinnamon-settings general
/usr/share/applications/cinnamon-settings-gestures.desktop:Exec=cinnamon-settings gestures
/usr/share/applications/cinnamon-settings-power.desktop:Exec=cinnamon-settings power
/usr/share/applications/cinnamon-settings-keyboard.desktop:Exec=cinnamon-settings keyboard
/usr/share/applications/cinnamon-display-panel.desktop:Exec=cinnamon-settings display
/usr/share/applications/cinnamon-settings-panel.desktop:Exec=cinnamon-settings panel
/usr/share/applications/cinnamon-settings-desklets.desktop:Exec=cinnamon-settings desklets
/usr/share/applications/cinnamon-settings-fonts.desktop:Exec=cinnamon-settings fonts
/usr/share/applications/cinnamon-settings-sound.desktop:Exec=cinnamon-settings sound
/usr/share/applications/cinnamon-settings-windows.desktop:Exec=cinnamon-settings windows
/usr/share/applications/cinnamon-settings-notifications.desktop:Exec=cinnamon-settings notifications
/usr/share/applications/cinnamon-settings-applets.desktop:Exec=cinnamon-settings applets
/usr/share/applications/cinnamon-settings-startup.desktop:Exec=cinnamon-settings startup
/usr/share/applications/cinnamon-settings-extensions.desktop:Exec=cinnamon-settings extensions
los@Nico:
$

Edit
The grep results show a lot of desktop files for various Cinnamon settings modules, but none of them have the trailing space issue we're looking for. The commands all look correct, with proper module names after "cinnamon-settings".

The error in your logs specifically mentioned 'cinnamon-settings ' with a trailing space, but we don't see that in any desktop files. This suggests the issue might be coming from somewhere else, such as:

A panel applet
A custom keyboard shortcut
A menu item created dynamically by Cinnamon
Let's try fixing this with a symbolic link as suggested earlier:

bash

Copy
sudo ln -s /usr/bin/cinnamon-settings "/usr/bin/cinnamon-settings "
This creates a link with a trailing space that points to the real executable. It's a bit of a hack, but it should resolve the immediate issue.

Additionally, can you tell me when exactly this notification appears? Is it:

When you click on a specific menu item?
When you start your computer?
When you try to open System Settings from the menu?
Also, let's check if you can run specific settings modules successfully:

bash

Copy
cinnamon-settings display
If that works, it further confirms that the issue is just with how something is trying to call the main settings panel without a module specified and with a trailing space.

Retry
L
os@Nico:$ sudo ln -s /usr/bin/cinnamon-settings "/usr/bin/cinnamon-settings "
los@Nico:
$ cinnamon-settings display
/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py:458: DeprecationWarning: Gtk.Window.set_wmclass is deprecated
self.window.set_wmclass(wm_class, wm_class)
Loading Display module
los@Nico:~$

Edit
Great! The display module loaded successfully, which confirms the cinnamon-settings script itself is working properly.

Now that we've created a symbolic link for "cinnamon-settings " (with the trailing space), the error notifications should stop appearing. The symbolic link acts as a bridge, redirecting any commands with that trailing space to the correct executable.

The DeprecationWarning about Gtk.Window.set_wmclass is just an informational message for developers and isn't causing any problems. It's simply noting that the particular GTK method being used is deprecated and might be removed in future versions.

When does the notification typically appear? If you restart your system or log out and back in, you should no longer see it. The symbolic link solution addresses the root cause by providing a valid path for the incorrectly formatted command that was being executed.

If you do still see the notification after restarting or logging out and back in, please let me know, and we can try other approaches to identify and fix whatever is calling cinnamon-settings with that trailing space.

Retry
L
what cmds do i use to check to see if im able to download Xia the cli?

Edit

2 / 2

To check if you can download and install Xia via the command line, you'd typically want to:

First, check if Xia is available in your package repositories:
bash

Copy
apt search xia
If you know the exact package name, you can check its availability:
bash

Copy
apt-cache policy xia
If Xia is distributed as a snap package, check with:
bash

Copy
snap find xia
If Xia is distributed via Flatpak:
bash

Copy
flatpak search xia
Check if you have the necessary package managers installed:
bash

Copy

For Snaps

which snap

For Flatpak

which flatpak

For AppImage support

which appimaged
If Xia is available through a third-party repository, you might need to first add that repository:
bash

Copy

Check which repositories you currently have enabled

apt-cache policy
Note that "Xia" is not a standard Linux package I'm familiar with. If you're looking for a specific application called Xia, you might need to provide more details about it (such as its full name, purpose, or the official website) so I can give you more precise commands for checking its availability and installation methods.

Retry
L
los@Nico:$ apt search xia
p golang-github-likexian-gokit-dev - toolkit for Go development
p golang-github-wsxiaoys-terminal-dev - Colorful terminal output for Golang
p golang-github-xiang90-probing-dev - Go library for HTTP probing
p libdoxia-core-java - Doxia content generation framework (core)
p libdoxia-java - Doxia content generation framework (modules)
p libdoxia-sitetools-java - Extension package of the content generation framework Doxia
p libgraxxia-java - Wrappers for doing Mathematics in Groovy
p libmaven-doxia-tools-java - utilities for integrating Doxia in Maven
los@Nico:
$

Edit
Based on the search results, it doesn't appear that a package named "Xia" is available in your standard repositories. The search results only show packages that contain "xia" as part of their names, like "libdoxia" and some Golang packages, but not a standalone Xia package.

If you're looking for a specific application called Xia, you might need to:

Check if it's available as a snap or flatpak package:
bash

Copy
snap find xia
flatpak search xia
Check if you have these package managers installed:
bash

Copy
which snap
which flatpak
If Xia is distributed via a direct download, you might need to:
bash

Copy

Check your system architecture

uname -m

Check what version of Linux you're running

lsb_release -a
If Xia is distributed from a third-party repository, you would need to add that repository first.
Could you provide more details about what Xia is? Knowing the full name or purpose of the application would help me give you more specific instructions for checking its availability and installation methods.

Retry
L
Xia is a new dist upgrade

Edit
I don't believe there is a Linux distribution called "Xia" that would be considered a distribution upgrade for Linux Mint Wilma (which is what you're currently running based on your previous commands).

Linux Mint follows its own naming convention with names like "Wilma," "Victoria," etc., and the next version after Wilma hasn't been released yet. Wilma is the current version (21.3) of Linux Mint, released in 2024.

To check for available distribution upgrades on Linux Mint, you would typically use:

bash

Copy
mintupdate-cli check
mintupdate-cli upgrade
If you want to check for a new Linux Mint version:

bash

Copy
mintupgrade check
However, if you're referring to a specific new feature or package called "Xia," I'd need more details about it. It's not showing up in your package repositories based on the previous search results.

If you're interested in upgrading your distribution, the recommended way for Linux Mint is to use the Update Manager GUI application or the commands I mentioned above.

Retry
L
los@Nico:$ mintupdate-cli check
mintupdate-cli upgrade
mintupdate-cli: command not found
mintupdate-cli: command not found
los@Nico:
$

Edit
It looks like the mintupdate-cli command isn't available on your system. This is a bit unusual for a Linux Mint installation, as it should be included by default.

Let's try some alternative approaches to check for and perform system updates:

First, try using the standard update commands:
bash

Copy
sudo apt update
sudo apt upgrade
Check if the mintupdate package is installed:
bash

Copy
dpkg -l | grep mintupdate
If it's not installed, you can try installing it:
bash

Copy
sudo apt install mintupdate
For distribution upgrades, you might need to use the Mint Update Manager GUI. You can launch it with:
bash

Copy
mintupdate
Or check if the mintupgrade tool is available:
bash

Copy
which mintupgrade
If you specifically want to upgrade to a newer version of Linux Mint, the recommended approach is typically to perform a fresh installation rather than an in-place upgrade. Linux Mint officially recommends this approach for major version upgrades.

To check your current Linux Mint version, you can use:

bash

Copy
cat /etc/linuxmint/info
This will show you which version you're currently running, and you can compare it to the latest available version on the Linux Mint website.

Retry
L
los@Nico:~$ sudo apt install mintupdate
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
mintupdate
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 680 kB of archives.
After this operation, 5,836 kB of additional disk space will be used.
Get:1 https://mirror.us.mirhosting.net/linuxmint/packages wilma/main amd64 mintupdate all 6.1.5 [680 kB]
Fetched 680 kB in 0s (1,377 kB/s)
Selecting previously unselected package mintupdate.
(Reading database ... 659521 files and directories currently installed.)
Preparing to unpack .../mintupdate_6.1.5_all.deb ...
Unpacking mintupdate (6.1.5) ...
Setting up mintupdate (6.1.5) ...
The unit files have no installation config (WantedBy=, RequiredBy=, UpheldBy=,
Also=, or Alias= settings in the [Install] section, and DefaultInstance= for
template units). This means they are not meant to be enabled or disabled using systemctl.

Possible reasons for having these kinds of units are:
• A unit may be statically enabled by being symlinked from another unit's
.wants/, .requires/, or .upholds/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
instance name specified.
The unit files have no installation config (WantedBy=, RequiredBy=, UpheldBy=,
Also=, or Alias= settings in the [Install] section, and DefaultInstance= for
template units). This means they are not meant to be enabled or disabled using systemctl.

Possible reasons for having these kinds of units are:
• A unit may be statically enabled by being symlinked from another unit's
.wants/, .requires/, or .upholds/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
instance name specified.
The unit files have no installation config (WantedBy=, RequiredBy=, UpheldBy=,
Also=, or Alias= settings in the [Install] section, and DefaultInstance= for
template units). This means they are not meant to be enabled or disabled using systemctl.

Possible reasons for having these kinds of units are:
• A unit may be statically enabled by being symlinked from another unit's
.wants/, .requires/, or .upholds/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
instance name specified.
Processing triggers for libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.2) ...
Processing triggers for libglib2.0-0t64:i386 (2.80.0-6ubuntu3.2) ...
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
Processing triggers for desktop-file-utils (0.27-2build1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for gnome-menus (3.36.0-1.1ubuntu3) ...
Processing triggers for mate-menus (1.26.1+mint1) ...
Processing triggers for man-db (2.12.0-4build2) ...
los@Nico:$ which mintupgrade
los@Nico:
$

Edit
You've successfully installed the mintupdate package. Now you should be able to use the Mint Update Manager. Try these commands:

bash

Copy

Check for updates via command line

mintupdate-cli check

Launch the graphical Update Manager

mintupdate
Regarding mintupgrade, the empty response from which mintupgrade indicates that it's not installed. This is normal, as mintupgrade is typically only installed when it's time for a distribution upgrade.

Based on your system configuration, you appear to be running Linux Mint Wilma (21.3), which is the latest version. There is no "Xia" version of Linux Mint currently available. The Mint team hasn't announced the next version name yet.

To check your current Linux Mint version:

bash

Copy
cat /etc/linuxmint/info
If you're interested in keeping your system up to date, regular updates are handled through the Update Manager you just installed. Major version upgrades typically require a fresh installation when a new version is released.

Is there anything specific you're trying to achieve with your system? I can provide more targeted guidance based on your goals.

Retry
Screenshot from 20250311 020539.png
L
Edit
I can see that you've successfully installed the mintupdate package and you're now running the Mint Update Manager. The update window shows that you have system updates available, including:

Linux kernel 6.8.0-55.57
gTile@shuairan (which looks like a Cinnamon extension)
The terminal shows that you've run:

which mintupgrade (which returned no result, as expected)
mintupdate-cli check (which now works after installing the package)
mintupdate (which launched the graphical update manager that's visible in the screenshot)
In your terminal window, I can also see some deprecation warnings related to GTK threads and a Flatpak error about parsing updates list.

Based on what I'm seeing, you're running Linux Mint with Cinnamon desktop environment. Everything appears to be working correctly now with the update system. I recommend proceeding with the available updates by clicking "Install Updates" in the Update Manager window.

To keep your system up to date, remember to:

Regularly check for updates with the Update Manager
Apply available updates
Occasionally check the Linux Mint website for news about new versions
There is no "Xia" version of Linux Mint. The current version you're running (Linux Mint Wilma) is the latest release, and the Mint team hasn't announced the next version name yet.

Would you like me to help you with anything else regarding system updates or the Cinnamon desktop settings error we fixed earlier?

Retry

los@Nico:~$ /usr/lib/linuxmint/mintUpdate/mintUpdate.py:1394: DeprecationWarning: Gdk.threads_init is deprecated Gdk.threads_init() /usr/lib/linuxmint/mintUpdate/mintUpdate.py:1778: DeprecationWarni
pasted
L
Edit
I see the output contains several errors and warnings related to your mintUpdate application. Let's break this down:

Deprecation Warnings: Several GTK-related deprecation warnings are showing up. These are mostly informational for developers and don't affect functionality.
Flatpak Update Errors:

Copy
Settings schema 'com.linuxmint.install' is not installed
Flatpaks: unable to parse updates list Expecting value: line 1 column 1 (char 0)
This indicates a problem with Flatpak updates. The Flatpak integration seems to be missing a settings schema.
Critical Error: The most serious issue appears to be:

Copy
UnboundLocalError: cannot access local variable 'xmd' where it is not associated with a value
This is happening in the release upgrade module (rel_upgrade.py), which suggests there's a bug in the code that handles distribution upgrades.
To fix these issues, try the following:

For the Flatpak issue:
bash

Copy
sudo apt install mint-common
For the mintUpdate issue, try reinstalling it with:
bash

Copy
sudo apt install --reinstall mintupdate mint-upgrade-info
Check if you're missing any essential Mint packages:
bash

Copy
sudo apt install --reinstall mintinstall mintsystem
Repair package dependencies:
bash

Copy
sudo apt --fix-broken install
These errors explain why you're having trouble with the update system. The core issue is that there appears to be a bug in the release upgrade component of mintUpdate, which might be why you're seeing problems when trying to check for distribution upgrades.

After running these commands, try updating your system again with:

bash

Copy
mintupdate
Then check if the errors persist. The most critical issue is with the variable 'xmd' in the upgrade script, which is a programming error in the mintUpdate application itself rather than an issue with your system configuration.

Retry
L
los@Nico:~$ /usr/lib/linuxmint/mintUpdate/mintUpdate.py:1394: DeprecationWarning: Gdk.threads_init is deprecated
Gdk.threads_init()
/usr/lib/linuxmint/mintUpdate/mintUpdate.py:1778: DeprecationWarning: Gdk.threads_enter is deprecated
Gdk.threads_enter()
/usr/lib/linuxmint/mintUpdate/mintUpdate.py:817: DeprecationWarning: Gdk.threads_leave is deprecated
Gdk.threads_leave()
mint-common (WARN): app/com.authy.Authy/x86_64/stable is end-of-life (EOL): (The Authy Desktop app have their End-of-Life. It is recommended to switch to use their mobile apps instead or other equivalent desktop apps.)
mint-common (WARN): No updated ref to use, using the EOL'd one.
Flatpak: done generating updates
mint-common (WARN): app/com.authy.Authy/x86_64/stable is end-of-life (EOL): (The Authy Desktop app have their End-of-Life. It is recommended to switch to use their mobile apps instead or other equivalent desktop apps.)
mint-common (WARN): No updated ref to use, using the EOL'd one.
/usr/lib/python3/dist-packages/mintcommon/installer/_flatpak.py:700: Warning: g_value_get_flags: assertion 'G_VALUE_HOLDS_FLAGS (value)' failed
self.transaction.run(self.task.cancellable)
Flatpaks: updates complete
mint-common (WARN): app/com.authy.Authy/x86_64/stable is end-of-life (EOL): (The Authy Desktop app have their End-of-Life. It is recommended to switch to use their mobile apps instead or other equivalent desktop apps.)
mint-common (WARN): No updated ref to use, using the EOL'd one.
Flatpak: done generating updates
mint-common (WARN): app/com.authy.Authy/x86_64/stable is end-of-life (EOL): (The Authy Desktop app have their End-of-Life. It is recommended to switch to use their mobile apps instead or other equivalent desktop apps.)
mint-common (WARN): No updated ref to use, using the EOL'd one.
/usr/lib/python3/dist-packages/mintcommon/installer/_flatpak.py:700: Warning: g_value_get_flags: assertion 'G_VALUE_HOLDS_FLAGS (value)' failed
self.transaction.run(self.task.cancellable)
Flatpaks: updates complete
mint-common (WARN): app/com.authy.Authy/x86_64/stable is end-of-life (EOL): (The Authy Desktop app have their End-of-Life. It is recommended to switch to use their mobile apps instead or other equivalent desktop apps.)
mint-common (WARN): No updated ref to use, using the EOL'd one.
Flatpak: done generating updates
Traceback (most recent call last):
File "/usr/lib/linuxmint/mintUpdate/rel_upgrade.py", line 184, in install_pkgs
xmd += ["--parent-window-id", "%s" % self.assistant.get_window().get_xid()]
^^^
UnboundLocalError: cannot access local variable 'xmd' where it is not associated with a value
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 228, in partial_apport_excepthook
return apport_excepthook(binary, exc_type, exc_obj, exc_tb)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 144, in apport_excepthook
os.open(pr_filename, os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), "wb"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied: '/var/crash/_usr_lib_linuxmint_mintUpdate_rel_upgrade.py.1000.crash'
Original exception was:
Traceback (most recent call last):
File "/usr/lib/linuxmint/mintUpdate/rel_upgrade.py", line 184, in install_pkgs
xmd += ["--parent-window-id", "%s" % self.assistant.get_window().get_xid()]
^^^
UnboundLocalError: cannot access local variable 'xmd' where it is not associated with a value

Edit
I see the output from running the mintupdate application. There are a few things to note:

The Flatpak errors have changed - now you're getting warnings about an end-of-life Authy Desktop app, which is just informational and not a critical error.
The critical error still persists:

Copy
UnboundLocalError: cannot access local variable 'xmd' where it is not associated with a value
This is a bug in the Linux Mint update system itself, specifically in the release upgrade script (rel_upgrade.py). The variable xmd is being referenced before it's defined, which is causing the error.

To work around this issue:

First, try reinstalling the mint-upgrade-info package:
bash

Copy
sudo apt install --reinstall mint-upgrade-info
If that doesn't fix it, you can try to workaround the bug by editing the file (this requires administrative privileges):
bash

Copy
sudo nano /usr/lib/linuxmint/mintUpdate/rel_upgrade.py
Find line 184 (or thereabouts) where it says xmd += ["--parent-window-id", ...] and modify it to initialize xmd first.
However, since this is a bug in the Linux Mint codebase itself, the most reliable solution would be to wait for an official fix from the Linux Mint team.

For now, don't worry too much about this error. It only affects the distribution upgrade functionality, not the regular system updates. You can still install regular system updates through the Update Manager. The bug will likely be fixed in a future update to the mintupdate package.

If you're really concerned about this issue, you could report it to the Linux Mint team through their GitHub repository or forums.

Retry
L
def install_pkgs(self, widget, event, packages):
cmd = [
"pkexec", "/usr/sbin/synaptic",
"--hide-main-window",
"--non-interactive",
"-o", "Synaptic::closeZvt=true"
]
if os.environ.get("XDG_SESSION_TYPE", "x11") == "x11":
xmd += ["--parent-window-id", "%s" % self.assistant.get_window().get_xid()]
f = tempfile.NamedTemporaryFile()
for pkg in packages:
pkg_line = "%s\tinstall\n" % pkg
f.write(pkg_line.encode("utf-8"))
cmd.append("--set-selections-file")

Edit
I see the issue now. Looking at the code snippet from the rel_upgrade.py file, the problem is clear - the variable xmd is being referenced before it's defined. This is a bug in the code.

The line xmd += ["--parent-window-id", "%s" % self.assistant.get_window().get_xid()] is trying to append to a variable called xmd that doesn't exist yet in this function.

To fix this, you would need to modify the code to:

python

Copy
def install_pkgs(self, widget, event, packages):
cmd = [
"pkexec", "/usr/sbin/synaptic",
"--hide-main-window",
"--non-interactive",
"-o", "Synaptic::closeZvt=true"
]
if os.environ.get("XDG_SESSION_TYPE", "x11") == "x11":
# Initialize xmd before using it
xmd = []
xmd += ["--parent-window-id", "%s" % self.assistant.get_window().get_xid()]
# Add xmd to cmd
cmd.extend(xmd)
f = tempfile.NamedTemporaryFile()
for pkg in packages:
pkg_line = "%s\tinstall\n" % pkg
f.write(pkg_line.encode("utf-8"))
cmd.append("--set-selections-file")
This is definitely a programming error in the MintUpdate application. Since this is part of the system software, the proper solution would be to report this bug to the Linux Mint development team so they can fix it in an upcoming update.

You can report bugs to the Linux Mint team via their GitHub repository or through their forums. In the meantime, you can still use regular system updates - this bug only affects the distribution upgrade functionality.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions