surface远程登录桌面字小_打造属于自己的云桌面,让一切触手可及

在上一篇文章中,

于文涛:随时随地享受编程的乐趣​zhuanlan.zhihu.com
fac572ffbfaf856a5324864c2a9d1b95.png

我给大家介绍了如何利用Docker+jupyter打造一个可以在iPad、Surface和手机上随时随地访问高性能计算资源以及编程的环境。但是这只能在浏览器中进行操作,对于研究计算机视觉的同学们来说,想要显示图像和视频还是挺麻烦的。

为了解决这个问题,我再给大家介绍一个新的方法,利用Docker+VNC,就可以在iPad、Surface、手机或者笔记本电脑上拥有一个几乎完整的Linux操作系统和桌面。你完全可以把它当作一个新的电脑,随开随用,随关随停,在上面浏览网页,打开命令行终端,做一切你想做的事儿。

出于对容器虚拟化技术的热爱,本方法还是选择构建在Docker之上。如果不使用Docker,直接在宿主机上运行也是可以的。

第一步 在容器中安装vncserver

VNC是一款非常优秀的远程桌面软件,功能全面,简单易用,支持多个平台,而且完全免费。VNC由vnc viewer和vnc server组成。我们需要在容器中安装vnc server,在iPad、Surface、手机或者笔记本电脑上等显示终端上安装vnc viewer。

d348cbbb3a8066bf56e08b1dd7bcebb5.png

在安装vnc server之前,我们先配置一下容器。Docker的镜像我们选择深度学习环境比较全面的ufoym/deepo(当然你也可以选择自己喜欢的镜像)在宿主机的命令行终端输入

docker pull ufoym/deepo:latest

创建容器

nvidia-docker run --runtime=nvidia -it -p 12323:5901--ipc=host -v /home/data:/home ufoym/deepo:latest

其中:--it指进入docker的交互模式

-p 12323:5901是把服务器的12323端口映射到容器中vnc server默认的5901端口

--ipc=host指允许容器与主机共享内存

-v /home/data:/home将服务器机上的/home/data挂载到容器内的/home路径,这样这两个文件夹的内容可以在服务器和容器之间共享了

安装vnc server的命令很简单,具体步骤如下

0.更新Linux软件列表

由于我们下载的ufoym/deepo:latest是一个比较纯净的Linux操作系统,有些必备的软件都没有安装,为了能够保证成功安装vncserver,需要先在容器中的命令行输入下列命令

apt-get update
apt-get install sudo

1.安装x11,x11是一个用于远程图形界面的程序

在容器中的命令行终端输入

sudo apt-get install xorg openbox

2.安装桌面环境,Unity

sudo apt-get install ubuntu-desktop

3.安装vncserver

sudo apt-get install vnc4server

4.启动vncserver

在容器的命令行中输入

vncserver

命令行终端会提示你输入密码,一共需要输入2次。这个密码是之后vnc viewer访问时需要提供的,注意保管好。

5.再安装其他的依赖

sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

6.使用vi文本编辑器修改xtartup文件,这是vncserver和Linux桌面显示相关的设置文件

vi ~/.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 &
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
gnome-session &
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &

7.关闭已经打开的vncserver

vncserver -kill :1

8.打开vncserver

vncserver -geometry 1366x768 :1

1366x768是设置的分辨率,可以根据自己的需要进行调整

为了在vnc viewer中达到更好的显示效果,可以根据显示终端的屏幕分辨率比,调整vncserver的分辨率。比如,iPad Air3是2224x1668分辨率,比值为4:3,vncserver的分辨率可以设置为1600x1200;

Surface Pro7的屏幕分辨率是2736×1824,3:2,vncserver的分辨率可以设置为1800x1200;

1080P笔记本电脑的屏幕分辨率是1920×1080,比值为16:9,vncserver的分辨率可以设置为1920×1080

第二步 在终端安装vnc viewer

根据iPad、Surface、手机或者笔记本电脑上的操作系统,选择安装vnc viewer

Download VNC Viewer | VNC® Connect​www.realvnc.com

第三步 在终端显示属于自己的云桌面

与上一篇的方法类似(详情请见上一篇文章中的第三个步骤),使用路由器的虚拟服务器功能,只要iPad、Surface、手机或者笔记本电脑在校园网下,无论是在食堂、教室,还是在寝室,都能够使用vnc viewer连接到属于自己的云桌面。

Windows端的vnc viewer

f5d44e0584e4ed53b60f7487cc6915e8.png

其中:10.173.1.95是在校园网下的IP地址,端口号12323是我们在本文中第一个步骤中设置的。

紧接着,选择“OK",再输入密码就可以访问了。

应用场景:

为什么要这么大费周章呢?为什么要在Docker中使用VNC呢?直接使用teamviewer多方便啊?

因为云桌面是在Docker中运行,与宿主机互不影响,相互隔离。使用容器虚拟化技术之后,理论上可以在服务器上运行多个容器,每个都互不干扰。实验室高性能的服务器通常是公用的,采用Docker便于管理,每个人之间不会相互影响。而如果使用teamviewer,使用时会完全占用整个服务器。

此外,Docker随开随用,随关随停,非常适合管理不同的运行环境。

具体有哪些应用场景呢?

比如去上课,去图书馆,不方便携带厚重的笔记本电脑,此时你可以只带着一个轻薄的iPad,或者一个Surface,你就可以通过它们连接到高性能的计算资源(实验室里多块显卡的服务器)

即使不用iPad和Surface,只用你的手机也可以实现这些功能,只是屏幕小一些,看起来费力一些。

打造出的属于自己的云桌面有哪些功能呢?

对于拥有轻薄的Surface的同学来说,这些功能能带来的优点不是非常大。因为Windows上本身可以实现部分例如SSH和powershell等功能。但是,云桌面仍然非常给力,可以给你快速提供一个完整的Linux系统,一个满足生产力需求的编程环境。

对于iPad和手机用户来说,云桌面的功能带来的益处是巨大的。iOS用户和iPad OS用户无法直接在操作系统中使用命令行终端和SSH。这时有了属于自己的云桌面,可以在Linux系统中执行各种命令。比如iPad上没有SSH,无法直接在iPad上使用SSH进行本地转发,但是可以通过在云桌面上实现这个功能,然后在云桌面上进行后续的操作。而且这一切都只是容器,可以按照实际需要非常灵活地扩展。给iPad配个蓝牙键盘和鼠标,结合云桌面,生产力立刻爆棚!

422e329dc469413f13ab7a4f329179c3.png

对于普通的笔记本电脑,云桌面非常适合多任务操作,相当于一个虚拟机吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值