【原创】在windows上使用VNC远程连接linux桌面
背景
我的工作主力机是一台安装了archlinux单系统的xps15-9500,直播机是组装的windows 10台式机,由于linux上没有成熟能用的面捕,再加上笔记本的性能限制,在obs推流时,我的IDEA会变得很卡,我几乎无法流畅的使用这台笔记本直播码代码。
我长达十多年的linux桌面使用,让我无法适应在windows下的开发和工作,主要有以下原因:
难用的命令行——cmd、powershell、cmder又或者是git bash,均无法满足我的需求。
过低的自由度——无法自定义快捷键,就算有第三方软件,也无法和linux相比,不是一个等级的。
可选的方案
WSL2是一个解决方案,但是,我需要的不仅仅是一个命令行,我需要一个高自由度的桌面和系统,所以如果能在windows上远程连接到linux桌面去编写代码就太好了。
我很久之前的上司是在虚拟机里安装linux来实现的,但是虚拟机会有不小的性能损失,无法最大化利用宿主机性能。
尝试
远程连接到linux机器的一种方式是ssh,所以我搜索了通过ssh运行图形界面的一些资料。
大多是在ssh连接后,执行startx命令,我的笔记本在执行startx命令时报了各种错误,我也没有搜索到相关的解决方案。在搜索资料的过程中,VNC这个词出现的频率很高,VNC(Virtual Network Computing)是一个跨平台远程连接工具,似乎是可以实现我的需求的。
VNC
1. 安装
vnc首先需要一个server,在arch中使用以下命令安装vnc应用
sudo pacman -S tigervnc
2. 配置
新增vnc server的相关配置:
~/.vnc/config
session=lxqt
geometry=1920x1080
localhost
alwaysshared
session表示窗口管理器(window manager),geometry是分辨率,localhost表示只能从localhost访问。
我为了偷懒,将localhost配置去掉了,这样可以直接在局域网中连接这台电脑,而不用通过ssh转发。
vnc连接需要一个密码,通过 vncpasswd命令创建一个密码。
还需要在 /etc/tigervnc/vncserver.users
文件中配置一下用户和端口。
3. 启动和连接
启动服务 systemctl start vncserver@:1
windows上安装vnc客户端,我这里使用的是realvnc,界面如下
输入之前命令设置的密码,连接后界面如下:
linux中的快捷键也能够无冲突使用,界面也几乎感觉不到延迟,简直完美。
总结
本文介绍了如何在windows上远程连接linux编写代码的方案,希望能对有类似需求的小伙伴有所帮助。
使用linux桌面的人本就很少,而且很需要折腾,再加上写代码是一件枯燥的事情,估计不会有人像我一样开个live2d模型直播写代码吧。
共有 0 条评论