Executando script em profile.d com problemas de gsettings quando ssh

Executando script em profile.d com problemas de gsettings quando ssh

Estou usando o Ubuntu 14.04 para um computador que terá vários usuários. Eu configurei o seguinte:

/etc/profile.d/all_users.sh

gsettings set org.gnome.Vino disable-background true
gsettings set org.gnome.Vino authentication-methods "['none']"
gsettings set org.gnome.Vino enabled true
gsettings set org.gnome.Vino icon-visibility 'client'
gsettings set org.gnome.Vino lock-screen-on-disconnect false
gsettings set org.gnome.Vino notify-on-connect true
gsettings set org.gnome.Vino prompt-enabled true
gsettings set org.gnome.Vino require-encryption false
gsettings set org.gnome.Vino view-only false

Isso funciona muito bem. Como todos os usuários obtêm essas configurações quando fazem login.

O problema é quando eu ssh para esta máquina. Recebo erros como:

dconf-WARNING **: falha ao confirmar alterações no dconf: Não é possível iniciar automaticamente o D-Bus sem o X11 $DISPLAY

Então, estou me perguntando se alguém sabe como posso:

  • Evite executar o script profile.d quando eu fizer ssh nesta máquina
  • configure o script profiled.d para que ele detecte que é um script ssh e retorne do script

Qualquer ajuda é muito apreciada.

Responder1

Quando um usuário faz login por ssh, $SSH_CLIENT será definido em seu ambiente. Então tudo que você precisa fazer é incluir as configurações em uma ifdeclaração:

if [ "$SSH_CLIENT" ] ; then
    # gsettings set ...
fi

informação relacionada