- 首发:2022-06-23 13:12:23
- 教程
- 3798
近期分享了《从SSH远程唤起本地浏览器打开URL》,其实从远程SSH也可以直接打开带GUI的Linux应用程序的。之前分享过《Win10中通过WSL2开发基于Electron的Ubuntu应用程序》,原理上其实是一样的。
都是通过安装X11服务来实现。
此方法和虚拟机以及Wine有本质区别。应用程序可以运行在远程服务器,这样是不占用系统内存和CPU的。
本文介绍的方法是从MacOS中SSH远程到服务器调试和开发Linux平台的GUI应用程序。
在MacOS中运行Linux的GUI程序需要借助开源软件XQuartz。
安装命令(支持ARM64和x86_64,即M1、M2、Intel芯片都可以正常运行):
brew install --cask xquartz
更推荐直接到https://github.com/XQuartz/XQuartz/releases安装最新的测试版。
安装完成后,务必重启一次计算机,只需要在运行SSH命令的时候增加参数-Y
即可(iTerm2,其它终端程序自行测试)。XQuartz会自动启动(如果没有启动,需要先启动XQuartz
再开启终端执行SSH
命令)。
例如:
ssh -Y root@192.168.1.1
在服务器中执行经典的GUI程序xclock
可以看到:
同理,尝试运行X11其它GUI程序也是正常的:
sudo apt install x11-apps
xcalc
我们可以看到Calculator
明显比xclock
清晰得多,不是因为XQuartz
支持高DPI屏幕缩放(Retina屏),而是因为Calculator
使用了点阵字体。
目前XQuartz
属于社区驱动项目,还存在一些尚未实现的功能,在最新的MacOS(13.0 Beta 22A5266r)版本中也存在一些小问题,暂时不支持Retina缩放、调用摄像头和麦克风等功能。
很多在维护开源项目的工程师令人敬佩。例如XQuartz的维护者,大部分科学界软件都依赖X11,XQuartz对应用程序开发人员和研究人员至关重要,例如美国宇航局正在使用XQuartz进行火星试飞。XQuartz使得二十多年前甚至四十多年前为Linux开发的应用程序能够在MacOS正常运行,要知道开发这些应用程序的人很多都是世界顶尖的科学家。
XQuartz支持运行Electron开发的应用程序,也支持从MacOS中SSH远程到服务器调试和开发Electron应用程序。但是不支持使用root
用户运行。切换为普通用户即可正常运行。
暂无内容
老师你好,我希望能用一个openwrt路由器实现IPv4和IPv6的桥接,请问我该如何实现?我尝试了直接新增dhcpv6的接口,但是效果不甚理想(无法成功获取公网的ipv6,但是直连上级路由的其他设备是可以获取公网的ipv6地)
![%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE20241205230845.png](https://cdn.wyr.me/visitor-files/2024-12-05/1733411344287屏幕截图 2024-12-05 230845.png)你好
,为什么我这里是0039 813C 0600 0075 16xx xx xx,只有前6组是相同的,博客中要前8位相同,这个不同能不能照着修改呢?我系统版本是Win1124H2
大神你好,win11专业版24h2最新版26100.2033,文件如何修改?谢谢
win11专业版24h2最新版26100.2033,Windows Feature Experience Pack 1000.26100.23.0。C:\Windows\System32\termsrv.dll系统自带的这个文件,39 81 3C 06 00 00 0F 85 XX XX XX XX 替换为 B8 00 01 00 00 89 81 38 06 00 00 90。仍然无法远程连接。原来是win11 21h2系统,是可以远程链接的。共享1个主机,2个显示器,2套键鼠,各自独立操作 各自不同的账号,不同的桌面环境。
博主,win11专业版24h2最新版,C:\Windows\System32\termsrv.dll系统自带的这个文件,找不到应该修改哪个字段。我的微信:一三五73二五九五00,谢谢