Używam smaku Macacsa Emacsa na OSX Yosemite i przejrzałem każdy wątek na Trampie, który działa powoli bez żadnego rozwiązania.
Tramp jest użyteczny, ale pomiędzy każdą akcją występuje około 100 ms opóźnienie. Nie stanowi to problemu po stronie serwera, ponieważ to opóźnienie nie istnieje, jeśli użyję terminala / iTerm tylko do połączenia ssh z tym samym serwerem.
Myślałem, że problem może być ograniczony do edycji plików, ale okazuje się, że jest wszechobecny. Niezależnie od tego, czy używam tylko zdalnej powłoki, czy tylko naciskam M-x
(za pomocą steru) wszystko to jest opóźnione.
Próbowałem ssh, scp i rsync jako metody łączenia bez żadnego rozwiązania. Próbowałem też ControlMaster auto
bez żadnego efektu.
Czy ktoś miał ten problem i był w stanie go rozwiązać?
(setq tramp-verbose 6)
i uruchom ponownie testy. Pojawi się wyczerpujący bufor debugowania Trampa, każdy wpis zaczyna się od znacznika czasu. Przejdź przez ten bufor po(6)
wpisach, są to komendy wysyłane zdalnie i dane wyjściowe ze zdalnej powłoki. Sprawdź, czy występują oczywiste opóźnienia. Przy okazji, której wersji Tramp używasz? Sprawdź to za pomocąC-h v tramp-version
.Odpowiedzi:
Okazuje się, że
projectile
to było przyczyną problemów. Gdy tylko wyłączyłemprojectile-mode
TRAMP był gładki jak masło i zacząłem rozumieć szum za tym.Mam nadzieję, że pomoże to komuś, kto wyczerpał wszystkie inne opcje.
Innym rozwiązaniem, które znalazłem, jeśli nie chcesz ciągle wyłączać pocisku, jest umieszczenie tego polecenia w swoim
init.el
Okazuje się, że całe opóźnienie pochodziło od pocisku próbującego obliczyć, co umieścić jako nazwę projektu w linii trybu. Nie jest to dla mnie ważna cecha, więc możesz ustawić ją tak, by mówiła „pocisk”
źródło
(setq tramp-verbose 6)
innego sugerowanego komentarza.7
, a także profilowane przezelp-*
. Trudno jednak zrozumieć wyniki.Znalazłem również rozwiązania na często zadawane pytania o trampach, które odnoszą się do przyspieszania trampa, aby działał całkiem dobrze.
Na stronie oto, co dodałem do mojej konfiguracji:
źródło