- 首发:2022-06-23 13:12:23
- 教程
- 3727
近期分享了《从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
用户运行。切换为普通用户即可正常运行。
暂无内容
感谢回复! Clang 在生成时沿用了 GCC 的版本号标识,我是不是可以理解为Clang 18.1.4生成时使用的就是GCC4.8,所以我后续使用gcc 9.4
gcov
就会有不兼容的问题抱歉,这块我也不太清楚,尝试寻求AI的帮助吧。
我在这个过程中遇到了各种问题- -,现在在UDC core: g_serial: couldn't find an available UDC卡住了,请问大佬有什么解决方案吗,还是说我前置的设置就错了呢,> 这个需求很特殊。是可以的,但是比较困难,需要修改驱动配置。
好思路呀!!
关于hex编辑器,网上没找到特别好用的(小白没办法),最后在vscode上扩展一搜hex,第一个安装一下就可以用vscode进行hex编译了