Zmień tapetę pulpitu z terminala

11

Używam Mint 13 z Cinnamon 1.6. Chciałbym, aby tapeta pulpitu zmieniała się automatycznie w zależności od pory dnia. Pierwszą rzeczą, jaka przychodzi mi na myśl, jest ustawienie pracy crona, aby zrobić to za mnie. Problem polega na tym, że nie wiem, jak zmienić tapetę ze skryptu / terminala.

Co chciałbym wiedzieć:
1) Jak zmienić tło z terminala?
2) Czy istnieje już wbudowany sposób na to?

aggregate1166877
źródło
1
Jaki jest twój DE?
stokrotka,
@ warl0ck - Cinnamon 1.6
aggregate1166877

Odpowiedzi:

19

To jest poprawna odpowiedź na pytanie. Wszystko inne byłoby tylko włamaniem

 gsettings set org.cinnamon.desktop.background picture-uri  "file:///filename"
Ramblin Man
źródło
4
Bez żadnego wyjaśnienia jest to prawie bezużyteczne.
vonbrand
8
To poprawna odpowiedź na zapytanie. Dlaczego potrzebujesz wyjaśnienia? Jest to właściwy sposób zmiany tapety na pulpicie cynamonu.
Ramblin Man,
1
... i jedyna odpowiedź, która działa. +1
zagregowano
10

W Linux Mint 16 (nie jestem pewien co do innych wersji) możesz gsettingszarówno uzyskać informacje o bieżącej tapecie, jak i ją ustawić .

To man gsettingsjest trochę cienkie, ale uzupełnianie TAB będzie działać na większości kroków w następujących poleceniach.

Zdobyć informacje:

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

Aby zmienić dowolną opcję, po prostu zmień „get” na „set” i dodaj nową wartość na końcu.

Oto krótki skrypt, który będzie cyklicznie przewijał znaną listę tapet:

#!/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}
Tygrys
źródło
2

Jeśli chodzi o system okien X, chcesz zmienić tło okna głównego. „Wbudowane” narzędzie do zmiany ustawień tego okna to xsetroot. Niestety jest to trochę nieaktualne, na przykład obsługuje tylko wybór map bitowych dla obrazu tła.

Wolę to narzędzie hsetrootniż xsetroot. Oba narzędzia muszą być używane z wiersza poleceń.

Ponadto mogę sobie wyobrazić, że możesz dostosować ustawienia okna głównego za pomocą bazy danych zasobów x, ale do tej pory nie mogę znaleźć powiązanych informacji.

użytkownik1146332
źródło
hsetroot wydaje się być dokładnie tym, czego chcę, ale nie ustawia tła pulpitu; zamiast tego ustawia tło wyboru obszarów roboczych, gdy zatrzymam kursor nad gorącym rogiem. Jakieś pomysły?
aggregate1166877
2

Spróbuj tego:

xsetbg /path/to/wallpaper.jpg
Emanuel Berg
źródło
Dzięki, ale to nie wpływa na tapetę. Zmienia to jednak ekran wyświetlany po wylogowaniu. Zaczynam myśleć, że Cinnamon traktuje ustawienia x11 w inny sposób niż inne środowiska.
aggregate1166877
@ user1166877: Wierd, działa dla mnie. Używałem Metacity i Openbox jako menedżerów okien, ale myślę, że to „poniżej” tego. Sprawdź dokładnie, czego używam, jeśli to może dać wskazówkę, co się różni.
Emanuel Berg
2

Działa dla mnie na Linuxmint 13 z Cinnamon 1.4.

  • cinnamon-settings desktop # in terminal> Odznacz „Pozwól menedżerowi plików obsłużyć pulpit”
  • zmień tapetę za pomocą feh
    feh --bg-fill ~ / Images / my_wallpaper.png
Lo G2G
źródło
1

Istnieje coś o nazwie DesktopNova .

elwc
źródło