(Xubuntu) Como definir o papel de parede usando a linha de comando?

7

Eu fiz muito googling, mas não consegui encontrar uma solução para o meu problema.

Eu sou professor e estou usando o Xubuntu em alguns computadores de alunos. Eu tenho tudo bloqueado muito bom, mas não consigo descobrir como restringir os usuários de mudar o papel de parede sem ter que sair de toda a máquina no modo de quiosque. Eu não me importo se eles mudam durante a sua sessão de trabalho, mas eu gostaria de criar um crontab que seja redefinido de volta ao original .png na reinicialização.

Eu estou esperando por uma simples entrada no cron, mas estou disposto a entrar no mundo dos scripts de shell se for necessário.

Alguma idéia?

    
por John 21.11.2013 / 23:11

4 respostas

6

Na terra do Xfce, isso é

xfconf-query --channel xfce4-desktop --property /backdrop/screen0/monitor0/image-path --set /usr/share/backgrounds/xfce/xfce-blue.jpg

(Substitua o caminho do arquivo que você deseja, é claro).

xfconf-query --channel xfce4-desktop --list

lista todas as propriedades relacionadas, no caso screen0 / monitor0 não é o único.

    
por Salt 22.11.2013 / 04:02
5

Para o xfce4 no Xubuntu 14.04, use a propriedade / backdrop / screen0 / monitorDisplayPort-1 / workspace0 / last-image em vez de / backdrop / screen0 / monitor0 / image-path

Você também precisa definir a variável de ambiente DBUS_SESSION_BUS_ADDRESS assim:

PID=$(pgrep xfce4-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)

No meu caso, eu queria girar o papel de parede (imagem aleatória de uma pasta selecionada) uma vez por dia, mas ligava meu PC irregularmente, então resolvi executando um script do cron a cada meia hora, mas apenas faça efeito uma vez por dia.

entrada no crontab (adicione-o via comando crontab -e ):

0,30 * * * * /home/lucifer/scripts/rotate-wallpaper.sh

rotate-wallpaper.sh:

#!/bin/bash
wallpaperdir="/home/lucifer/Pictures/wallpapers"
datefile="/home/lucifer/.wallsw"
thisday=$( date +%j )
wallfiles=($wallpaperdir/*)
randompic='printf "%s\n" "${wallfiles[RANDOM % ${#wallfiles[@]}]}"'
PID=$(pgrep xfce4-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)

if [ -f "$datefile" ]
then
    lastday=$( cat "$datefile" )
    if [ "$lastday" != "$thisday" ]
    then    
        date +%j > "$datefile"
        xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorDisplayPort-1/workspace0/last-image --set $randompic 
    fi
else
    date +%j > "$datefile"
    xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorDisplayPort-1/workspace0/last-image --set $randompic
fi

Nota: -Se você estiver usando localidade do sistema que não seja o inglês, a propriedade poderá ter um nome diferente. A melhor maneira de descobrir o nome da propriedade, abrir uma janela de terminal e executar este comando:

xfconf-query -c xfce4-desktop -m

Isso ativará o monitoramento das propriedades do desktop xfce4. Agora mude seu fundo manualmente. Você deve ver o nome da propriedade que foi afetado por essa alteração na janela do terminal. Use este nome de propriedade se for diferente de / backdrop / screen0 / monitorDisplayPort-1 / workspace0 / last-image

    
por Lucif 11.08.2016 / 19:23
0

Tente

gsettings set org.gnome.desktop.background picture-uri file:///your/picture/location.jpg

O file:// é obrigatório.

    
por Chester 22.11.2013 / 01:40
-1

Não use o cron. Em vez disso, use o script de inicialização. Embora você possa usar o cron, mas eu não prefiro nessa situação, porque é específico do usuário.

Faça assim:

sudo vi /etc/rc.local

adicione o seguinte no final do arquivo

sudo -u YOURUSERNAME -g $( id -g YOURUSERNAME ) xfconf-query --channel xfce4-desktop --property /backdrop/screen0/monitor0/image-path --set /usr/share/backgrounds/xfce/xfce-blue.jpg

e certifique-se de substituir YOURUSERNAME pelo seu usuário atual. E substitua /usr/share/backgrounds/xfce/xfce-blue.jpg pelo caminho real da nova imagem de plano de fundo e certifique-se de que seu usuário tenha permissão para ler a imagem

    
por kamil 13.02.2014 / 18:13