You are not logged in.

#1 2023-07-15 20:08:29

countrybooter
Member
Registered: 2023-04-25
Posts: 9

Gnome | Troubleshooting commands for changing wallpaper with CLI

Thanks for reading.

The official chain of commands for changing the wallpaper to 'none' is:

gsettings set org.gnome.desktop.background picture-options 'none' 

Which is working instantly.

Now with the official chain of commands for changing the wallpaper to a picture (replacing the path to my actual picture), there is an issue.

 gsettings set org.gnome.desktop.background picture-uri "file:///path/to/your/image.jpg" 

Following error appears:

dconf-WARNING **: failed to commit changes to dconf: The connection is closed# 

Now, I've read some 5 year old posts on stackoverflow and instead of necro-bumping, I hope somebody here was equally interested in finding the solution for this.

I've tried:

dconf reset -f / 

Which allowed me to configure my entire setup from scratch with GUI, which I tried to 'automate' by using the command, so it's kinda funny.
I've managed to figure out a proper way to do some deep diggin, using strace.

strace -e trace=file gsettings set org.gnome.desktop.background picture-uri "file:///path/to/your/image.jpg"
execve("/usr/bin/gsettings", ["gsettings", "set", "org.gnome.desktop.background", "picture-uri", "file:///home/arch/Pictures/Color"...], 0x7ffd6f653b30 /* 47 vars */) = 0
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=122167, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib/libgio-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=1907952, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib/libglib-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=1351088, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib/libgobject-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=391208, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=1961632, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib/libgmodule-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=22384, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=100288, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib/libmount.so.1", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=272864, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=633072, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib/libffi.so.8", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=43160, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib/libblkid.so.1", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=228192, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=3057456, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/share/glib-2.0/schemas/gschemas.compiled", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=125538, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/local/share/glib-2.0/schemas/gschemas.compiled", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/charset.alias", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=2998, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/share/locale/en_AG/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_AG/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/arch/.local/share/glib-2.0/schemas/gschemas.compiled", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/gio/modules", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 4
newfstatat(4, "", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_EMPTY_PATH) = 0
newfstatat(AT_FDCWD, "/usr/lib/gio/modules/giomodule.cache", {st_mode=S_IFREG|0644, st_size=270, ...}, 0) = 0
openat(AT_FDCWD, "/usr/lib/gio/modules/giomodule.cache", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=270, ...}, AT_EMPTY_PATH) = 0
newfstatat(AT_FDCWD, "/usr/lib/gio/modules/libdconfsettings.so", {st_mode=S_IFREG|0755, st_size=55248, ...}, 0) = 0
newfstatat(AT_FDCWD, "/usr/lib/gio/modules/libgiolibproxy.so", {st_mode=S_IFREG|0755, st_size=18224, ...}, 0) = 0
newfstatat(AT_FDCWD, "/usr/lib/gio/modules/libgiognomeproxy.so", {st_mode=S_IFREG|0755, st_size=22320, ...}, 0) = 0
newfstatat(AT_FDCWD, "/usr/lib/gio/modules/libgiognutls.so", {st_mode=S_IFREG|0755, st_size=116664, ...}, 0) = 0
newfstatat(AT_FDCWD, "/usr/lib/gio/modules/libgvfsdbus.so", {st_mode=S_IFREG|0755, st_size=198896, ...}, 0) = 0
newfstatat(AT_FDCWD, "/usr/lib/gio/modules/libgioremote-volume-monitor.so", {st_mode=S_IFREG|0755, st_size=104336, ...}, 0) = 0
access("/.flatpak-info", F_OK)          = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/gio/modules/libdconfsettings.so", {st_mode=S_IFREG|0755, st_size=55248, ...}, 0) = 0
openat(AT_FDCWD, "/usr/lib/gio/modules/libdconfsettings.so", O_RDONLY|O_CLOEXEC) = 4
newfstatat(4, "", {st_mode=S_IFREG|0755, st_size=55248, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 4
newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=122167, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 4
newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=727856, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/run/dconf/user/1000", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/run/user/1000/dconf/profile", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/dconf/profile/user", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/share/dconf/profile/user", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/dconf/profile/user", O_RDONLY) = -1 ENOENT (No such file or directory)
mkdir("/run/user/1000/dconf", 0700)     = -1 EEXIST (File exists)
newfstatat(AT_FDCWD, "/run/user/1000/dconf", {st_mode=S_IFDIR|0700, st_size=60, ...}, 0) = 0
openat(AT_FDCWD, "/run/user/1000/dconf/user", O_RDWR|O_CREAT, 0600) = 4
openat(AT_FDCWD, "/home/arch/.config/dconf/user", O_RDONLY|O_CLOEXEC) = 4
newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=11403, ...}, AT_EMPTY_PATH) = 0
+++ exited with 0 +++

I don't mind doing my research and learning new stuff, but hopefully this is maybe a bit much to drop on a noob that wants to 'simplify' tasks, use CLI instead of GUI.


Have a blessed day.
Love y'all.

