Isso acabou sendo um bom desafio. Experimente,
$ sudo mv /usr/bin/gsettings /usr/bin/gsettings2
$ sudo gedit /usr/bin/gsettings
$ sudo chmod +x /usr/bin/gsettings
Quando o gedit aparece na segunda instrução, adicione:
#!/bin/bash
if [ "" == "set" ] && [ "" == "org.gnome.desktop.background" ] && [ "" == "picture-uri" ]; then
a=$(zenity --entry="Password")
h1=$(/bin/echo $a | /usr/bin/md5sum | /bin/cut -f1 -d" ")
h2='a799d7cf3d9ca647f1320fc6bfaf7408' #Password hash
if [ "$h1" == "$h2" ]; then
gsettings2 set org.gnome.desktop.background picture-uri
else
zenity --notification --text="Wrong password. Come again another day"
fi
else
$(gsettings2 $@)
fi
Para desfazer
$ sudo rm /usr/bin/gsettings
$ sudo mv /usr/bin/gsettings2 /usr/bin/gsettings
Você pode ir para este gerador md5 , colocar sua string e substituir a799d7cf3d9ca647f1320fc6bfaf7408
com o que quiser. Tente descobrir por si mesmo o que isso corresponde. Você vai perceber o quão seguro isso é.
Mesmo se alguém visualizar este arquivo, sem sua senha, ele não poderá alterá-lo (isso é semelhante a como o Linux armazena suas senhas: P).