Schowek jest dostarczana przez serwer X . Nie ma znaczenia, czy serwer jest bezgłowy, czy nie, ważne jest, że lokalna sesja graficzna jest dostępna dla programów działających na zdalnym komputerze. Dzięki przezroczystej sieci X jest to możliwe.
Zakładam, że łączysz się ze zdalnym serwerem za pomocą SSH z komputera z systemem Linux. Upewnij się, że przekazywanie X11 jest włączone zarówno w konfiguracji klienta, jak i konfiguracji serwera. W konfiguracji klienta, trzeba mieć linię ForwardX11 yesw ~/.ssh/configgo mieć domyślnie lub przekazać opcję -Xdo sshpolecenia tylko dla tej sesji. W konfiguracji serwera, trzeba mieć linię X11Forwarding yesw /etc/ssh/sshd_config(jest obecny domyślnie w Ubuntu).
Aby sprawdzić, czy jest włączone przekazywanie X11, spójrz na wartość DISPLAYzmiennej środowiskowej: echo $DISPLAY. Powinieneś zobaczyć wartość podobną localhost:10(aplikacje działające na zdalnym komputerze są proszone o połączenie się z wyświetlaczem działającym na tym samym komputerze, ale połączenie ekranowe jest w rzeczywistości przekazywane przez SSH do wyświetlacza po stronie klienta). Pamiętaj, że jeśli DISPLAYnie jest ustawiony, nie ma potrzeby ustawiania go ręcznie: zmienna środowiskowa jest zawsze ustawiana poprawnie, jeśli przekazywanie jest na miejscu. Jeśli potrzebujesz do diagnozowania problemów z połączeniem SSH, przekaż opcję -vvvaby sshdostać szczegółowy ślad tego, co się dzieje.
Jeśli łączysz się za pomocą innych środków, możesz, ale nie musisz, osiągnąć przekazywanie X11. Jeśli na kliencie jest zainstalowany system Windows, PuTTY obsługuje przekazywanie X11; będziesz musiał uruchomić serwer X na komputerze z systemem Windows, takim jak Xming .
+1 świetna odpowiedź, ale jak wspomniałem, ten serwer działa bez x, więc odpowiedź Nykakins jest bardziej trafna.
Anake
@Aake, obawiam się, że źle odczytałeś moją odpowiedź. Zdalny wyświetlacz nie wymaga żadnego serwera X działającego na zdalnym komputerze. Musisz mieć xclipzainstalowany program i biblioteki pomocnicze, ale to nie wymaga instalacji serwera X.
Gilles „SO - przestań być zły”,
2
Zastanawiam się ... czy to podejście jest poprawne, gdy łączysz się z klienta OSX z bezgłowym serwerem Ubuntu?
Ken
3
To mi nie działa. Idę z mac -> serwer linux. X11Forwarding yesjest w sshd_config na serwerze i zdałem -Xkiedy ssh'd na serwer. Error: Can't open display: (null)oncat ~/.ssh/id_rsa.pub | xclip -selection clipboard
chovy
1
ok, pomyślałem, że to zadziała, ponieważ pbcopyjuż działa lokalnie na moim komputerze Mac. Jak uruchomić serwer X na komputerze Mac i co mam ustawić $DISPLAY?
chovy
4
Sam Bash nie ma schowka. To funkcja X. xcliptjest tylko interfejsem wiersza poleceń i jak widać, wymaga display. Rozwiązaniem jest po prostu użycie pliku tymczasowego:
xclip
zainstalowany program i biblioteki pomocnicze, ale to nie wymaga instalacji serwera X.X11Forwarding yes
jest w sshd_config na serwerze i zdałem-X
kiedy ssh'd na serwer.Error: Can't open display: (null)
oncat ~/.ssh/id_rsa.pub | xclip -selection clipboard
pbcopy
już działa lokalnie na moim komputerze Mac. Jak uruchomić serwer X na komputerze Mac i co mam ustawić$DISPLAY
?Sam Bash nie ma schowka. To funkcja X.
xclipt
jest tylko interfejsem wiersza poleceń i jak widać, wymagadisplay
. Rozwiązaniem jest po prostu użycie pliku tymczasowego:źródło