2015-09-05 2 views
0

Я пробовал emacs как сервер и столкнулся с проблемой с magit. У нас есть сервер Gitlab на работе, и когда я пытаюсь использовать magit для толчка или тянуть, мне бросают вызов за пароль. Этого не происходит, когда я использую git из командной строки, и, что более важно, это не происходит, если я запускаю emacs «напрямую» (в отличие от запуска emacsclient с демоном). Я должен упомянуть, что я работаю на Ubuntu 15.04, и я использую emacs 25.emacs daemon и magit

Мне интересно, если другие люди столкнулись с этим поведением? Или может указать мне на лекарство? Спасибо за внимание!

ответ

1

Предложения в существующих ответах привели меня к поиску решения. Я надеюсь, что это будет полезно для других, сталкивающихся с этой проблемой. Я использую Systemd для запуска Emacs демона, и оказалось, что мне нужна дополнительная директива в файле emacsd.service:

[Service] 
... 
Environment=SSH_AUTH_SOCK=%t/keyring/ssh 
... 

Так, спасибо за отведений - они меня на верном пути к найти ответ.

+0

Noce catch, точнее моего ответа. +1 – VonC

1

Это зависит от протокола, используемого для URL-адреса репозитория upstream.

Как правило, запрашивается пароль, когда ssh не находит правильный частный/открытый ключ в $HOME/.ssh.
И $HOME может отличаться, когда служба запускается как демон, а не запускается пользователем.

Таким образом, если к репозиторию GitLab вверх по течению обращается URL-адрес ssh, это объясняет разницу между двумя попытками.

+0

Возможная разница значений $ HOME наводит на размышления. Смешно, однако, что другие вещи, которые я ожидал бы повлиять (например, содержимое моего каталога .emacs.d), похоже, работают правильно. – user888379

1

Вы не первый, чтобы иметь проблемы с этим, если не сказать больше. Вот почему это упоминается в FAQ, в котором вы найдете Pushing with Magit from Windows.

Это краткое описание различных опций и содержит инструкции по устранению неполадок. Но все же не все смогли понять это (или предоставить достаточно точную информацию для нас, чтобы диагностировать на расстоянии), поэтому основной вкладчик написал пакет, который делает эту работу даже на недостаточно сконфигурированных системах. Этот пакет также упоминается на этой странице.

+0

Спасибо за ссылку. Я не уверен, что это имеет отношение к моей ситуации. Я работаю на LInux, а emacs/magit отлично работает, когда я не подключаюсь к серверу emacs. – user888379