Ausführen eines Skripts auf profile.d mit Gsettings-Problemen bei SSH

Ausführen eines Skripts auf profile.d mit Gsettings-Problemen bei SSH

Ich verwende Ubuntu 14.04 für einen Computer mit mehreren Benutzern. Ich habe Folgendes konfiguriert:

/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

Das funktioniert großartig. Da alle Benutzer diese Einstellungen erhalten, wenn sie sich anmelden.

Das Problem ist, wenn ich per SSH auf diesen Rechner zugreife, erhalte ich Fehlermeldungen wie:

dconf-WARNUNG **: Änderungen konnten nicht an dconf übertragen werden: D-Bus kann ohne X11 $DISPLAY nicht automatisch gestartet werden.

Daher frage ich mich, ob jemand weiß, wie ich Folgendes erreichen kann:

  • Vermeiden Sie die Ausführung des Skripts profile.d, wenn ich per SSH auf diesen Computer zugreife.
  • Konfigurieren Sie das Skript profild.d so, dass es erkennt, dass es sich um ein SSH-Skript handelt und aus dem Skript zurückkehrt

Jede Hilfe wird sehr geschätzt.

Antwort1

Wenn sich ein Benutzer per SSH anmeldet, wird $SSH_CLIENT in seiner Umgebung festgelegt. Sie müssen die Einstellungen also nur in eine ifAnweisung einschließen:

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

verwandte Informationen