Jak pracować z narzędziami GUI na zdalnym serwerze?


26

Mam serwer Ubuntu działający na EC2 (którego sam nie zainstalowałem, właśnie wybrałem AMI). Do tej pory używam puttydo pracy z nim, ale zastanawiam się, jak pracować z narzędziami GUI (nie znam narzędzi Linux UI, ale chcę się uczyć). Głupi ja, brakuje mi wygody Eksploratora Windows.

Obecnie mam tylko system Windows w domu. Jak skonfigurować narzędzia GUI do pracy ze zdalnym serwerem? Czy powinienem to zrobić, czy powinienem trzymać się wiersza poleceń? Czy odpowiedzi się zmieniają, jeśli mam lokalną maszynę linux do zabawy?


Jeśli przekazywanie X11 jest wystarczająco szybkie (zdarzają się przypadki, w których nie jest), powinno być dobrze. CLI jest zawsze mocniejszy, dlatego nie warto go ignorować, ale to nie znaczy, że nigdy nie są użyteczne GUI :)
sakisk

Ale jakie zadania chcesz wykonywać na serwerze? Z jakich narzędzi chcesz skorzystać? To ważna informacja dla odpowiedzi. Powiedzmy, że wspomniałeś coś o nazwie „Eksplorator Windows”; ale prawdopodobnie nie ma „Eksploratora Windows” na Ubuntu, więc rozwiązanie sugerujące zdalne uruchomienie niektórych programów X nie będzie pasować.
imz - Ivan Zakharyaschev

Nie ma odpowiednika Eksploratora dla Ubuntu? Poważnie?
ripper234

1
@imz - obecnie interesuje mnie ogólny problem. Nie jestem w ogóle doświadczony w aplikacjach z graficznym interfejsem użytkownika, więc nie mam pojęcia, czego chcę teraz ... pierwsze użycie, jakie przychodzi mi na myśl, to nawigacja po folderach w Eksploratorze, jak moda, i być może edycja.
ripper234

1
@ ripper234: Aby poruszać się po katalogach, sprawdź mc.
Faheem Mitha

Odpowiedzi:


31

Możesz użyć przekazywania X11 przez SSH; upewnij się, że opcja

X11Forwarding yes

jest włączony /etc/ssh/sshd_configna zdalnym serwerze i albo włącz przekazywanie X11 ręcznie za pomocą

ssh -X remoteserver

lub dodaj wiersz z napisem

ForwardX11 yes

do odpowiedniego wpisu hosta w ~/.ssh/config

Oczywiście wymaga to działającego wyświetlacza X na lokalnym końcu, więc jeśli korzystasz z systemu Windows, musisz zainstalować coś takiego jak XMing , a następnie skonfigurować przekazywanie X11 w PuTTY, jak pokazano w poniższych odnośnikach:

ETA: Ponownie czytając i widząc wyjaśnienia w komentarzach, FTP może jeszcze lepiej odpowiadać Twoim potrzebom, ponieważ pozwoli ci „zamontować” foldery SFTP tak, jakby były zwykłymi dyskami sieciowymi. Zobacz tutaj , tutaj , tutaj (dla Windows XP / 7 / Vista) lub tutaj (dla Windows 8) .


6

Shadur opisał, jak włączyć X. Zauważ, że /etc/ssh/sshd_configjest po stronie serwera, a po ~/.ssh/configstronie klienta, więc ogólnie mówimy o dwóch różnych maszynach. Przekazywanie X wyświetli twoją zdalną aplikację na lokalnym ekranie X. Dwie konfiguracje muszą więc powiedzieć zdalnemu i lokalnemu, aby zezwolili na wykonanie tej operacji.

