Зміна шпалер робочого столу з терміналу


11

У мене працює м'ята 13 із Корицею 1.6. Я хотів би, щоб мої шпалери для робочого столу автоматично змінювалися залежно від часу доби. Отже, перше, що спадає на думку, - це налаштувати роботу з крон, щоб зробити це для мене. Проблема в тому, що я не знаю, як змінити шпалери з сценарію / терміналу.

Що я хотів би знати:
1) Як можна змінити фон від терміналу?
2) Чи існує вже вбудований спосіб цього зробити?


1
Який у вас DE?
ромашка

@ Warl0ck - Cinnamon 1.6
aggregate1166877

Відповіді:


19

Це правильна відповідь на запитання. Все інше було б просто злому

 gsettings set org.cinnamon.desktop.background picture-uri  "file:///filename"

4
Без жодних пояснень це поруч з марним.
vonbrand

8
Це правильна відповідь на запит. Навіщо вам потрібне пояснення? Це правильний спосіб змінити шпалери на робочий стіл Cinnamon.
Людина Рамбліна

1
..і єдина відповідь, яка працює. +1
aggregate1166877

10

За допомогою Linux Mint 16 (не впевнений в інших версіях) ви можете використовувати gsettingsяк отримання інформації про ваші поточні шпалери, так і встановлення її.

Це man gsettingsтрохи тонкий, але завершення TAB працюватиме на більшості кроків у наступних командах.

Отримати інформацію:

gsettings get org.cinnamon.desktop.background picture-uri
gsettings get org.cinnamon.desktop.background picture-opacity
gsettings get org.cinnamon.desktop.background picture-options

Щоб змінити будь-який варіант, просто змініть "get" на "set" і додайте нове значення до кінця.

Ось швидкий сценарій, який переходитиме до відомого списку шпалер:

#!/bin/sh
#
# Set the wallpaper from a list
#
# The list, all can be found in $BASE
BASE="file:///home/tigger/.wallpapers/"
LIST="shot1.png another.png just_no_space_in_name.png keep_adding.png"

# The current wallpaper
current=`gsettings get org.cinnamon.desktop.background picture-uri`
opacity=`gsettings get org.cinnamon.desktop.background picture-opacity`
options=`gsettings get org.cinnamon.desktop.background picture-options`

# loop over the list until we find a match
matched=0
new=""
for wp in $LIST
do
    if [ $matched -eq 1 ]
    then
        new="${BASE}${wp}"
        break
    elif [ "'${BASE}${wp}'" = "${current}" ]
    then
        matched=1
    fi
done

# if "$new" is blank, then we show the first shot
if [ "$new" = "" ]
then
    new=${BASE}${LIST%% *}
fi

# set the wallpaper
gsettings set org.cinnamon.desktop.background picture-uri \'${new}\'
gsettings set org.cinnamon.desktop.background picture-opacity ${opacity}
gsettings set org.cinnamon.desktop.background picture-options ${options}

2

З точки зору системи х вікон ви хочете змінити фон кореневого вікна. "Вбудований" -інструмент для зміни налаштувань цього вікна є xsetroot. На жаль, вона трохи застаріла, наприклад, вона підтримує лише вибір растрових зображень для фонового зображення.

Я віддаю перевагу інструменту hsetrootнад xsetroot. Обидва інструменти повинні використовуватися з командного рядка.

Більше того, я можу собі уявити, що ви можете налаштувати параметри кореневого вікна через базу даних ресурсів x, але досі я не можу знайти відповідну інформацію.


hsetroot, здається, саме те, що я хочу, але це не встановлення фону мого робочого столу; натомість він встановлює фон вибору робочих просторів, коли я наведіть курсор на гарячий кут. Будь-які ідеї?
агрегат1166877

2

Спробуйте це:

xsetbg /path/to/wallpaper.jpg

Дякую, але це не впливає на шпалери. Однак це змінює екран, показаний під час виходу з системи. Я починаю думати, що Кориця трактує налаштування x11 по-іншому, ніж це стосується інших середовищ.
агрегат1166877

@ user1166877: Wierd, це працює для мене. Я використовував Metacity і Openbox в якості менеджерів вікон, але думаю, що це "нижче" цього. Перевірте саме те, що я використовую, якщо це може дати зрозуміти, чим відрізняється.
Емануель Берг

2

Для мене працює Linuxmint 13 з Cinnamon 1.4.

  • cinnamon-settings desktop # в терміналі> Скасувати "Нехай менеджер файлів керує робочим столом"
  • змінити шпалери на feh
    feh --bg-fill ~ / Images / my_wallpaper.png

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.