2012-05-05 16 views
6

Używam Aquamacs (graficzne emacs dla OSX przy użyciu emacs 24 i tramp wersja 2.2.3) do edycji niektórych plików na zdalnym serwerze. Tramp jest skonfigurowany do używania ssh i działa dobrze pod względem edycji plików.Tramp używający ssh nie źródła .bash_profile/.profile

Nie powiedzie się, jeśli chodzi o kompilację, ponieważ kompilator nie znajduje się na ścieżce. Wygląda na to, że tramp nie jest źródłem żadnych plików profilu, takich jak .profile lub .bash_profile. /bin/sh jest linkiem do/bin/bash, więc bash powinien być powłoką używaną przez tramp. Powłoka uruchomiona w emacsie na zdalnym serwerze też niczego nie będzie źródłem. Połączenie ssh ze zwykłego emulatora terminala (wypróbowane Terminal i X11 na OS X) działa zgodnie z oczekiwaniami (wszystko poprawnie dostarczone).

Wszelkie pomysły?

+0

podobnych problemów w http://emacs.stackexchange.com: [Jak zrobić tramp + eshell używać mojego środowisko dostosowane w zdalnym ~/.bash_profile] (http://emacs.stackexchange.com/q/7673/5165). –

Odpowiedz

2

/bin/sh jest linkiem do/bin/bash, więc bash powinien być powłoką używaną przez trampa .

To nie to samo. Gdy zostanie wywołany jako "sh", będzie zachowywał się jak sh, a nie bash określonych plików rc/profile (np. ~/.bash_profile, ~/.bashrc) nie będzie pochodził. Jednak ~/.profile zostanie odczytany. Twój problem z serwerem może polegać na tym, że używasz składni bash do konfigurowania plików w swoim ~/.profile.

To nie zadziała:

export PATH=/some/path:$PATH 

Ale to będzie:

PATH=/some/path:$PATH 
export PATH 
+8

W moim przypadku .profile jest całkowicie ignorowane. Pozyskanie go ręcznie po wywołaniu/bin/sh w rzeczywistości daje prawidłową ścieżkę, ale na własnym dysku nie wydaje się źródła ~/.profile. – Julian

+0

Nie jestem pewien czy umieszczenie 'PATH eksportu' w osobnej linii w' ~/.profile' lub '~/.bash_profile' sprawiłoby, że tramp to zrozumiał, ale próbowałem ustawić' EDITOR' w podobny sposób, i nie działało ani w '~/.profile' ani' ~/.bash_profile', więc skończyłem ustawiając go ponownie poprzez 'tramp-remote-process-environment', jak powiedziałem w https: //emacs.stackexchange.com/a/7685/5165, co nie jest całkowicie wygodne, ponieważ różne zdalne hosty mogą wymagać innych wartości. –