To, czy powinieneś używać X, zależy od tego. Musisz wziąć pod uwagę (przynajmniej) następujące czynniki.

  • Jaką masz przepustowość? Jaka jest jego prędkość? Czy to jest mierzone? Czy jest czapka? Jeśli masz bardzo szybkie połączenie z siecią i nie ma żadnych ograniczeń, to X jest bardziej użyteczny, w przeciwnym razie może być bardzo wolny. Pamiętaj, że ogólnie X jest świnią sieciową; nie jest zoptymalizowany pod kątem przepustowości (lub jakiejkolwiek właściwej frazy).

  • Z jakich narzędzi zamierzasz korzystać w X? Czy są zamienniki / odpowiedniki inne niż GUI? Jeśli podasz przykłady narzędzi, o których myślisz, ludzie mogą zasugerować alternatywy, jeśli są dostępne. Pamiętaj również, że niektóre dobrze znane narzędzia są dostępne zarówno w postaci GUI, jak i wiersza poleceń / konsoli. Na przykład. emacs, aptitude, reportbug.

Ogólnie zalecam używanie linii poleceń (apt, wget, rsync) lub przeklinanie aplikacji (takich jak aptitude lub mc), jeśli są one dostępne i rób to, czego potrzebujesz. Takie aplikacje niekoniecznie są gorsze niż aplikacje X; niektóre z nich są dobre aplikacje. Na przykład. Oprogramowanie Johna Davisa, np. Jed i slrn, oba aplikacje konsolowe, wykazują swoją charakterystyczną estetykę i są dziełami sztuki. BTW, uruchomienie serwera X na kliencie Windows w celu połączenia z serwerem Linux jest opcją, choć niezbyt dobrą.

Jeśli masz lokalny serwer Linux, problemy z przepustowością znikają, a X jest znacznie bardziej opłacalną opcją.


Zgadzam się, że o ile nie pracujesz nad dość szybkim łączem (małe opóźnienie jest nieco ważniejsze niż przepustowość), ogólnie lepiej jest użyć narzędzi wiersza polecenia, jeśli są one dostępne.
Shadur

1
@Shadur - moje opóźnienie nie jest wielkim zdarzeniem w wierszu poleceń, być może nie powinienem nawet próbować narzędzia interfejsu użytkownika, ponieważ prawdopodobnie będzie ono zbyt wolne.
ripper234

5

Znalazłem freenxi jestem nxclientbardzo wydajnym rozwiązaniem zdalnego pulpitu, znacznie lepszym niż vnclub X11. Spróbowałbym.


3

Powinieneś rozważyć trzymanie się wiersza poleceń, ponieważ a) większość serwerów nie ma nawet zainstalowanego GUI, oraz b) wszystkie GUI są dość powolne w użyciu przez sieć.

To powiedziawszy, proponuję rzucić okiem na VNC. Istnieją natywni klienci dla systemu Windows i serwerów dla systemu Linux, więc nie trzeba konfigurować X11 na swoim komputerze z systemem Windows.


1

Jeśli korzystałeś z Emacsa, możesz uruchomić lokalnie zainstalowanego Emacsa w systemie Windows i wykonywać edycję plików, zarządzanie plikami i katalogami ( dired ), kontrolę wersji, kompilację, a także inne losowe prace w powłoce ( M-xshelllub M-xeshell) i prawdopodobnie kilka innych rzeczy przez TRAMP w lokalnym Emacsie. (Niektóre łatwo dostępne filmy demonstracyjne, które mogą sprawić, że osoba nie przestraszy się nieznanych Emacsa i TRAMP itp .: 1 , 2 ).

To ilustracja, że ​​zdalne programy X mogą nie być dla Ciebie odpowiednim rozwiązaniem. W przeciwieństwie do zdalnego klienta X, TRAMP nie wymaga dużego graficznego ruchu przez zdalne połączenie, używa połączenia ssh tylko do wysyłania list katalogów, plików i danych wyjściowych poleceń tam iz powrotem.

Powiedz, że jeśli chcesz pracować z „Eksploratorem Windows”, nadal nie będzie „Eksploratora Windows” na serwerze Ubuntu, więc nie możesz uruchomić go zdalnie.

Ale jeśli „Eksplorator Windows” miał funkcję TRAMP jako funkcję (do zdalnego dostępu przez SSH), możesz nadal z radością korzystać z lokalnego „Eksploratora Windows”, jeśli to wszystko, czego potrzebujesz.


