Как отобразить xclock на другом компьютере?

8

Я хочу отобразить xclockна другом компьютере.

На моем компьютере ( 111) я могу подключиться к pingдругому компьютеру ( 222) внутри моей домашней сети:

$ ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 44:55:66:77:88:99  
          inet addr:192.168.0.111  Bcast:192.168.0.255  Mask:255.255.255.0
$ ping 192.168.0.222

Маршрутизатор представляет собой беспроводной гигабитный маршрутизатор D-Link DIR-655 .

$ xclock -display 192.168.0.111:0

Отображает xclockна моем компьютере ( 111), как ожидалось. На другом компьютере ( 222):

$ xhost +

Но затем снова на моем компьютере ( 111) он также отображается на моем компьютере при изменении на:

$ xclock -display 192.168.0.222:0

Чтобы попытаться проверить использование -displayкоммутатора:

$ xclock -display 192.168.0.111:0.1
Error: Can't open display: 192.168.0.111:0.1
$ ping 192.168.0.333
ping: unknown host 192.168.0.333
$ xclock -display 192.168.0.333:0

Я ожидаю, что это не удастся, но он также отображается на моем компьютере ( 111), но с небольшой задержкой. Эти результаты говорят мне, что displayаргумент становится xclock.

$ uname -a
 Linux mycomputer 3.2.0-27-generic #43-Ubuntu SMP Fri Jul 6 14:46:35 UTC 2012 i686 i686 i386 GNU/Linux

Я использую LXDE, а не GNOME или KDE.

Я только пытаюсь попасть xclockна экран и не заинтересован в решении вопросов безопасности в этом вопросе.

CW Holeman II
источник

Ответы:

5

Необходимо проверить две вещи: порт 6000 должен быть открыт на компьютере 222 (настроить или отключить брандмауэр), а сам X-сервер должен прослушивать этот порт. Это часто отключается в современных дистрибутивах. Проверьте, слушает ли он

# netstat -nltp | grep 6000
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      10818/Xorg          
tcp6       0      0 :::6000                 :::*                    LISTEN      10818/Xorg          

Если нет, вы можете включить его для gdm в /etc/gdm/custom.conf

[security]
DisallowTCP=false

Выйдите / перезапустите gdm на компьютере 222 и войдите снова. Затем вы должны увидеть, как Xorg прослушивает порт 6000.

Питер
источник
1
'/etc/lightdm/lightdm.conf и добавить xserver-allow-tcp = true' для LXDE от askubuntu.com/questions/72812/how-to-disable-nolisten
CW Holeman II
4

На моем компьютере ( 111):

ssh -X 192.168.0.222

затем просто:

xclock

запустится xclockна другом компьютере ( 222) и отобразится на моем компьютере ( 111).

Примечание: чтобы это работало, X11Forwardingнужно включить /etc/ssh/sshd_configна компьютере ( 222)

CW Holeman II
источник
1

И вы можете сделать самое простое :)

$ ssh -X 192.168.0.222 "xclock"
Грегори Рош
источник
0

Вот обновленный ответ. У меня это работало на свежей установке Ubuntu 18.04.02.

Я установил ssh сервер, чтобы сделать систему доступной по ssh.

Ничто не заблокировано по умолчанию, чтобы проверить это. Так что нечего делать. iptables -L

Я открыл файл /etc/gdm/custom.confи добавил

[security]
DisallowTCP=false

Я раскомментирую следующее в /etc/ssh/sshd_config

AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10

Я перезапустил машину и запустил команду xhost +

Теперь я пошел на второй компьютер и запустил команду, убедившись, что xclock установлен и предполагая, что вывод команды echo $DISPLAY: 1

xclock -display IP_Address:1

Вы увидите xclock на компьютере с Ubuntu.

netstat -antlp | grep 6001 показывал Xorg, слушая.

Миан Асбат Ахмад
источник