Przekazywanie X11 przez SSH

X11, jak przypuszczam większość z was, jest serwerem graficznym używanym przez prawie wszystkie dystrybucje Linuksa. Serwer ten umożliwia między innymi przekazywanie przez SSH. Oznacza to, że możliwe jest uruchamianie aplikacji graficznych ze zdalnej maszyny poprzez eksport wyświetlacza na nasz pulpit. Innymi słowy, aplikacja działa na zdalnym serwerze, ale interfejs graficzny jest wyświetlany na naszym lokalnym pulpicie.

Kroki do naśladowania

1.- Na serwerze edytuj plik / etc / ssh / ssh_config i zmodyfikuj opcję X11 Przekazywanie więc wygląda to tak:

X11Forwarding tak

Po tej zmianie może być konieczne ponowne uruchomienie demona ssh. Sposób, w jaki można to zrobić, różni się w zależności od każdej dystrybucji Linuksa. Najprościej jest zrestartować maszynę.

2.- Na lokalnym pulpicie zaloguj się do serwera przez SSH przy użyciu parametru -X:

ssh -X użytkownik @ nazwa hosta

gdzie użytkownik to nazwa użytkownika używana do logowania się na serwerze, a hosta to adres IP lub alias serwera.

3.- Aby uruchomić aplikację, wystarczy zrobić to z terminala. Na przykład:

firefox

Zaufane przekazywanie X11

Włączając przekazywanie Trusted X11, można nieco przyspieszyć prędkość połączenia, ponieważ unika się niektórych kroków związanych z jego bezpieczeństwem.

Jeśli prędkość jest ważniejsza niż bezpieczeństwo, wszystko, co należy zrobić, to:

1.- Na serwerze edytuj plik / etc / ssh / ssh_config i zmodyfikuj opcję Przekaż X11Zaufany więc wygląda to tak:

ForwardX11Zaufany tak

2.- Na lokalnym pulpicie zaloguj się do serwera przez SSH, używając parametru -Y:

ssh -Y użytkownik @ nazwa hosta

Skompresowane przekazywanie X11

W scenariuszach, w których połączenie między serwerem a klientem nie jest najlepsze, można skompresować dane przesyłane przez serwer.

Aby to zrobić, logując się do serwera przez SSH, dodaj parametr -C:

