容器内也能运行图形化应用?Distrobox 为容器注入生命 | 开源日报 No.35

2023-09-22 07:41:44

JetBrains/compose-multiplatform

Stars: 13.3k License: Apache-2.0

Compose Multiplatform 是一个使用 Kotlin 在多个平台上共享 UI 的声明性框架。它基于 Jetpack Compose,由 JetBrains 和开源贡献者开发。您可以选择使用 Compose Multiplatform 来共享 UI 的平台有:

  • iOS (Alpha 版)
  • Android (通过 Jetpack Compose)
  • 桌面 (Windows、MacOS、Linux)
  • Web (实验性)

核心优势:

  • 使用相同 API 构建 Android 和 iOS 用户界面
  • 轻松访问本地 API 并嵌入复杂的本机 UI 视图
  • 支持高性能硬件加速渲染,并提供桌面扩展功能如菜单、键盘快捷方式等
  • 实验支持将移动端或桌面端应用与 Web 进行分享

TheCherno/Hazel

Stars: 10.3k License: Apache-2.0

Hazel 是一个早期的交互式应用和渲染引擎,主要面向 Windows 平台。该项目目前还没有实现很多功能,但几乎所有内容都在 YouTube 中有视频讲解。

  • 快速 2D 渲染 (UI、粒子、精灵等)
  • 高保真度物理基础 3D 渲染 (后续将扩展到 2D)
  • 支持 Mac、Linux、Android 和 iOS
  • 原生支持各种渲染 API (DirectX,Vulkan,Metal)
  • 完整的查看器和编辑器应用程序
  • 完全脚本化的交互与行为

MonoGame/MonoGame

Stars: 9.9k License: NOASSERTION

MonoGame 是一个简单而强大的 .NET 框架,可以使用 C# 编程语言在台式电脑、游戏机和移动设备上创建游戏。它是微软已停用的 XNA Framework 的开源实现。

  • 可以构建适应不同平台 (包括 PC、手机和主机) 的游戏
  • 支持多个操作系统和设备
  • 提供了丰富的功能库来帮助开发者创建各种类型的游戏

89luca89/distrobox

Stars: 7.1k License: GPL-3.0

Distrobox 是一个使用 podmandocker 或者 lilipod 在终端内创建容器的项目。它可以让用户选择自己喜欢的 Linux 发行版,并与主机紧密集成,实现共享 HOME 目录、外部存储设备和图形应用程序 (X11/Wayland) 以及音频等功能。

  • 可以在终端中使用任何 Linux 发行版
  • 使用 OCI 镜像创建容器,与操作系统其余部分无缝集成
  • 提供了 12 个命令来管理容器的生命周期和配置

stride3d/stride

Stars: 5.0k License: MIT

Stride 是一个开源的 C# 游戏引擎,用于实现逼真渲染和虚拟现实。该引擎具有高度模块化的特点,并旨在为游戏制作人员提供更大的灵活性。Stride 附带了一个编辑器,可以直观地创建和管理游戏或应用程序内容。核心优势包括:

  • 灵活性:通过高度模块化设计,使得开发者能够根据自己需求进行定制。
  • 可视化编辑:使用内置的编辑器可视化、直观地创建和管理游戏或应用程序内容。
更多推荐

启山智软/电商商城100%开源

介绍想要了解代码规范,学习商城解决方案,点击下方官网链接联系客服作者:启山智软官网及博客:启山智软官网、CSDN、掘金、gitee简介:启山智软目前开发了全渠道电商商城系统,本商城是基于SpringCloud的商城系统,百万真实用户沉淀并检验的商城。注意:该项目只提供学习,切勿用于商业用途电商商城是什么:电商商城指的是

json数据解析

目录一、读数据1、简单对象读取2、数组读取3、对象读取二、写数据1、简单生成JSON2、对象数组JSON3、嵌套对象三、一个综合例子1、读JSON2、写JSON一、读数据1、简单对象读取{"app":"xnwVideo","src":"C:\\build-video\\Output","dest":"C:\\build

thinkphp:查询本周中每天中日期的数据,查询今年中每个月的数据,查询近五年每年的总数据

一、查询本周中每天中日期的数据结果:以今天2023-09-14为例,这一周为2023-09-11~2023-09-07代码后端thinkphp://查询本周每天的的总金额数//获取本周的起始日期和结束日期$weekStart=date('Y-m-d',strtotime('thisweekMonday'));$week

零基础Linux_5(开发工具_上)yum和vim和gcc/g++和gdb

目录1.软件包管理器yum1.1安装软件的方式1.2yum指令2.vim(编辑器)2.1vim的简单操作2.1.1方向键(HJKL)2.1.2退出vim2.2vim文本批量化操作(命令模式)2.2.1复制.粘贴.删除.剪贴.撤销2.2.2光标跳转2.2.3vim其它操作2.3配置vim3.gcc和g++3.1程序的翻译

leetcode363周赛

2859.计算K置位下标对应元素的和核心思想:枚举+调库,比较简单这题。2860.让所有学生保持开心的分组方法数核心思想:枚举选择学生的人数,首先选0个,选1个,选2个,选3个...;由于要满足题目要求得到一个结论我们需要优先选择nums[i]小的(具体证明可以看b站灵神视频),当时我有一个疑问比如选择三个学生,这三个

CRM软件系统对外贸行业的解决方案

国内的外贸行业经历了四个发展阶段,从发展期到繁荣期,CRM客户管理系统逐步走到幕前,成为外贸企业必不可少的主打工具。那么外贸行业正面临哪些问题?该如何解决?下面我们就来说说适合外贸行业的CRM解决方案。外贸行业的压力和困境外贸行业向来都是机遇与挑战并存。每年都有商业领袖行业大咖高呼外贸的春天要来了,可外贸人自己感受到的

Microsoft Dynamics 365 CE 扩展定制 - 1. 无代码扩展

简介商用现货产品(COTS)对企业组织来说是有吸引力的选择,因为它们包含了可配置的开箱即用功能,可以在不编写任何代码的情况下满足大部分业务需求。Dynamics365也不例外。DynamicsCRM365专门提供功能强大的模块化功能丰富的产品,可根据您的组织需求进行定制。一般来说,随着产品的发展,可配置的无代码扩展实现

XC5350A 单节锂电池保护芯片 过放2.9V/2.8V/2.4V保护IC

XC5350A产品是一个高集成度的鲤离子/聚合物电池保护解决方案。XC5350A包含先进的功率MOSFET,高精度电压检测电路和延迟电路XC5350A放入一个超小型SOT23-5封装,只有一个外部元件使其成为在电池组有限的空间的理想解决方案。XC5350A具有包括过充,过放,过流和负载短路保护等电池应用所需的所有保护功

docker常用命令汇总及解释

Docker是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个可移植的容器中,并发布到任何流行的Linux机器或Windows机器上。以下是一些常用的Docker命令及其解释:1.`dockerpull`:从DockerHub或其他仓库下载镜像。例如:`dockerpullubuntu:latest`,这将

方法区(Method Area)

方法区(MethodArea)与Java堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据。虽然《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫作“非堆”(Non-Heap),目的是与Java堆区分开来。《Java虚拟机规范

JVM——8.内存分配方式

这篇文章我们来讲一下jvm的内存分配方式目录1.概述1.1jvm运行时数据区1.2堆空间的分代1.3对象分配的整体流程2.具体的内存分配方式2.1指针碰撞法2.2空闲列表法2.3Java虚拟机选择策略3.小结1.概述我们前面在GC那篇文章中写了JVM的内存分配策略,讲述了对象优先在Eden区进行分配等等几条策略,而这里

热文推荐