Сменить обои из командной строки

Сейчас я нахожусь на программе обучения. Нас просят загрузить определенное изображение и затем использовать его в качестве обоев, при этом формируя командную строку. Данные указания ничего не дают:

Сначала нам нужно загрузить изображение, а затем с помощью команды сделать его нашим фоном.

      $ wget -O ~/Downloads/wallpaper.jpg  "https://raw.githubusercontent.com/hoppersroppers/hoppersroppers.github.io/main/_layouts/constitution.jpg" 

$ gsettings set org.gnome.desktop.background picture-uri file:////tmp/wallpaper.jpg

Теперь вашим фоновым изображением должно быть изображение корабля! Если не помогло, устраните неполадку.

https://linuxhandbook.com/get-file-path/#Use%20The%20Find%20Command%20to%20Get%20The%20Absolute%20File%20Path

https://www.baeldung.com/linux/change-desktop-wallpaper-from-terminal в первую очередь потому, что C/P заданные команды не дают никаких изменений. Я так понимаю это "тест". Я не понимаю, почему он направляет в tmp, если изображение находится в загрузках?

      ob@adminbaby:~/Desktop$  wmctrl -m
Name: GNOME Shell
Class: N/A
PID: N/A
Window manager's "showing the desktop" mode: OFF

bob@adminbaby:~/Desktop$  gsettings set org.gnome.desktop.background picture-uri file:////tmp/wallpaper.jpg
bob@adminbaby:~/Desktop$ pwd
/home/bob/Desktop
bob@adminbaby:~/Desktop$ ls
first
bob@adminbaby:~/Desktop$ sudo  gsettings set org.gnome.desktop.background picture-uri file:////tmp/wallpaper.jpg
[sudo] password for bob: 

(process:2230): dconf-WARNING **: 16:39:33.016: failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)
bob@adminbaby:~/Desktop$  gsettings set org.gnome.desktop.background picture-uri file://// ~/Downloads/wallpaper.jpg
Usage:
  gsettings [--schemadir SCHEMADIR] set SCHEMA[:PATH] KEY VALUE

Set the value of KEY to VALUE

Arguments:
  SCHEMADIR A directory to search for additional schemas
  SCHEMA    The name of the schema
  PATH      The path, for relocatable schemas
  KEY       The key within the schema
  VALUE     The value to set


bob@adminbaby:~/Desktop$ sudo  gsettings set org.gnome.desktop.background picture-uri file:////home/bob/Downloads.jpg

(process:2240): dconf-WARNING **: 16:40:57.446: failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)
bob@adminbaby:~/Desktop$  gsettings set org.gnome.desktop.background picture-uri file:////home/bob/Downloads/wallpaper.jpg
bob@adminbaby:~/Desktop$ sudo  gsettings set org.gnome.desktop.background picture-uri file:////tmp/wallpaper.jpg
bob@adminbaby:~/Desktop$  wmctrl -m
Command 'wmctrl' not found, but can be installed with:
sudo apt install wmctrl
bob@adminbaby:~/Desktop$ sudo apt install wmctrl
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  wmctrl
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 20.6 kB of archives.
After this operation, 63.5 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu lunar/universe amd64 wmctrl amd64 1.07-7ubuntu1 [20.6 kB]
Fetched 20.6 kB in 0s (62.8 kB/s) 
Selecting previously unselected package wmctrl.
(Reading database ... 203962 files and directories currently installed.)
Preparing to unpack .../wmctrl_1.07-7ubuntu1_amd64.deb ...
Unpacking wmctrl (1.07-7ubuntu1) ...
Setting up wmctrl (1.07-7ubuntu1) ...
Processing triggers for man-db (2.11.2-1) ...
bob@adminbaby:~/Desktop$  wmctrl -m
Name: GNOME Shell
Class: N/A
PID: N/A
Window manager's "showing the desktop" mode: OFF
bob@adminbaby:~/Desktop$ realpath -s wallpaper.jpg
/home/bob/Desktop/wallpaper.jpg
bob@adminbaby:~/Desktop$ sudo  gsettings set org.gnome.desktop.background picture-uri file://///home/bob/Desktop/wallpaper.jpg

(process:2829): dconf-WARNING **: 16:53:30.948: failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)
bob@adminbaby:~/Desktop$ gsettings set org.gnome.desktop.background picture-uri file:///home/bob/Downloads/wallpaper.jpg
bob@adminbaby:~/Desktop$ 


bob@adminbaby:~/Desktop$ realpath -s wallpaper.jpg
/home/bob/Desktop/wallpaper.jpg
bob@adminbaby:~/Desktop$ sudo  gsettings set org.gnome.desktop.background picture-uri file://///home/bob/Desktop/wallpaper.jpg
(process:2829): dconf-WARNING **: 16:53:30.948: failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)
bob@adminbaby:~/Desktop$

1 ответ

Вы использовали правильные команды для смены обоев. За исключением того, что вам не нужно использоватьsudoсgsettingsкоманда. Следующие команды загрузят и изменят фон рабочего стола.

      wget -O ~/Downloads/wallpaper.jpg  "https://raw.githubusercontent.com/hoppersroppers/hoppersroppers.github.io/main/_layouts/constitution.jpg"

gsettings set org.gnome.desktop.background picture-uri file:///$HOME/Downloads/wallpaper.jpg # $HOME will expand to /home/bob

Аналогичная проблема обсуждалась здесь. Инструмент командной строки gsettings не меняет фон .

Другие вопросы по тегам