ssh -X -C użytkownik @ nazwa hosta

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   hektorq powiedział

    Trudne, dużo poleceń.
    Lepiej nie komplikuję sobie życia i uruchamiam Teamviewer

    1.    Eliotime3000 powiedział

      Nie wiem, ale jestem bardziej skomplikowany z TeamViewer i jego błogosławionym hasłem.

    2.    x11tete11x powiedział

      Wydaje mi się, że są to 2 różne rzeczy, że ktoś mnie poprawił, ale ta metoda, która jest tutaj proponowana, nie polega na podniesieniu całego środowiska tak, jakby robił to teamviewer, ale na przykład umieszczenie tak, jak jest napisane, „firefox” i że na twoim komputerze Firefox otwiera się jak zwykle, ale tak naprawdę działa z komputera zdalnego.

      1.    EGR powiedział

        Rzeczywiście, jak wskazałeś, ma to na celu uruchomienie Firefoksa (z serwera) na twoim komputerze. Właśnie tego mnie teraz uczą.

      2.    użyjmy Linuksa powiedział

        Zgadza się, mistrzu!
        Jak powiedziałby przyjaciel, nie myl wielu: „jedno to jedno, a drugie to drugie”. Ha ha…
        Nie, poważnie, masz rację, ta metoda nie jest porównywalna z Teamviewer.
        Przytulić! Paweł.

  2.   jhona powiedział

    bardzo dobry, przydatny przede wszystkim i prawda jest taka, że ​​ostatnio dużo z niego korzystam 🙂
    pytanie brzmi: ssh_config czy sshd_config? (man sshd_config, ponieważ nie wszystkie dystrybucje dostarczają go domyślnie, chociaż idealnym rozwiązaniem jest zadeklarowanie jako użytkownik w $ HOME / .ssh / config)
    możesz również spojrzeć na opcję X11UseLocalhost
    lub klasyczny z DISPLAY = ip: Xx i xhost,
    a przed jakimkolwiek problemem podaj szczegółowe (-v)

    1.    użyjmy Linuksa powiedział

      Zgadza się ... dobry wkład!

  3.   Kevin Maszke powiedział

    Cóż, uważam to za bardzo interesujące! Wielkie dzięki! Będę musiał to przetestować na moim serwerze OVH! 🙂

    1.    użyjmy Linuksa powiedział

      Przed siebie! Przytulić! Paweł.

  4.   manuta powiedział

    Bardzo dobry artykuł. Jeden problem, często używam tej opcji do łączenia się z Raspberry Pi z Raspbian i Lxde, z Ubuntu z Unity. Bardzo często zdarza się, że ikony aplikacji wyglądają na uszkodzone. Co to może być?
    Inna sprawa, zazwyczaj dodaję opcję uruchamiania aplikacji graficznych w tle: firefox &

    1.    użyjmy Linuksa powiedział

      Dobry wkład w uruchamianie aplikacji w tle, nie myślałem o tym.
      Odnośnie ikon ... czy to się zdarza, gdy używasz skompresowanego przekazywania X11?
      Przytulić! Paweł.

      1.    manuta powiedział

        Nie, powiedziałeś mi o skompresowaniu. Kiedy będę miał dziurę, wyślę ci haczyk. Jako dodatkowe informacje używam faenza na Ubuntu, kliencie i domyślnych ikon Lxde na serwerze.

        1.    EGR powiedział

          Masz tam odpowiedź. Usługa, którą oferujesz, nie oznacza, że ​​masz również środowisko graficzne. Przynosisz tylko usługę, aw zamówieniu zaznaczasz, że jest to usługa graficzna. X, które są wykonywane, to te klienta, w twoim przypadku Ubuntu z Unity, i musi interpretować typ ikon, dając równoważność od Lxde do Unity, z których domyślnie ma faenza (zbieg okoliczności, że wyjaśnili to mi w zeszłym tygodniu 😛)

  5.   mąż powiedział

    bardzo dobry artykuł!, mam do tej pory coś podobnego do hectorq, mam dwa serv. bez monitora, gdy potrzebuję firefoxa do ściągnięcia czegoś (wget i transmisja czasami nie wystarczają), użyłem ssh, startx i wszedłem przez vnc / remmina. Dość uciążliwa moja metoda, znacznie łatwiejsza do wykonania przekazywania x11
    PS: w debianie pliki konfiguracyjne trochę się zmieniają, wygląda na to, że ForwardX11 spełnia tę samą funkcję, pozdrowienia!

  6.   x11tete11x powiedział

    Teraz, kiedy bawię się z serwerem, jest to baaaaardzo dobre i teraz masowe xD, muszę używać multisystemu, ale system operacyjny mojego notebooka to Chakra Linux i muszę wypalić pół gnoma kompilującego go samemu mogę go uruchomić, więc zainstaluję na serwerze z Debianem i przekażę xD hahaha

    1.    użyjmy Linuksa powiedział

      Dobrze, mistrzu!
      Cieszę się! Przytulić!
      Pablo.

  7.   PAWEŁ ALEJANDRO SANCHEZ powiedział

    Dziękuję bardzo za informację!

    Wartość dodana:

    Mam Ubuntu Server 14.04.1 LTS
    Miałem problemy z: ./Xauthority
    Aby to działało, musisz wprowadzić te zmiany w: / etc / ssh / sshd_config

    ....
    # Okres istnienia i rozmiar efemerycznego klucza serwera w wersji 1
    Interwał regeneracji klucza 3600
    Kluczowe bity serwera 768
    ....
    # Uwierzytelnianie:
    Zaloguj sięGraceTime 120
    PermitRootLogin tak
    StrictModes tak

    i zrestartuj usługę ssh: # sudo service ssh restart

    Mam nadzieję, że komuś to posłużyło.

    1.    użyjmy Linuksa powiedział

      Dobry! Dzięki za wkład!
      Twoje zdrowie! Paweł.

  8.   Pablito el balvito powiedział

    Bardzo dobrze wyjaśnione! Jest jedna rzecz, której nie rozumiem, czy jeśli aplikacja działa na zdalnym hoście, czy to oznacza, że ​​grafika jest również przetwarzana przez hosta? To znaczy, czy karta graficzna hosta przetworzy dane i po prostu wyśle ​​informacje do klienta, aby mógł je wyświetlić? Wydaje mi się, że w ten sposób mógłbym uruchamiać aplikacje do modelowania 3D, które wymagają znacznie więcej mocy od mojego małego notebooka.

  9.   osioł powiedział

    sprawia, że ​​chcesz się pieprzyć

  10.   społeczno powiedział

    Po prostu mówię, że chcę płaszcz