Изменение фона рабочего стола в bash [duplicate]

На этот вопрос уже есть ответ здесь:

Я хотел сделать bash-скрипт, который берет случайную картинку из папки и устанавливает ее в качестве фона рабочего стола. Я разобрался с алгоритмом (это несложно), но не могу найти команду, которая бы меняла фоновую картинку, если указать ей путь к картинке.

Я нашел gconftool для bash 2.~ и gsettings для bash 3.~, но у меня GNU bash, версия 4.3.42(1)-release на Ubuntu 16.04 LTS и они не работают.

4
задан 14 February 2017 в 20:49

2 ответа

Принятие Вас использует стандартную Ubuntu 16.04 с Единицей, можно использовать следующую команду для установки обоев:

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

необходимо также посмотреть преобразователь обоев Разнообразия - он делает то же самое как, что Вы хотите сделать со сценарием оболочки, с много из функций и опций.

7
ответ дан 14 February 2017 в 20:49

Я сделал это как это:

targetDir="/home/username/Photos"


function get_next_photo() {
    # Returns a random file form targetdir
    files=( "$targetDir"/* )
    echo "${files[RANDOM % ${#files[@]}]}"
}

function set_background() {
    # Takes an absolute file path as argument. Need * for spaces in path
    bg="$*"
    echo "Setting background to $bg"
    gsettings set org.gnome.desktop.background picture-uri "file://$bg"
}


background=$(get_next_photo)
echo "Next background is $background"
set_background $background

Затем добавьте быстрое средство запуска для своего сценария к прикреплению, и можно изменить обои в один клик.

0
ответ дан 1 December 2019 в 09:07

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

Похожие вопросы: