web-dev-qa-db-ja.com

WSLでのgnome-keyringの実行(Linux用Windowsサブシステム)

この記事の手順を使用して、キーリング(Gnomeキーリング)を使用してHTTPS GIT資格情報を保存しようとしています。

http://blog.iqandreas.com/git/storing-https-authentication-in-ubuntu-and-Arch-linux/

私はこれらのステップを踏んだ:

sudp apt-get install make
Sudo apt-get install-gnome-keyring-dev
Sudo make --directory=/usr/share/doc/git/contrib/credential/gnome-keyring
git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring

リモートgitコマンドを使用すると、エラーが発生します。

** (process:19273): CRITICAL **: Error communicating with gnome-keyring-daemon

WSLでデーモンを実行することは不可能なのでしょうか、それとも単純な何かが欠けていますか?これが別のタイプの質問である場合、申し訳ありませんが、私はUbuntuを初めて使用します。

別の注意として、「ubuntu-on-windows」タグのシノニム「WSL」を作成することをお勧めしますか?

これは、ubuntu-on-windowsの最も論理的な頭字語になると思います。 https://blogs.msdn.Microsoft.com/wsl/

更新:

私は@LordMordが言ったことを試しました:

〜/ .bashrcの最後に追加

ssh-add -l &>/dev/null
if [ "$?" == 2 ]; then
  test -r ~/.gnome-keyring && \
    source ~/.gnome-keyring && \
    export DBUS_SESSION_BUS_ADDRESS GNOME_KEYRING_CONTROL SSH_AUTH_SOCK GPG_AGENT_INFO GNOME_KEYRING_PID

  ssh-add -l &>/dev/null
  if [ "$?" == 2 ]; then
    (umask 066; echo `dbus-launch --sh-syntax` > ~/.gnome-keyring; gnome-keyring-daemon >> ~/.gnome-keyring)
    source ~/.gnome-keyring && \
    export DBUS_SESSION_BUS_ADDRESS GNOME_KEYRING_CONTROL SSH_AUTH_SOCK GPG_AGENT_INFO GNOME_KEYRING_PID
  fi
fi

そして、さらに2つの依存関係をインストールするように指示されました。

Sudo apt-get install dbus-x11
Sudo apt-get install gnome-keyring

しかし今、私は起動時にこのエラーを受け取ります:

** (gnome-keyring-daemon:23): WARNING **: couldn't create socket directory: No such file or directory

** (gnome-keyring-daemon:23): WARNING **: couldn't bind to control socket: /home/wtijsma/.cache/keyring-3mToEe/control: No such file or directory

そして、リモートGITコマンドを使用しようとすると、このエラー:

Gkr-Message: couldn't connect to dbus session bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
5
Wiebe Tijsma

〜/ .bashrcの最後に追加

ssh-add -l &>/dev/null
if [ "$?" == 2 ]; then
  test -r ~/.gnome-keyring && \
    source ~/.gnome-keyring && \
    export DBUS_SESSION_BUS_ADDRESS GNOME_KEYRING_CONTROL SSH_AUTH_SOCK GPG_AGENT_INFO GNOME_KEYRING_PID

  ssh-add -l &>/dev/null
  if [ "$?" == 2 ]; then
    (umask 066; echo `dbus-launch --sh-syntax` > ~/.gnome-keyring; gnome-keyring-daemon >> ~/.gnome-keyring)
    source ~/.gnome-keyring && \
    export DBUS_SESSION_BUS_ADDRESS GNOME_KEYRING_CONTROL SSH_AUTH_SOCK GPG_AGENT_INFO GNOME_KEYRING_PID
  fi
fi

公開鍵と秘密鍵の両方が〜/ .ssh内にある場合、資格情報はssh-agentに自動的に追加されます。 mysql-workbench(Xmingが必要)などのアプリケーションを保存するキーチェーンも機能します。

Bashの起動時にこの警告を無視できます

gnome-keyring-daemon: insufficient process capabilities, unsecure memory might get used

ソース: https://www.reddit.com/r/bashonubuntuonwindows/comments/4yhch4/using_gnomekeyringdaemon_for_ssh_keys/

1
LordMord

.bashrcに変更を加える必要はありません。

Keyrings.altをインストールします

Sudo pip install keyrings.alt

0
matt