itgoyo / 500Days-Of-Github

⭐ 瞎JB折腾Mac/Linux/Windows过程中遇到的所有问题和解决方式 ⭐
https://itgoyo.github.io/500Days-Of-Github
141 stars 14 forks source link

怎么样用 TeamViewer 和 VNC 从远程控制电脑 #173

Open itgoyo opened 5 years ago

itgoyo commented 5 years ago

VNC 或者 Teamviewer 这种工具都是提供你一个可以远程图像化桌面的方式. 他们都是第三方软件. 比如下方是我用 Mac 通过局域网来远程操控可视化的 Linux 界面.

接下来我们就来介绍 Teamviewer 和 VNC 这两款工具.

Teamviewer 

Teamviewer 其实已经发展得很成熟了. 它是一个跨平台的远程操控软件. Windows, MacOS, Linux, 手机都可以下载使用. 它会通过外网, 将你的被控制电脑桌面投影到你的控制电脑上. 不过的流畅度, 速度大大取决于你的网速. 如果你是想做一个小规模, 控制局域网内(电脑都在同一个路由下)的电脑. 我觉得还是 VNC 快一点, 因为它不走外网. 当然, 最快的还是 SSH 啦, 都不用输出图像, 直接代码控制而已. 如果你对 SSH 的方式感兴趣, 这里有我制作的几节入门教程:

如果要用图像化的方式控制电脑, 首先我们从最方便的说起. TeamViewer 的官网提供了很多下载安装方式.

怎么样用 TeamViewer 和 VNC 从远程控制电脑

你可以根据你的系统选择, 而且如果是家用, 它就是免费的, 只有企业用才是收费.

他的程序界面是这样的, 功能其实很完善, 左面是一些你自己的信息, 你可以提供这些信息给你的朋友, 要他们控制这台电脑. 中间的区域是你可以利用朋友发来的信息来控制朋友的电脑. 右边的区域是你自己的管理区域, 你可以用一个账号管理你想连接的电脑. 这样非常方便.

怎么样用 TeamViewer 和 VNC 从远程控制电脑

不过就像之前说的. 这种远程控制是基于互联网的, 万一你网速不好, 而且你只想在局域网里用, 卡到想死的心都有. 所以这种情况你就可以考虑 VNC.

VNC 

其实 VNC 是一种软件的统称. 只要你的 Linux 架设好了一个服务器 (Server) 的 VNC, 客户端, 比如你的 Mac, 手机, 只要安装任何一种 VNC 客户端软件就能链接上服务器端的电脑啦. 如果你手头有一个 Raspberry Pi (树莓派), 会用 VNC 对你很实用. 那么首先, 我们就来设置这个服务器端的 VNC 吧. 打开你的 Linux 电脑, 打开 Terminal. 输入:

$ sudo apt-get install x11vnc

确认你的 Linux 用户密码, 就能安装这个最常用的 x11vnc 软件啦. 这个软件的使用, 设置非常简单. 安装好后, 最好给你的 x11vnc 设置一个密码. 我不设密码时, 用 Mac 还登不上, 一定要设完密码,用密码登录 Linux 的 VNC server 才能上.

所以设置密码的过程就是在你的 Linux Terminal 输入下面这样, 然后它会提示你要输入你要的密码, 这个密码是用来连接 VNC 的时候, 登录用的.

$ x11vnc -storepasswd

Enter VNC password:
Verify password:
Write password to /home/morvan/.vnc/passwd?  [y]/n y
Password written to: /home/morvan/.vnc/passwd

设置好之后, 在你的 Linux terminal 中输入下面指令, 要求用密码形式来开启 VNC 的 server.

$ x11vnc -usepw

如果你使用的是 ubuntu 17.10, 截止至目前 (2017年10月27日) 对于 VNC 还有一个 bug 没有修复. 所以 17.10 版本的 Ubuntu 如果你尝试上面的方式发生下面这种问题, 你就要尝试一下我接下来说的方法了.

X Error of failed request: BadMatch (invalid parameter attributes)
  Major opcode of failed request: 73 (X_GetImage)
  Serial number of failed request: 41
  Current serial number in output stream: 41

首先这个问题, 我查了很久, 最后发现是新版 ubuntu 的桌面显示升级了, 好像是变成3D, 然后以前的 2D 形式的 x11vnc 都不支持. 所以我们要换一种形式的桌面. 首先要做的就是 logout 你的电脑. 在桌面右上角, 选着你的用户, 然后 logout.

怎么样用 TeamViewer 和 VNC 从远程控制电脑

然后再选择不同的桌面方式 (Xorg) 登录 ubuntu. 这样一来, 如果再重复上面的 x11vnc 启动方式, 你就不会报错了.

怎么样用 TeamViewer 和 VNC 从远程控制电脑

最后, 如果出现频繁跳出 x11vnc 的现象, 尝试在开启 x11vnc 的时候直接输入这个参数, 让它永远运行.

$ x11vnc -usepw -forever

用 Mac 连接 VNC 

开启完之后, 使用 Mac 来连接 Linux 的 VNC 很方便, 在 Mac 中, 有一个软件叫 Screen Sharing. 打开它, 如果你 Linux 在局域网的 IP 地址(可以在 Linux 中输入 ifconfig 查到). 点 Connect, 最后输入你刚刚设置的 VNC 密码, 就能连上啦

怎么样用 TeamViewer 和 VNC 从远程控制电脑

怎么样用 TeamViewer 和 VNC 从远程控制电脑

怎么样用 TeamViewer 和 VNC 从远程控制电脑

用 Windows 连接 VNC 

至于 Windows 呢, 其实有很多选项, 我们已经在 Linux 端设置好了一个 VNC server. 在 Windows 端, 我们需要的只是一个 VNC client. 而有很多软件可以实现 VNC client 这个功能. 我在下面列举一些:

RealVNC 有两种选项, 一个是 VNC Viewer, 用来做 client 端的(控制). 一个是 VNC connect, 用来做 server 端的(被控制).

Client 端的 VNC 操作流程都很简单. 只要求要一个 server 端的 IP 和他的密码就好.

用 Linux 连接 VNC 

Linux 的话, 它自带就有一个 VNC 软件. 只要你在右上角搜一下 “VNC”, 那个被我圈出来的软件就是一个 Client 端的 VNC. 点开它, 输入 server 端的 IP 和他的密码就好.

怎么样用 TeamViewer 和 VNC 从远程控制电脑

分享到: Facebook 微博 微信 Twitter  如果你觉得这篇文章或视频对你的学习很有帮助, 请你也分享它, 让它能再次帮助到更多的需要学习的人. 莫烦没有正式的经济来源, 如果你也想支持 莫烦Python 并看到更好的教学内容, 赞助他一点点, 作为鼓励他继续开源的动力.