Ubuntu

如何允許 xserver 從指定主機繪製視窗?

  • September 15, 2017

我有電腦lagrangianpterosaur在我的LAN. 我已經配置

DISPLAY=pterosaur:0

lagrangian。現在我登錄lagrangian並想執行

xcalc &

以便它顯示在pterosaur螢幕上。不幸的是,它抱怨

Error: Can't open display: pterosaur:0

這可能是因為pterosaurx-serverlagrangian的白名單中沒有。怎麼放在那裡?

更新

我不想使用 SSH 的 X 轉發功能。

更新 2

會議記錄lagrangian

dims@lagrangian:~$ export DISPLAY=pterosaur:0
dims@lagrangian:~$ ping pterosaur
PING pterosaur.inthemoon.net (192.168.10.77) 56(84) bytes of data.
64 bytes from pterosaur.inthemoon.net (192.168.10.77): icmp_seq=1 ttl=64 time=9.65 ms
64 bytes from pterosaur.inthemoon.net (192.168.10.77): icmp_seq=2 ttl=64 time=2.26 ms
64 bytes from pterosaur.inthemoon.net (192.168.10.77): icmp_seq=3 ttl=64 time=8.93 ms
^C
--- pterosaur.inthemoon.net ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 2.269/6.951/9.653/3.323 ms
dims@lagrangian:~$ xcalc &
[1] 13206
dims@lagrangian:~$ Error: Can't open display: pterosaur:0

[1]+  Exit 1                  xcalc

更新 3

會議記錄xhost

dims@pterosaur:~/.ssh$ sudo xhost +
[sudo] password for dims: 
access control disabled, clients can connect from any host
dims@pterosaur:~/.ssh$ ssh lagrangian
Welcome to Ubuntu ...
Last login...
dims@lagrangian:~$ export DISPLAY=pterosaur:0
dims@lagrangian:~$ xcalc &
[1] 13722
dims@lagrangian:~$ Error: Can't open display: pterosaur:0

[1]+  Exit 1                  xcalc

更新 4

在翼龍上執行此操作沒有幫助:

sudo iptables -I INPUT -p tcp --dport 6000 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 6001 -j ACCEPT

我也試過

export DISPLAY=pterosaur:1

在遠端主機上。

更新 5

在我創建文件之後

dims@pterosaur:/etc/lightdm/lightdm.conf.d$ cat 100-custom.conf 
[SeatDefaults] 
xserver-allow-tcp=true

錯誤資訊更改為

$ xcalc &
[1] 2003
No protocol specified
Error: Can't open display: pterosaur:0

您想使用xhost,並且根據您的安全需要,您可以使用它xhost +來允許所有主機使用您的顯示器,或者您可以通過 指定哪個主機xhost +machinename。當然,任何machinename需要/etc/hosts通過 DNS 查找或可解析的內容。

使用ssh(1)pterosaurto登錄lagrangian-X依此類推pterosaur

ssh -X lagrangian

另請參閱xauth和不安全的xhost(您可能執行為xhost +

閱讀Xsecurity(7)並查看Xorg*log文件(可能在 下/var/log/)以獲取錯誤消息。閱讀有關Xorg的更多資訊。您可能需要配置它的啟動方式(您是否使用, , , …?),因此請閱讀Xorg(1)xorg.conf(5)Xserver(1)並可能刪除伺服器的選項(你只知道它是如何開始的)。xinit``startx``gdm``-nolisten tcp``X

(AFAIU,遠端 X11 在沒有身份驗證的情況下被棄用,但我讓你檢查一下。這可能取決於你特定的 X11 配置)

PS。ssh不是隧道應用程序,它管理-X遠端顯示。您可能需要在兩側進行配置(但大多數預設配置都可以)。順便說一句,我相信這ssh -X是這些天最簡單的方法。

引用自:https://unix.stackexchange.com/questions/389472