Embora a sugestão abaixo esteja longe de ser "à prova d'água", ela oferece pelo menos algumas precauções de "primeira linha" contra a mudança do papel de parede com muita facilidade.
Você pode fazer um pequeno script para ser executado em segundo plano que verifica cada x segundos se o papel de parede atual ainda for o papel de parede que você definiu.
-
O comando para ver ( obter ) qual é o papel de parede atual:
gsettings get org.gnome.desktop.background picture-uri
Se você executar isso em um terminal, você receberá uma saída parecida com:
'file:///home/jacob/Thema/Bureaublad4/Frog.jpg'
Podemos fazer o script restaurar o papel de parede original, caso tenha mudado.
-
Para definir um papel de parede específico, o comando é:
gsettings set org.gnome.desktop.background picture-uri 'file:///home/jacob/Thema/Bureaublad4/Frog.jpg'
Se usarmos esses dois em um script python, poderemos obter o seguinte (python3, 14.04):
#!/usr/bin/env python3
import time
import subprocess
set_wallpaper = "file:///home/jacob/Thema/Bureaublad4/Frog.jpg"
cmd2 = "gsettings set org.gnome.desktop.background picture-uri "+set_wallpaper
cmd1 = "gsettings get org.gnome.desktop.background picture-uri"
def check_wall():
curr_wallpaper = subprocess.check_output(["/bin/bash", "-c", cmd1]).decode("utf-8").strip()
if curr_wallpaper == "'"+set_wallpaper+"'":
pass
else:
subprocess.Popen(["/bin/bash", "-c", cmd2])
while True:
check_wall()
time.sleep(10)
A única diferença para 12.04 é o shebang: 12.04 não vem com python3 por padrão, então o shebang deve ser:
#!/usr/bin/env python
Como usar
-
copie o script em um arquivo vazio. Altere a linha de papel de parede (após
set_wallpaper =
) para o caminho para a imagem do papel de parede (começando comfile://
, como no exemplo). Salve comosomething.py
. -
execute-o pelo comando:
python3 /path/to/something.py
ou (12,04)
python /path/to/something.py
Se tudo funcionar como você deseja, adicione-o aos seus aplicativos de inicialização: Dash > "Aplicativos de inicialização" > "Adicionar"