自从delphi 10.2 开始正式支持linux  开发来,大家一直关心为什么官方没有使用FMX来支持LInux 的桌面开发?

其实原因无非就几点:

1、Linux 大部分是应用还是服务端的,桌面应用本身就很少;

2、EMB 开发资源不够;

3、Linux 桌面环境分支很多,例如KDE,GNOME 等,支持起来确实不容易。

其实FMX 的前身VGScene本来就是通过FPC 支持Linux 桌面开发的,后来被EMB 收购后,着重开发手机客户端。

官方一直没有支持linux 的桌面开发。幸运的是,原来开发FMX的员工离职后,开发了FMXLinux,通过

第三方,实现了delphi 开发linux 桌面应用。

2019年6月25日,EMB 官方与FMXlinux 达成协议,在以后的新产品中,可以免费使用FMXLinux, 用户

可以通过Getit 现在并安装FMXLinux。

当然了,作为FMXlinux 的原来客户,建议直接使用FMXlinux 官方安装包,这个不但包含更多demo,而且

可以下载最新版,第一时间得到作者的技术支持。

下面就以官方的最新版FmxLinux 1.41 为例,示范一下,如何使用FmxLinux 开发linux 桌面桌面应用。

首先安装Fmxlinux.没有什么特别的地方,一路Next。

安装完成

启动delphi. 打开firemonkey demo

添加linux 平台。

启动liunx, delphi 开发linux 的配置,参见文章https://www.cnblogs.com/xalion/p/6368899.html

在ubuntu 里面安装支持库

sudo apt install libgl1-mesa-glx libglu1-mesa libgtk-3-common libgstreamer1.0 libgstreamer-plugins-base1.0

安装完后,就可以直接运行了

优麒麟也是支持的。

如果你的linux 服务器上没有安装桌面,就没有办法直接查看效果。

那么如何调试这个桌面应用和查看效果呢?

不要紧,我们只需要安装broadwayd,就可以在浏览器里面查看桌面效果了。

安装broadwayd  支持

sudo apt install xorg libgl1-mesa-dev libosmesa-dev libgtk-3-bin

安装完,在IDE里面运行,我们就可以通过浏览器,查看运行效果了。

是不是很神奇?

好了,今天就介绍到这里。

												

使用FMXlinux 开发linux 桌面应用的更多相关文章

  1. DELPHI开发LINUX桌面程序

    DELPHI开发LINUX桌面程序 DELPHI官方目前为止尚不能开发LINUX桌面程序. 但三方控件FmxLinux(商业控件)是可以的.网上有破解版本.

  2. Delphi 10.2可以开发Linux桌面应用了

    原始地址 https://community.embarcadero.com/blogs/entry/firemonkey-on-linux    Delphi Linux编译器已经发布,现在无需等待 ...

  3. [试玩] FMXLinux (Firemonkey for Linux) Linux 桌面开发(第三方插件)

    FMXLinux 是一个可以用来开发 Linux 桌面软件的第三方插件,它需要配合 Delphi 10.2 Toyko 官网:http://www.fmxlinux.com/ 使用方法:开启 FMX ...

  4. Linux 桌面玩家指南:18. 使用 Docker 隔离自己的开发环境和部署环境

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  5. Linux 桌面玩家指南:19. 深入理解 JavaScript,及其开发调试工具

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  6. 使用Delphi开发linux应用

    对于很多喜欢使用delphi做开发的人都希望delphi能够支持linux平台的开发,终于在delphi10.2版本中,delphi开始支持linux平台的开发了.在这里写一下Linux开发环境的配置 ...

  7. Linux 桌面美化那点事儿

    各个 Linux 桌面发行版刚拿到手的时候,或多或少都有点儿不满意,对它们进行一些改造是必须的.网上不乏各种 Linux 桌面美化的教程和经验贴,对我们这些 Linux 爱好者来说都是很好的参考资料. ...

  8. 7款应用最广泛的Linux桌面环境盘点

    转载:http://top.jobbole.com/34823/ 多样性应该是 Linux 最好的特性之一,用户可以不断尝试各种喜欢和新鲜玩法与花样,并从中找出最适合自己的应用.无论你是 Linux ...

  9. Linux桌面选型

    Arch Linux 官方仓库提供的桌面环境有 Cinnamon: cinnamon Enlightenment: enlightenment17 GNOME: gnome gnome-extra K ...

随机推荐

  1. Spark无法读取hive 3.x的表数据

    通过Ambari2.7.3安装HDP3.1.0成功之后,通过spark sql去查询hive表的数据发现竟然无法查询 HDP3.0 集成了hive 3.0和 spark 2.3,然而spark却读取不 ...

  2. matlab学习笔记11_3高维数组操作 filp, shiftdim, size, permute, ipermute

    一起来学matlab-matlab学习笔记11 11_3 高维数组处理和运算 filp, shiftdim, size, permute, ipermute 觉得有用的话,欢迎一起讨论相互学习~Fol ...

  3. Superset配置impala数据源

    1.安装impyla pip install impyla 2.在superset页面配置如下,此时impala是有kerberos认证的 impala://xxxx:xx/default?auth_ ...

  4. os.environ详解

    我们想要用Python获得一些有关系统的各种信息的时候就不得不想到os的environ,那这里面都具体包含了那些内容呢? 简介 对于官方的解释,environ是一个字符串所对应环境的映像对象.这是什么 ...

  5. iOS - NSURLConnection finished with error - code -1002

    网络请求会异常,比如报错:Error domain: 在回调的地方打一个断点,然后用命令行查看下什么错误: po error 当错误是:**[Error Domain=NSURLErrorDomain ...

  6. Serializable笔记

    什么是序列化与反序列化? 把对象转换为字节序列的过程称为对象的序列化.把字节序列恢复为对象的过程称为对象的反序列化. 序列化的用途? 简单来说,是为了方便存储与传输. 存储:在很多应用中,需要对某些对 ...

  7. vue播放mu38视频兼容谷歌ie等浏览器

    <template> <div id="id_test_video" style="width:100%; height:auto;"> ...

  8. 在ensp上配置基于接口地址池的DHCP

    原理 实验模拟 实验拓扑 相关参数 开启dhcp服务 开启接口的dhcp服务功能,指定从接口地址池分配(接口1一样) 配置接口DHCP服务租期(租期默认是一天) 设置保留地址 设置dns 我们在pc1 ...

  9. Spring AOP的常用方法

    转  https://blog.csdn.net/u014745069/article/details/84887765

  10. Java 中成员变量被局部变量所隐藏

    Java 中局部变量与成员变量同名时,局部变量会隐藏成员变量.如果我们想访问成员变量,可以使用 this 关键字. class Test { private int value = 10; void ...