实现win系统控制局域网的linux主机桌面
1、需求
因为需要,我要搭建这样一套系统:有windows的一个pc跟一个linux的pc。但是平时主力机器是windows,如果我想要用同一套键盘、鼠标、屏幕来控制两套系统,那我就得买一整套二选一切换设备,但是很明显的是:我没钱!怎么办。
2、点子
我并不对linux主机的性能保有期待,主打能用就行,并且不打算公网ip可以访问,局域网即可。我的linux设备就在我右手边,能让我很方便的用这个设备做开发以及连接我的开发板。如果我想要很方便的去用windows电脑控制linux电脑,并显示linux电脑的桌面。那么我完全可以:把这个linux主机以远程桌面的方式控制。这样我就完全不花钱还能很方便的切换两套系统,不需要傻傻的拔插鼠标键盘跟屏幕到另一台设备。
3、实现
使用“MobaXterm”软件做控制软件。在win10电脑上安装这个软件,并使用“VNC”控制方式去连接远端主机。
远端主机先安装几个软件:(我的linux主机用linux发行版是deepin,其他发行版可能指令有差别)
一、安装ssh以及设置开机自启动1、安装ssh服务: sudo apt-get install openssh-server
2、启动ssh服务: sudo /etc/init.d/ssh start
3、设置开机自启动: sudo systemctl enable ssh
4、设置好后重启: reboot其他指令:
sudo systemctl disable ssh //关闭ssh开机自动启动命令
sudo systemctl start ssh //单次开启ssh
sudo systemctl stop ssh //单次关闭ssh二、安装vnc软件实现远程桌面5、登录root账号(没有root需要先创建一个): sudo su
6、安装vnc软件: sudo apt install x11vnc
7、配置访问密码: x11vnc -storepasswd /etc/x11vnc.pass
8、配置开机启动: vim /lib/systemd/system/x11vnc.service
9、在打开的编辑界面复制下面语句进去:# start
[Unit]Description=Start x11vnc at startup.After=multi-user.target[Service]Type=simple#ExecStart=/usr/bin/x11vnc -forever -rfbauth /etc/x11vnc.pass -rfbport 5900 -sharedExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared[Install]WantedBy=multi-user.target
# end10、设置开机启动: systemctl enable x11vnc
11、启动服务: systemctl start x11vnc
12、查看状态: systemctl status x11vnc
4、连接
安装完控制端与被控制端的环境跟软件后,打开路由器看看被控制端的主机ip。并在“MobaXterm”软件创建一个“vnc”设备:
5、最大化屏幕
当然如果想要退出可以:把鼠标放到界面左上方等待弹出一个工具栏,点击:FullScreen即可退出。
6、结论
通过上面的步骤搭建了一套系统,但是美中不足的是,不能直接复制linux主机的文件在粘贴到windows设备,我需要打开ssh连接linux主机的shell才行。但是这套系统测试已经满足可用性,完全兼顾了windows的软件生态以及linux的开发生态。
参考文章:
【deepin】安装x11vnc和xrdp,使用windows远程deepin-CSDN博客
deepin安装ssh服务并设置开机自启动 - Thenext - 博客园