Nieblokująca edycja zdalnych plików przez SSH

5

W systemie OS X często muszę edytować pliki, które są faktycznie przechowywane na zdalnym serwerze Linux, z którym łączę się przez SSH przez VPN. Kiedy znajduję się w fizycznej lokalizacji serwera, mogę łatwo zamontować katalog tych plików za pomocą sshfs i przeciągnąć je do Sublime Text. Czytanie i zapisywanie plików będzie prawie natychmiastowe.

Jednakże, gdy montuję katalog przez sshfs on BEZPIECZNIK dla OS X , ładowanie katalogów trwa na zawsze , a kiedy ciągnę cały katalog do Sublime Text, a następnie zapisuję plik, zapisywanie blokuje cały interfejs użytkownika, dopóki plik nie zostanie ostatecznie zapisany na serwerze. *

Próbowałem także otworzyć katalog w Cyberducku i edytować stamtąd pliki. Chociaż zapisywanie działa dobrze (ponieważ jest asynchroniczne), ma to dwie wady: mogę otworzyć tylko kilka plików jednocześnie - nie całe foldery - i dlatego nie można łatwo wyszukiwać plików (np. Cmd T w Sublime). Czasami traci połączenie, a następnie muszę zamknąć i ponownie uruchomić Cyberduck, aby działał ponownie.

Czy istnieje sposób edycji plików ze zdalnej maszyny w sposób nieblokujący? Może przez ulepszanie sshfs? Czy inaczej montujesz pliki?

Bardzo chciałbym, aby plik był przesyłany w tle, kiedy go zapisuję, bez czekania na system plików.

* Wydaje się, że jest to znany problem z tekstem Sublime, ale tak naprawdę nie mogę użyć żadnego innego edytora. Wysłałem ten problem na ich forach także.

slhck
źródło
Czy masz ten sam problem, powiedzmy scp z tego samego źródła? Czy jest to specyficzne dla lokalnego montażu udziałów?
MariusMatutiae
scp jest zazwyczaj szybki. Myślę, że problem polega na połączeniu tekstu Sublime z bazowymi sshfs. Spróbuję później z innym uchwytem SMB.
slhck
Okazuje się, że SMB jest znacznie szybszy i nie blokuje się tak długo. Ponieważ nie wszyscy będą mieli dostęp do SMB na serwerze, zostawię to pytanie, szukając rozwiązań z SSH / sshfs.
slhck

Odpowiedzi:

2

Jeśli jeszcze tego nie wypróbowałeś, gorąco polecam Przekazać . Nie przeprowadzałem bezpośrednich testów head-to-head, ale miałem wiele problemów z używaniem różnych opcji FUSE i prawie zniknęli, odkąd zacząłem używać Transmit. Ma świetny interfejs użytkownika, w tym mały pomocnik paska narzędzi, który pozwala na montowanie udziałów jako wolumin OS X łatwo bez uruchamiania pełnego programu. Możesz spróbować przed zakupem, ale dla mnie to było łatwe do kupienia. Tak, czasami rzeczy są trochę powolne, ale osobiście uważam, że ma to więcej wspólnego z niektórymi podstawowymi problemami, które mam z OS X niż z samym transferem.

Jeśli jesteś zarejestrowanym użytkownikiem, możesz spróbować najnowsza kompilacja Sublime Text 3, aby sprawdzić, czy to coś poprawia. Inną opcją, którą możesz spróbować, jest ustawienie

"atomic_save": false

w preferencjach użytkownika ( Sublime Text -> Preferences -> Settings - User ), więc wykonujesz tylko jedną akcję składowania nad połączeniem SSH, zamiast składowania i przenoszenia. Należy pamiętać, że jest to funkcja specyficzna dla tekstu Sublime 3.

Na koniec, jeśli chcesz wygenerować szczegółowy raport o błędzie, proszę otwórz problem na nieoficjalnym narzędziu do śledzenia błędów w GitHub / SublimeText / Issues. Jest to zasób wspierany przez społeczność, który może być konsultowany przez Jona Skinnera, autora ST, ale jest to jedno miejsce do zgłaszania błędów i pozwala na znacznie lepsze śledzenie niż fora.

MattDMo
źródło
Przez cały czas korzystałem z ST3, ale wiesz co, wyłączając atomic_save opcja zwiększyła prędkość oszczędzania do mniej niż sekundy w porównaniu do kilku sekund. Dzięki! (Swoją drogą, beta ST3 jest już publiczna.)
slhck
Cieszę się, że to zadziałało! Wiem, że wersja beta jest publiczna, ale najnowsze wersje na stronie sublimetext.com/3dev wymagają rejestracji
MattDMo
2

Może to dotyczyć ciebie lub nie, ale odkryłem, że wtyczka GitGutter była przyczyną mojego spowolnienia działania sshfs.

bdombro
źródło
Rozwiązania spekulacyjne i pomocne wskazówki byłyby lepsze jako komentarz. Zapisz odpowiedzi dla ostatecznych rozwiązań.
fixer1234
Uzgodnione, z wyjątkiem wymogu posiadania 50 punktów reputacji do komentowania. Ten wymóg nie ma dla mnie sensu.
bdombro