Pyta o narzędzia GUI, a nie edytor GUI do plików konfiguracyjnych. [ xkcd.com/378/] na bok, Emacs nie jest odpowiedzią na wszystko, aw tym przypadku okazuje się, że władasz młotem, szukając sposobu na opisanie problemu jako gwoździa.
Shadur

@Shadur: (śmieje się). Nie określił jeszcze, jakich narzędzi potrzebuje. Edytor GUI to także narzędzie GUI, prawda? A może rozumiesz, czym jest „narzędzie”?
imz - Ivan Zakharyaschev

@Shadur BTW, celem mojej odpowiedzi jest zasugerowanie potencjalnego podejścia do rozwiązania, które spełniłoby jego wymagania tak dokładnie, jak to możliwe, bez wiedzy dokładnie, jakie zadania chce rozwiązać. Moja logika to: 1) lubi „Eksploratora Windows” 2) nie wiemy, które funkcje „Eksploratora Windows” lubi, ponieważ tego nie określił. ==> Tak więc, gdyby „Eksplorator Windows” miał coś w rodzaju TRAMP, byłoby to idealne rozwiązanie i odpowiedź: funkcje, które lubi, są dostępne i działałby na jego zdalnym serwerze.
imz - Ivan Zakharyaschev

Czy moja odpowiedź nie ma znaczenia dla tego pytania? .. :) Nie, nie sądzę, ponieważ ripper234 szuka pomysłów - pisze: „Czy powinienem to zrobić, czy powinienem trzymać się wiersza poleceń?” I to jest nowy pomysł: poszukaj również rozwiązań podobnych do TRAMP. Podobnie jest z moim osobistym doświadczeniem: kiedy zastanawiałem się nad wygodnym sposobem pracy na zdalnym serwerze, mój przyjaciel powiedział IIRC, że chętnie korzysta z TRAMP w Emacsie; i zacząłem rozważać to również jako opcję.
imz - Ivan Zakharyaschev

1
I czasami używam tego odpowiednika w gedit za pośrednictwem backendów ssh / sftp dla gnome-vfs. Znowu „sposób użycia edytora GUI do zmiany plików konfiguracyjnych w systemie zdalnym” to inne pytanie niż „zdalne używanie frontendów administracyjnych GUI”
Shadur

1

W przeciwieństwie do RDP, X traci sesję, jeśli serwer lub tunel ssh się rozłączą. Możesz użyć XVNC, który przedstawia serwer X programom klienckim i łączy się z klientem VNC. Utrzymuje to żywotność sesji X i umożliwia połączenie abd i rozłączenie sesji VNC.

Udało mi się to z powodzeniem pracować na połączeniu DSL 128k / 128k Jetstart (Tak, Telecom NZ naprawdę oferował usługę DSL 128k / 128k!). Był dość responsywny, zwalniał tylko wtedy, gdy musiał pobrać dużą mapę bitową do klienta VNC.

W tym artykule możesz zobaczyć, jak tunelować VNC przez ssh .


0

Używam nautilus --no-desktopna serwerze Ubuntu 11.04 dla funkcji typu MS Windows Explorer.


W jaki sposób pomaga to w zdalnym dostępie?
reinierpost

0

Znalazłem gvfs-treepolecenie, lub w niektórych odmianach Linuksa, po prostu treepomocne w zobaczeniu reprezentacji drzewa katalogów w interfejsie CLI.


2
Witamy w U&L! Zrobię się formatowanie odpowiedź po tym, ale będę podkreślić, że choć gvfs-treei treemoże być użyteczne polecenia, jak oni zająć punkt to pytanie jest „Jak mogę skonfigurować narzędzia GUI do pracy ze zdalnym serwerem? „ ?
Jeff Schaller

Jego post zawierał kilka pytań („Nie znam narzędzi interfejsu użytkownika systemu Linux, ale chcę się uczyć” i „Czy powinienem to zrobić, czy powinienem trzymać się wiersza poleceń?”). Pomyślałem, że zrobienie go świadomy polecenia gvfs-tree może uczynić go wygodniejszym w CLI, co sprawi, że GUI będzie mniej potrzebne.
jkm
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.