我有一台 Ubuntu 13.04 笔记本电脑和一台 Ubuntu 12.04 台式机。我希望能够通过笔记本电脑的远程访问打开和查看台式机上的图片、窗口和 PDF 文件。
当我尝试按照以下说明操作时hungry.com,我设法sudo apt-get install telnetd
,,xhost +
然后使用 telnet 访问我的桌面,设置并导出 DISPLAY 变量,然后使用命令打开 .png 文件eog image.png
,但图像会在远程桌面的屏幕上打开,而不是在我的笔记本电脑的屏幕上。我尝试将 DISPLAY 变量更改为我的笔记本电脑的 ip 地址,然后:0
,但我只能让图像显示在远程桌面上。
此外,当我尝试反过来从我的台式机访问我的笔记本电脑时,我收到了消息WARNING **: Could not open X display
。此外,如果我没有展示设置,xterm 终端说X11 initialization failed
最后我尝试使用 SSH。首先我生成了一个公钥和私钥,然后当我尝试使用 PuTTY 连接远程桌面的 IP 地址和默认设置时。当我单击时open
,它显示PuTTY Fatal Error Connection refused: OK
。当我尝试终端命令ssh ###.###.##.###
(远程桌面 IP)时,ssh 显示的是同样的内容:ssh: connect to host ###.###.##.### port 22: Connection refused
。
如何让桌面上的图片出现在笔记本电脑上?
就我而言,我不在乎是否有人可以拦截和查看我的作业文件。我只希望延迟尽可能小,并且能够看到远程桌面窗口。
SSH 太慢,VNC 不允许多个用户查看不同的图像,而 telnet 不会将我的图像重新路由回本地机器。
看 - 无论我如何设置 IP,Telnet 都只会在远程计算机(而不是本地计算机)中打开。请参阅:
ubuntu@ubuntu:/home$ telnet ###.###.##.### //Host IP address
Trying ###.###.##.### //Host IP address
Connected to ###.###.##.### //Host IP address
Escape character is '^]'.
Ubuntu 12.04.3 LTS
johnmichaelreed@Ubuntu1204LTS:~$ DISPLAY=###.###.##.###:0.0 //Local IP
johnmichaelreed@Ubuntu1204LTS:~$ export DISPLAY
johnmichaelreed@Ubuntu1204LTS:~$ eog ./Facebook.png //DISPLAYS ON HOST'S SCREEN.
以上情况均可,或者
** (eog:10450): WARNING **: Command line `dbus-launch --autolaunch=6d91b5555c8bbff7573f20a500000002 --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n
那是怎么回事?
答案1
如果你想显示所有的桌面,那么最简单的方法是启用桌面共享在台式机上 - 从仪表盘搜索“桌面共享”,或从终端输入vino-preferences
:
这将运行一个 VNC 服务器,您可以使用任何 VNC 客户端从笔记本电脑连接到该服务器(Ubuntu 的默认客户端是“Remmina”,您也可以通过破折号找到它):
请注意,VNC 并不安全,如果该机器可从公共互联网访问,那么您应该采取额外措施来保护它,例如阻止 VNC 端口并强制通过 SSH 进行隧道连接。
如果你希望多个用户能够同时连接并运行他们自己单独的 GUI 会话,那么你可以安装一个实际的 vncserver,而不是“桌面共享”——有几种不同的vncserver
实现,包括vnc4server
和tightvncserver
DESCRIPTION
vncserver is a wrapper script for Xvnc, the free X server for VNC (Vir‐
tual Network Computing). It provides all capabilities of a standard X
server, but does not connect to a display for itself. Instead, Xvnc
creates a virtual desktop you can view or control remotely using a VNC
viewer.
或者,您可以直接使用 SSH 和 X-forwarding 将单个应用程序窗口从台式机中继到笔记本电脑(正如您显然尝试过的) - 连接失败的最可能原因是您没有在台式机上运行 SSH 服务器(默认情况下未安装);您可以从软件中心或使用终端安装它
sudo apt-get install openssh-server
或者 SSH 端口被防火墙或 iptables 阻止。
在客户端(笔记本电脑)上,您不需要 PuTTY,只需从命令行运行 ssh 客户端即可
ssh -X your.desk.top.ip
或者,如果你正在运行某种 DNS / mDNS
ssh -X hostname
请注意,telnet 也不安全,最佳做法是卸载 telnetd 并使用 SSH 代替。