Sysop: | Amessyroom |
---|---|
Location: | Fayetteville, NC |
Users: | 27 |
Nodes: | 6 (0 / 6) |
Uptime: | 43:28:18 |
Calls: | 631 |
Calls today: | 2 |
Files: | 1,187 |
D/L today: |
24 files (29,813K bytes) |
Messages: | 175,386 |
I want to add a second keyboard layout, but Mint menu > Keyboard does absolutely nothing. No window opens when I click it.
When typing cinnamon-settings keyboard I get all this:
/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py:458: DeprecationWarning: Gtk.Window.set_wmclass is deprecated
-a self.window.set_wmclass(wm_class, wm_class)
Loading Keyboard module
Traceback (most recent call last):
-a File "/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py",
line 811, in <module>
-a-a-a window = MainWindow()
-a-a-a-a-a-a-a-a-a-a-a-a ^^^^^^^^^^^^
-a File "/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py",
line 330, in __init__
-a-a-a if self.load_sidepage_as_standalone():
-a-a-a-a-a-a ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-a File "/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py",
line 464, in load_sidepage_as_standalone
-a-a-a self.go_to_sidepage(sp_data.sp, user_action=False)
-a File "/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py",
line 185, in go_to_sidepage
-a-a-a sidePage.build()
-a File "/usr/share/cinnamon/cinnamon-settings/bin/SettingsWidgets.py", line 212, in build
-a-a-a self.module.on_module_selected()
-a File "/usr/share/cinnamon/cinnamon-settings/modules/cs_keyboard.py", line 513, in on_module_selected
-a-a-a _config = json.load(config_file)
-a-a-a-a-a-a-a-a-a-a-a-a-a ^^^^^^^^^^^^^^^^^^^^^^
-a File "/usr/lib/python3.12/json/__init__.py", line 293, in load
-a-a-a return loads(fp.read(),
-a-a-a-a-a-a-a-a-a-a ^^^^^^^^^^^^^^^^
-a File "/usr/lib/python3.12/json/__init__.py", line 346, in loads
-a-a-a return _default_decoder.decode(s)
-a-a-a-a-a-a-a-a-a-a ^^^^^^^^^^^^^^^^^^^^^^^^^^
-a File "/usr/lib/python3.12/json/decoder.py", line 337, in decode
-a-a-a obj, end = self.raw_decode(s, idx=_w(s, 0).end())
-a-a-a-a-a-a-a-a-a-a-a-a-a-a ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-a File "/usr/lib/python3.12/json/decoder.py", line 355, in raw_decode
-a-a-a raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
I have no idea what I'm looking at here. I see an error in the last
line, but have no clue what to do about it.
Tried upgrading to 22.2 hoping that would fix the issue, but it didn't.
Also tried sudo apt install --reinstall cinnamon-control-center as
suggested by an AI but that didn't help either.
Any ideas?
Unlike the stack trace from `cinnamon-settings` itself, this shows the
name of the file that failed to load, and should also check all files
rather than stopping at the first error.
No idea why they are empty. I will try to install Mint in a virtual
machine and see if I can copy these files.
So I noticed that there are actually two locations for the config files:
- home/.config/cinnamon/
- home/.cinnamon/configs
A bit confusing I think. Anyway, I noticed that the .json files were
also in the first location and those were not empty. So I just copied
those to the second location and overwrote the empty ones. Now the
Keyboard menu opens without a problem.
On Sun, 7 Sep 2025 21:55:29 +0200, Monsieur wrote:
So I noticed that there are actually two locations for the config files:
- home/.config/cinnamon/
- home/.cinnamon/configs
A bit confusing I think. Anyway, I noticed that the .json files were
also in the first location and those were not empty. So I just copied
those to the second location and overwrote the empty ones. Now the
Keyboard menu opens without a problem.
Were the bad files the same sizes as the corresponding good ones? (Just wondering ...)
Slightly surprising that the second location was used in preference to the first one; I would have expected it to be the other way round.
Monsieur wrote:
No idea why they are empty. I will try to install Mint in a virtual
machine and see if I can copy these files.
So I noticed that there are actually two locations for the config files:
- home/.config/cinnamon/
- home/.cinnamon/configs
A bit confusing I think. Anyway, I noticed that the .json files were
also in the first location and those were not empty. So I just copied
those to the second location and overwrote the empty ones. Now the
Keyboard menu opens without a problem.
Strange that this happened on a completely fresh install on a completely
new machine.
Monsieur wrote:
So I noticed that there are actually two locations for the config
files:
- home/.config/cinnamon/
- home/.cinnamon/configs
A bit confusing I think. Anyway, I noticed that the .json files were
also in the first location and those were not empty. So I just copied
those to the second location and overwrote the empty ones. Now the
Keyboard menu opens without a problem.
It looks like `~/.cinnamon/configs` is an "old" path for Cinnamon's
settings files, with `~/.config/cinnamon/` being the "new" path ...
It looks like `~/.cinnamon/configs` is an "old" path for Cinnamon's
settings files, with `~/.config/cinnamon/` being the "new" path (the `OLD_SETTINGS_DIR` and `SETTINGS_DIR` names in my script are copied
straight from `cinnamon-settings` itself).-a You could probably just
delete the now-duplicates from under `~/.cinnamon/configs` (or move to somewhere else and see how things go for a while before deleting, in
case I'm wrong about that).-a I don't even have a `~/.cinnamon/`
directory on my Mint 22.1 Cinnamon system, having been set up as a fresh installation and only selectively copied config files that I knew I
wanted to keep from the previous version.
The code in `cinnamon-settings` will load all files under both of those directories, with settings loaded from `~/.config/cinnamon/` taking precedence if both define the same settings, so there doesn't seem to be
any advantage in having the same in both places.-a But, because it tries
to load all the files, it'll fail if any are corrupt.
Strange that this happened on a completely fresh install on a
completely new machine.
From other posts it sounds like you copied your home directory across
from an old machine, but it's still strange.-a All I can think is that either something went wrong when copying, or perhaps the files were
already corrupt on the old machine but the version of
`cinnamon-settings` there either didn't look in that directory or was
more tolerant of the errors.
On Tue, 9 Sep 2025 21:41:29 +0100, Mark Bourne wrote:
Monsieur wrote:
So I noticed that there are actually two locations for the config
files:
- home/.config/cinnamon/
- home/.cinnamon/configs
A bit confusing I think. Anyway, I noticed that the .json files were
also in the first location and those were not empty. So I just copied
those to the second location and overwrote the empty ones. Now the
Keyboard menu opens without a problem.
It looks like `~/.cinnamon/configs` is an "old" path for Cinnamon's
settings files, with `~/.config/cinnamon/` being the "new" path ...
You would think so, yet he clearly says he copied the files in the other direction.
The files in .config/cinnamon were there, but empty. Only when I
replaced them with the ones from the old ./cinnamon/configs did
everything work again.
On Wed, 10 Sep 2025 10:47:08 +0200, Monsieur wrote:
The files in .config/cinnamon were there, but empty. Only when I
replaced them with the ones from the old ./cinnamon/configs did
everything work again.
ThatrCOs the logical direction we would expect, but itrCOs the opposite of what you said before:
- home/.config/cinnamon/
- home/.cinnamon/configs
Anyway, I noticed that the .json files were also in the first
location and those were not empty. So I just copied those to the
second location and overwrote the empty ones.