Offline

#2 2023-07-15 20:57:10

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,691

Re: Gnome | Troubleshooting commands for changing wallpaper with CLI

Which allowed me to configure my entire setup from scratch with GUI

man dconf wrote:

reset
           Reset a key or an entire directory. For directories, -f must be specified.

"/" is the root directory, your entire settings.
Don't copy and paste stuff you don't understand from the internet into a shell.

The strace'd run opens and stats /home/arch/.config/dconf/user and then exits w/ no error - does the original problem actually still exist?

Online

#3 2023-07-16 13:24:57

countrybooter
Member
Registered: 2023-04-25
Posts: 9

Re: Gnome | Troubleshooting commands for changing wallpaper with CLI

Thanks for clearing that up.

Yes, let me clear up what the original problem is (Sorry, I'll do a little backflash)

So, using the GUI to change the Wallpaper in GNOME works = means, there is a chain of commands executed in the background.
I thought it's

gsettings set org.gnome.desktop.background picture-uri "file:///path/to/your/image.jpg"

But it's not working, so I thought, ok, let's try:

gsettings set org.gnome.desktop.background picture-options 'none'

Ok, that did work, so maybe the reason why the command to change to an actual picture does not work, it's my fault, typo, or wrong path = double check, no...

So, how can I find out what is the problem, dconf reset, ok, all to default, still same issue.
Strace, no errors, as you wrote.

As far as I understand, if there is no solution on the web, what else can be done?

Just found this, on the web (another command that I have no idea what it will do)

xprop | grep "WM_CLASS"

Have a blessed day.
Love y'all.

Offline

#4 2023-07-16 13:40:28

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,691

Re: Gnome | Troubleshooting commands for changing wallpaper with CLI

Strace, no errors, as you wrote.

What I wrote is that that the command exited w/o any error and w/o apparently printing "dconf-WARNING **: failed to commit changes to dconf: The connection is closed" and therefore I asked whether after resetting the entire dconf tree the problem actually still exists (and in its original form)

xprop allows you to click a window and then prints the window properties.
It only makes sense on X11 and I've no idea how that (and notably the WM_CLASS) would be related to setting a wallpaper.

Online

#5 2023-07-16 18:00:21

countrybooter
Member
Registered: 2023-04-25
Posts: 9

Re: Gnome | Troubleshooting commands for changing wallpaper with CLI

With all due respect,

I, on the other hand, have no idea how to troubleshoot my issue.
Therefore, I'm just trying my best to use the knowledge that I've accumulated so far.
If my ideas don't suffice, you're welcome to invest a little bit more than just doubting whether I executed the chain of commands after resetting dconf. To be honest, I thought that's obvious.

I admit that I'm not able to solve this by my own, no need to break the ball and pointing out you're on Wayland besides other things.

yes, exactly the same error message exists after resetting the entire dconf tree (and in its original form)

Have a blessed day.
Love y'all.

Last edited by countrybooter (2023-07-16 18:05:21)

Offline

#6 2023-07-16 18:06:33

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,691

Re: Gnome | Troubleshooting commands for changing wallpaper with CLI

You don't speak english, do you?
Do you use google translate for this communication?
Try https://www.deepl.com/

Online

#7 2023-07-16 18:20:17

countrybooter
Member
Registered: 2023-04-25
Posts: 9

Re: Gnome | Troubleshooting commands for changing wallpaper with CLI

The idea was to use systemloggin in combination with grep to filter out entries related to gnome-control-center, not very successful.

sudo journalctl -f | grep "gnome-control-center"

Next idea was to search through the source code https://gitlab.gnome.org/GNOME/gnome-co … /README.md
And in the README, there is the suggestion:

How to get a backtrace

If the crash is reproducible, follow the steps to obtain a
backtrace:
Install debug symbols for gnome-control-center.
Run the program in gdb [the GNU debugger] or any other debugger.

gdb gnome-control-center

I admit fully that I've no idea how to troubleshoot this, any ideas are welcome.

You don't need to invest your time to find 'the' solution for me, just don't doubt that I'm trying my best to get to the bottom of this by putting the work in.
If I'm asking here, that means I have no idea how to approach situation and hope for someone with a broader view on how to approach.

Have a blessed day.
Love y'all.

Last edited by countrybooter (2023-07-16 18:23:28)

Offline

#8 2023-07-16 18:36:34

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,691

Re: Gnome | Troubleshooting commands for changing wallpaper with CLI

dconf read /org/gnome/desktop/background/picture-uri
dconf write /org/gnome/desktop/background/picture-uri "'gnarf'"
dconf read /org/gnome/desktop/background/picture-uri
dconf write /org/gnome/desktop/background/picture-uri "'file:///path/to/actual/wallpaper.jpg'"
dconf read /org/gnome/desktop/background/picture-uri

I don't get a "dconf-WARNING" from gsettings even if I withdraw writing permissions, it just silently fails.
The active gnome session might get in the way, try this outside of gnome/before starting it.

Online

Board footer

Powered by FluxBB