Cambia lo sfondo del desktop dal terminale


11

Sto eseguendo Mint 13 con Cinnamon 1.6. Vorrei che il mio sfondo del desktop cambiasse automaticamente a seconda dell'ora del giorno. Quindi, la prima cosa che mi viene in mente è impostare un lavoro cron per farlo per me. Il problema è che non so come cambiare lo sfondo da script / terminale.

Cosa vorrei sapere:
1) Come si cambia lo sfondo dal terminale?
2) Esiste già un modo integrato per farlo?


1
Qual è il tuo DE?
margherita,

@ warl0ck - Cannella 1.6
aggregate1166877

Risposte:


19

Questa è la risposta corretta alla domanda. Qualsiasi altra cosa sarebbe solo un trucco

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

4
Senza alcuna spiegazione, questo è quasi inutile.
vonbrand

8
È la risposta corretta alla domanda. Perché hai bisogno di una spiegazione? È il modo corretto di cambiare lo sfondo sul desktop Cinnamon.
Ramblin Man,

1
..e l'unica risposta che funziona. +1
aggregato1166877

10

Con Linux Mint 16 (non sono sicuro di altre versioni) è possibile utilizzare gsettingssia per ottenere informazioni sullo sfondo corrente sia per impostarlo .

Il man gsettingsè un po 'sottile, ma il completamento TAB funzionerà nella maggior parte delle operazioni nei seguenti comandi.

Ottenere informazioni:

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

Per cambiare qualsiasi opzione, cambia semplicemente "get" in "set" e aggiungi il nuovo valore alla fine.

Ecco uno script veloce che scorrerà su un elenco noto di sfondi:

#!/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

In termini di sistema x window si desidera modificare lo sfondo della finestra principale. Lo strumento "incorporato" per modificare le impostazioni di questa finestra è xsetroot. Sfortunatamente è un po 'obsoleto, ad esempio supporta solo la scelta di bitmap per l'immagine di sfondo.

Preferisco lo strumento hsetrootrispetto xsetroot. Entrambi gli strumenti devono essere utilizzati dalla riga di comando.

Inoltre, posso immaginare che è possibile regolare le impostazioni della finestra principale tramite il database delle risorse x, ma non riesco a trovare informazioni correlate ormai.


hsetroot sembra essere esattamente quello che voglio, ma non sta impostando il mio sfondo del desktop; invece, imposta lo sfondo della selezione delle aree di lavoro quando passo con il mouse sopra l'angolo attivo. Qualche idea?
aggregato

2

Prova questo:

xsetbg /path/to/wallpaper.jpg

Grazie, ma non influisce sullo sfondo. Tuttavia, cambia la schermata mostrata al logout. Sto iniziando a pensare che Cinnamon tratta le impostazioni x11 in un modo diverso rispetto ad altri ambienti.
aggregato

@ user1166877: Strano, funziona per me. Ho usato Metacity e Openbox come gestori di finestre, ma penso che questo sia "sotto" quello. Scopri esattamente cosa uso se ciò potrebbe fornire un indizio su ciò che differisce.
Emanuel Berg,

2

Funziona per me su Linuxmint 13 con Cinnamon 1.4.

  • cinnamon-settings desktop # in terminal> Deseleziona "Consenti al file manager di gestire il desktop"
  • cambia lo sfondo con feh
    feh --bg-fill ~ / Images / my_wallpaper.png

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.