SSH를 사용할 때 gsettings 문제가 있는 profile.d에서 스크립트 실행

SSH를 사용할 때 gsettings 문제가 있는 profile.d에서 스크립트 실행

여러 사용자가 있는 컴퓨터에 Ubuntu 14.04를 사용하고 있습니다. 다음을 구성했습니다.

/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

이것은 훌륭하게 작동합니다. 모든 사용자는 로그인할 때 이 설정을 받게 됩니다.

문제는 이 컴퓨터에 SSH로 접속할 때입니다. 다음과 같은 오류가 발생합니다.

dconf-WARNING **: dconf에 대한 변경 사항을 커밋하지 못했습니다. X11 $DISPLAY 없이 D-Bus를 자동 시작할 수 없습니다.

그래서 내가 어떻게 할 수 있는지 아는 사람이 있는지 궁금합니다.

  • 이 시스템에 SSH로 연결할 때 profile.d 스크립트 실행을 피하세요.
  • ssh 스크립트임을 감지하고 스크립트에서 반환되도록 profild.d 스크립트를 구성합니다.

어떤 도움이라도 대단히 감사하겠습니다.

답변1

사용자가 ssh로 로그인하면 해당 환경에 $SSH_CLIENT가 설정됩니다. 따라서 당신이 해야 할 일은 설정을 명령문으로 묶는 것 뿐입니다 if:

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

관련 정보