关于如何通过家庭 WiFi(但最好是从互联网上的任何地方)从 Windows 10 连接到 Ubuntu 19.04,并进行 Ubuntu 桌面的屏幕共享,以及从 Windows 控制桌面,有什么建议吗?
我尝试使用 Chrome 远程桌面,这听起来像是一个非常简单的解决方案,但 CRD 没有加载 sudo 用户/创建新的桌面环境,按照这里的指示根本无法使用我的 Ubuntu 电脑。
我也尝试了 Windows 远程桌面连接,它所做的事情与上面的大致相同(界面很奇怪)。
任何帮助将非常感激!
答案1
有几次我尝试使用 RDP 从 Windows 访问我的 Ubuntu 机器,但没有成功(我的个人经历),所以我决定使用 VNC。
我用了这些说明在我的 Ubuntu 机器上设置 VNC 服务器,然后使用 Windows 中的 VNC 客户端通过 SSH 访问该机器。
首先,sudo apt install tightvncserver
在 Ubuntu 机器上运行以下命令
安装 VNC 后,您需要指定密码来保护对 VNC 服务器的访问。为此,请运行:
vncpasswd
并输入合适的密码。
启动和停止 VNC 服务器
接下来你需要学习如何启动和停止 VNC 服务器。使用以下命令启动 VNC 服务器:
vncserver
假设没有遇到任何问题,vncserver 将输出类似以下内容的消息:
New 'myhost:1 (src)' desktop is myhost:1 Creating default startup script /home/neil/.vnc/xstartup Starting applications specified in /home/neil/.vnc/xstartup Log file is /home/neil/.vnc/myhost:1.log
这里的关键信息是,vncserver 已在系统“myhost”上以显示 :1 的形式启动 X 服务器,并在启动服务器的用户的主目录中创建了一个名为 .vnc 的子目录,其中包含一个名为 xstartup 的启动脚本。此外,它还创建了一个日志文件,如果服务器启动失败,可以查看该文件来诊断任何问题。
要停止 VNC 服务器,只需运行以下命令:
vncserver -kill :1
其中 :1 与 vncsever 启动时显示的内容相匹配。这将显示以下内容:
Killing Xvnc process ID 15609
这里需要注意的一点是,被终止的进程名为 Xvnc。Xvnc 是实际的 VNC 服务器进程。我们运行的用于启动 VNC 服务器的 vncserver 命令实际上是一个 shell 脚本,用于在启动 Xvnc 进程之前设置环境。
配置由 VNC 启动的桌面环境
下一步是配置启动 VNC 服务器时要启动的内容。如前所述,用户第一次启动 vncserver 时,会在其主目录中创建 .vnc 目录。将目录更改为 $HOME/.vnc 并将 xstartup 文件加载到编辑器中。它应显示如下:
#!/bin/sh # Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & twm &
这些命令执行一些基本任务,例如设置 X 窗口的背景、启动 X 终端窗口以及最终启动 twm 窗口管理器。twm 窗口管理器是一款非常出色的轻量级窗口管理器。另一个出色的轻量级管理器是 Motif 窗口管理器 (mwm)。熟悉 Solaris、HP 和 IBM 系统上的通用桌面环境 (CDE) 的人可能希望将 xstartup 脚本中的“twm &”更改为“mwm &”。
另一个选项是启动 GNOME 或 KDE 桌面环境。要启动 GNOME 桌面环境,请将 xstartup 中的 twm 行更改为:
gnome-session &
类似地,要启动 KDE 桌面环境,请将行更改为:
startkde &
随意向 xstartup 脚本添加其他命令。例如,如果您希望自动启动您最喜欢的邮件工具或开发 IDE,那么 xstartup 就是执行此操作的地方。
安装 VNC 查看器客户端
选择要使用的桌面环境后,下一步是安装客户端 VNC 查看器。在 Linux 和 Unix 系统上,查看器称为 vncviewer。检查您是否已在客户端系统上安装了 VNC。如果尚未安装或您正在 Windows 上运行,我们再次建议您从地点。
在两个系统之间建立安全外壳连接
出于安全原因,建议通过加密安全隧道连接进行 VNC 通信。在 Linux 或 Unix 上,可以使用 ssh 命令实现。在 Windows 上,我们建议您使用 PuTTY,它可从以下网址免费获取:putty.nl
默认情况下,VNC 服务器将在端口 59xx 上进行通信,其中 xx 代表显示器编号。如果 vncserver 宣布它以显示器 :1 运行,则正在使用的端口是 5901。如果它告诉您它是显示器 :2,则正在使用端口 5902,依此类推。
假设您在名为 myhost 的系统上的显示器 :1 上运行 VNC,那么您需要建立 ssh 连接,如下所示:
Linux:
ssh -L 5901:localhost:5901 myhost
Windows 上使用 PuTTY:
启动 PuTTY,输入运行 VNC 服务器的系统的主机名或 IP 地址。在我们的示例中,这是“myhost”
设置“SSH”切换。
从“类别”列表中的 SSH 下方选择“隧道”选项,然后输入以下信息:
Source port: 5901 Destination: myhost:5901
通过从类别列表中选择“会话”,在“已保存的会话”文本字段中输入名称,然后按“保存”,保存您输入的配置文件
按“打开”按钮建立安全连接。
在 Linux 和 Windows 中,系统都会提示您输入登录用户的密码。
启动 VNC 查看器客户端
假设 VNC 服务器安装一切顺利,并且您已使用相应端口(在我们的示例中为 5901)建立了安全 shell 连接,您现在可以启动 VNC 查看器客户端。在 Linux 或 UNIX 上,操作如下:
vncviewer localhost:1
在 Windows 上使用 TightVNC 只需启动 TightVNC 查看器并在连接详细信息对话框中输入 localhost:1,然后按“确定”。
在这两种情况下,系统都会提示您输入密码。这是您之前运行 vncpasswd 时指定的密码。短暂的延迟后,您应该会看到一个大窗口出现,其中显示您的 Linux 桌面,您可以像坐在控制台前一样使用它。