Наутилус "расширение в терминале" не будет распространяться SSH_AUTO_SOCK?

У меня Ubuntu Gnome 14.04, последняя версия; nautilus а также nautilus-open-terminal установлены и обновлены:

 [romano:~] % wajig status nautilus nautilus-open-terminal
Package                 Installed       Previous        Now             State
=======================-===============-===============-===============-=====
nautilus                1:3.10.1-0ubuntu9.7 1:3.10.1-0ubuntu9.7 1:3.10.1-0ubuntu9.7 install
nautilus-open-terminal  0.20-1          0.20-1          0.20-1          install

Я заметил, что производные от ssh команды в терминалах, открываемых по щелчку правой кнопкой мыши "Открыть в терминале" из окон nautilus, постоянно спрашивали мою пароль; в результате дальнейших исследований выясняется, что нормальная оболочка, запущенная с CTRL-ALT-T или с тире, имеет:

[romano:~] % env | grep -i ssh                           
SSH_AUTH_SOCK=/run/user/1153/keyring-S6rI11/ssh

в то время как в оболочке "открыть в терминале" у меня нет никаких следов этой переменной среды:

[romano:~/education … -SAP-135/Lab-8] % env | grep -i ssh
[romano:~/education … -SAP-135/Lab-8] 1 %

... и, как правило, переменные среды передаются в эту оболочку:

[romano:~/education … -SAP-135/Lab-8] 1 % env | wc -l      
70

Почему SSH_AUTH_SOCK переменная оболочки не передается? Можно ли этого избежать?

3 ответа

Решение

Для этой проблемы есть отчет об ошибке панели запуска: # 1411174

ОК, это ошибка. Вероятно, nautilus проблема запускается до оболочки, которая устанавливает SSH* переменные.

Временное решение

(Некрасиво).

  1. открыть терминал
  2. убить файловый менеджер: nautilus -q
  3. перезапустите его снова: nautilus & disown %%в фоновом режиме и отдельно.
  4. закрыть терминал

Теперь новый nautilus сеанс на рабочем столе происходит от оболочки с SSH_AUTH_SOCK правильно настроен, и у порожденного терминала все будет в порядке.

До тех пор nautilus падает или умирает по любой причине. В этом случае повторите.

Не уверен, что это хорошее решение, я добавил следующую строку в ~/.profile:

export SSH_AUTH_SOCK=/run/user/1000/keyring/ssh

Мой ключ разблокирован при входе в систему.

Другие вопросы по тегам