Bagaimana cara menampilkan xclock di komputer lain?

8

Saya ingin ditampilkan xclockdi komputer lain.

Di komputer saya ( 111) saya dapat ke pingkomputer lain ( 222) di dalam jaringan rumah saya:

$ 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

Router tersebut adalah D-Link DIR-655 Wireless N Gigabit Router .

$ xclock -display 192.168.0.111:0

Menampilkan xclockpada komputer saya ( 111) seperti yang diharapkan. Di komputer lain ( 222):

$ xhost +

Tetapi kemudian kembali di komputer saya ( 111) itu juga ditampilkan di komputer saya ketika diubah menjadi:

$ xclock -display 192.168.0.222:0

Untuk mencoba memverifikasi penggunaan -displaysakelar:

$ 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

Saya berharap gagal tetapi juga ditampilkan di komputer saya ( 111) tetapi dengan sedikit penundaan. Hasil-hasil ini memberi tahu saya bahwa displayargumen tersebut mengarah ke 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

Saya menggunakan LXDE daripada GNOME atau KDE.

Saya hanya berusaha xclockmenampilkan dan tidak tertarik menangani masalah keamanan dalam pertanyaan ini.

CW Holeman II
sumber

Jawaban:

5

Dua hal yang perlu diperiksa: Port 6000 harus terbuka pada mesin 222 (konfigurasikan atau nonaktifkan firewall), dan server X sendiri perlu mendengarkan pada port itu. Ini sering dinonaktifkan di distro modern. Periksa apakah ia mendengarkan

# 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          

Jika tidak, Anda dapat mengaktifkannya untuk gdm di /etc/gdm/custom.conf

[security]
DisallowTCP=false

Logout / restart gdm pada mesin 222 dan masuk lagi. Anda kemudian akan melihat Xorg mendengarkan pada port 6000.

Peter
sumber
1
'/etc/lightdm/lightdm.conf dan tambahkan xserver-allow-tcp = true' untuk LXDE dari askubuntu.com/questions/72812/how-to-disable-nolisten
CW Holeman II
4

Di komputer saya ( 111):

ssh -X 192.168.0.222

diikuti oleh:

xclock

akan berjalan xclockdi komputer lain ( 222) dan ditampilkan di komputer saya ( 111).

Catatan: Agar ini berfungsi X11Forwardingharus diaktifkan di /etc/ssh/sshd_configkomputer ( 222)

CW Holeman II
sumber
1

Dan Anda dapat melakukan yang paling sederhana :)

$ ssh -X 192.168.0.222 "xclock"
Grégory Roche
sumber
0

Inilah jawaban yang diperbarui. Ini bekerja untuk saya pada instalasi baru Ubuntu 18.04.02.

Saya menginstal server ssh untuk membuat sistem dapat diakses di ssh.

Tidak ada yang diblokir secara default, untuk memverifikasinya. Jadi tidak ada hubungannya. iptables -L

Saya membuka file /etc/gdm/custom.confdan menambahkan

[security]
DisallowTCP=false

Saya batalkan komentar berikut ini di /etc/ssh/sshd_config

AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10

Saya me-restart mesin dan menjalankan perintah xhost +

Sekarang saya pergi ke komputer kedua dan menjalankan perintah, pastikan xclock diinstal dan dengan asumsi bahwa output dari perintah echo $DISPLAYadalah: 1

xclock -display IP_Address:1

Anda akan melihat xclock di komputer ubuntu.

netstat -antlp | grep 6001 sedang menunjukkan Xorg mendengarkan.

Mian Asbat Ahmad
sumber