У меня есть 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
не прошло? Можно ли этого избежать?
Существует отчет об ошибках панели запуска для этой проблемы: #1411174
Хорошо, это - ошибка . Вероятно, эти nautilus
проблема запускается прежде оболочка, которая настраивает эти SSH*
переменные.
(ужасный).
nautilus -q
nautilus & disown %%
, в фоне и отсоединился. Теперь новое nautilus
, сессия в рабочем столе является потомком от оболочки с SSH_AUTH_SOCK
правильно настроенный, и порожденный терминал будет иметь все это правом.
До nautilus
катастрофические отказы или умирают по любой причине. В этом случае повториться.
Не уверенный, если это - хорошее решение, я добавил следующую строку в ~/.profile
:
export SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
Мой ключ разблокирован на входе в систему.