先说一下场景:
1、我在服务器中有运行一些任务脚本,他会完成一些在浏览器中的自动化工作。
2、当在完成任务时,出现了滑动验证码,而服务器中我们无法知道验证码该如何滑动的问题。
3、我们可以将服务器中浏览器窗口共享显示给本地电脑,用本地电脑去做显示浏览器窗口,然后再去帮忙滑动,完成后续任务。
1、Windows 需要下载软件
Windows 安装 VcXsrv 并安装

下载完成后,在安装目录找到运行 XLaunch
.exe 文件,双击打开

在页面设置中,选择 “Multiple windows”。

点击下一页后

选择第一个勾选 “Disable access control”,完成设置。
2、服务器中设置必要参数
运行代码
sudo apt install -y xauth
等待安装完毕后编辑 /etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config
#你也可以选择 vi 打开编辑器,我这里使用的 nano
打开文件,请确保文件中的内容与以下内容是否相等,注意不能被注释。
X11Forwarding yes
X11UseLocalhost no
修改完成文件后,执行命令
sudo systemctl restart sshd
3、在 windows 中执行尝试连接
打开 cmd 后执行连接命令,当然你可以使用任何控制台面板
ssh -Y user@your-server-ip
连接成功后,执行代码。请注意 your-local-ip 是指本地 windows 的 ip 地址。
我这里本地 windows 的 ip 是 192.168.3.3,所以我的设置代码就是 export DISPLAY=192.168.3.3:0.0
export DISPLAY=your-local-ip:0.0

设置完毕后,执行命令查看是否与您设置的相等。
echo $DISPLAY

4、运行浏览器检查是否正常
因为我在服务器中是使用的 chromium(chrome),所以我执行的命令就是如下:
chromium --no-sandbox --disable-gpu
如果你是使用别的浏览器,那么也是同理。
打开浏览器后,这时 Chrome 会显示在你的 Windows 桌面上,那么就恭喜您一切正常。
5、注意事项
检查 windows 防火墙是否运行入站。