Existe um relatório de bug da barra de lançamento para este problema: # 1411174
Eu tenho o Ubuntu Gnome 14.04, atualizado; nautilus
e nautilus-open-terminal
são instalados e atualizados:
[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
Eu notei que os comandos derivados do ssh nos terminais abertos pelo botão direito do mouse "Open in terminal" das janelas do nautilus ficavam perguntando a minha frase-senha; em investigações posteriores, resulta que um shell normal, iniciado com CTRL-ALT-T ou com o traço, eu tenho:
[romano:~] % env | grep -i ssh
SSH_AUTH_SOCK=/run/user/1153/keyring-S6rI11/ssh
enquanto no shell "open in terminal" não tenho nenhum vestígio dessa variável de ambiente:
[romano:~/education … -SAP-135/Lab-8] % env | grep -i ssh
[romano:~/education … -SAP-135/Lab-8] 1 %
... e geralmente, variáveis de ambiente são passadas para este shell:
[romano:~/education … -SAP-135/Lab-8] 1 % env | wc -l
70
Por que a variável SSH_AUTH_SOCK
shell não é passada? É possível evitá-lo?
OK, é um bug . Provavelmente, o problema nautilus
é lançado antes do shell que configura as variáveis SSH*
.
(feio).
nautilus -q
nautilus & disown %%
, em segundo plano e desanexado. Agora, a nova sessão nautilus
na área de trabalho é descendente de um shell com o SSH_AUTH_SOCK
corretamente configurado e o terminal gerado funcionará corretamente.
Até que nautilus
falhe ou morra por qualquer motivo. Nesse caso, repita.
Não tenho certeza se essa é uma boa solução, adicionei a seguinte linha ao ~/.profile
:
export SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
Minha chave está desbloqueada no login.