首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

macOS 使用 XQuartz 支持 X11 实现 Linux 图形化界面显示

前言 在 Windows 中相信大家已经很熟悉使用 Xmanager(Xshell), MobaXterm, SecureCRT 通过 X11 实现 Linux 图形化界面显示,我的需求是在 macOS...下使用 iTerm2 作为 Terminal 实现 X11 图形化界面显示,网上大部分教程只提到安装 Xquartz 但并没有结合实际问题给出完整的解决步骤,我把实践过程做了详细的记录方便大家按照最简单的步骤实现...Linux 图形化显示效果。...X11 介绍 有些 Linux 服务器出于性能和效率的考虑,通常都是没有安装图形化界面的,那么图形化程序在服务器上压根儿就跑不起来,或者无法直接显示出来,这就很尴尬了!那么如何解决这个问题呢?...Linux 本身是没有图形化界面的,所谓的图形化界面系统只不过中 Linux 下的应用程序。这一点和 Windows 不一样。

5.7K21
您找到你想要的搜索结果了吗?
是的
没有找到

dotnet X11 简单使用 MIT-SHM 共享内存推送图片

这是我在尝试优化 Avalonia 在 Linux 上的低端设备的渲染性能时所研究的方式,本文将告诉大家如何简单使用 XShmPutImage 等 X11 的 XShm Extension 扩展方法,通过共享内存的方式推送图片...众所周知,在 X11 里面有经典的 Client-Server 模型。...里面简单使用 XShm Extension 扩展方法推送图片渲染 本文使用的很多 X11 的 PInvoke 代码是从 CPF 和 Avalonia 里面抄的,大家可以在本文末尾找到本文所有代码的下载方法...前置的 X11 相关知识博客,请参阅 博客导航 尽管在上个世纪就能找到 XShm 相关文档,但是在实际使用之前,推荐还是判断一下当前设备的 XShm 情况,判断代码如下 var status...= shmget(IPC_PRIVATE, mapLength, IPC_CREAT | 0777); 详细关于 shmget 函数的介绍,还请参阅 Linux进程间通信(六):共享内存 shmget(

8910

The remote SSH server rejected X11 forwarding request

最近是有Xshell登录服务器总是连接慢,需要等很长时间,但是最后还是可以登录;xshell窗口提示如下图:图片提示信息主要如下;The remote SSH server rejected X11 forwarding...request.主要解决登录慢的问题:SSH登录到服务器执行命令:vim /etc/ssh/sshd_config,找到如下信息并修改:> (可选) X11Forwarding 设置为yes 是否允许进行 X11...> UseLogin 设置为 no (和上面二选一既可) 是否在交互式会话的登录过程中使用 login,如果开启此指令,那么 X11Forwarding 将会被禁止;> UseDns 设置为 no...让xshell在连接时不要每次都自动检测DNS环境是否一致,这样一来就可以提高我们连接linux的速度图片最后使用systemctl restart sshd.service 重启ssd服务问题解决

1.6K30

dotnet X11 设置窗口鼠标触摸命中穿透

本文记录如何在 X11 应用里面,使用 XShapeCombineRegion 方法配置一个 X11 窗口支持和 Win32 窗口一样的命中测试穿透功能,即对应 Win32 的 WS_EX_TRANSPARENT...的鼠标、触摸等的点击等动作的穿透功能,可以实现在窗口中挖空一块范围直接穿透到后面的窗口 在 X11 窗口中,想要实现让窗口不可命中,即所有的鼠标、触摸等的事件穿透到后面的窗口上,可以采用 libXext.so...提供的 XShapeCombineRegion 方法,也可以使用有争议的 libXfixes.so 提供的 XFixesSetWindowShapeRegion 方法 通过以上两个方法即可让 X11...只是这个 libXfixes.so 也足够旧了,基本上系统都会带的 所有代码放在 github 和 gitee 上,可以使用如下命令行拉取代码 先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹...libXext.so.so: 无法打开共享对象文件: 没有那个文件或目录 /home/uos/Downloads/lin/liblibXext.so.so: 无法打开共享对象文件: 没有那个文件或目录 at CPF.Linux.XLib.XShapeCombineRegion

12410

dotnet X11 调用 XRootWindow 是否耗时

本文将通过阅读 lib x11 代码告诉大家,调用 XRootWindow 函数是不耗时的,没有成本的 在我阅读 Avalonia 和 CPF 和 UNO 框架的代码的时候,我发现了很多时候都是在需要用到...此时我想着是否将 RootWindow 存放起来,这样可以稍微提升一点性能 在对某个函数调用进行性能测量考虑时,不仅可以使用基准性能测试工具进行测试,还可以通过阅读代码的方式了解实现原理从而了解其性能...通过阅读 lib x11 的代码,我发现了 XRootWindow 方法只是从结构体里面将值取出来,性能损耗其实和自己将 RootWindow 存起来可以认为是等价的 在 Macros.c 文件的对 XRootWindow...里面先取 Screen 再取其 root 字段 var xRootWindow = XRootWindow(display, screen); 那这么说是否可以绕过 XRootWindow 方法,直接不安全使用...github.com/lindexi/lindexi_gd.git git pull origin 7ad18fcc3b99003e0864e54e1ea6e696909b4b3b 获取代码之后,进入 X11

8410

dotnet X11 的多屏触摸行为测试

故事的背景是我在给 Avalonia 加上触摸尺寸的支持时,代码审查过程中大佬提出了在多屏上的 X11 行为问题,为此我找了两个触摸屏进行测试 X11 的多屏触摸行为。...由于 Min 常是 0 因此在计算中常被忽略 但值得一提的是在 X11 里面,根据 https://www.kernel.org/doc/html/latest/input/multi-touch-protocol.html...文档,所获取的是椭圆长轴,将其当成触摸宽度是不准确的 校准屏幕 在我的设备上,发现触摸屏的触摸输入和对应的屏幕显示没有对齐,需要根据以下大佬们的博客进行修复 Linux处理多触屏的终极解决方案 香风家的火柴盒...我整个代码仓库比较庞大,使用以下命令行可以进行部分拉取,拉取速度比较快 先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init git...github.com/lindexi/lindexi_gd.git git pull origin dedfc0ec3a3c8d04e7bec5276fe5bcaa926fe6e9 获取代码之后,进入 X11

10110

dotnet 后台线程发送 X11 窗口消息

} finally { XCloseDisplay(display1); } } }); 以上的 handle 是一个 X11...display 对象,则发送失败 以上代码放在 github 和 gitee 上,可以使用如下命令行拉取代码 先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码...XInitThreads 方法才能确保安全 完全的代码如下 // See https://aka.ms/new-console-template for more information using CPF.Linux...; using System; using System.Diagnostics; using System.Runtime; using static CPF.Linux.XLib; XInitThreads...; 以上代码放在 github 和 gitee 上,可以使用如下命令行拉取代码 先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init

11710

dotnet C# X11 开发笔记

本文记录我学习开发 X11 应用的笔记 如何设置X11里面两个窗口之间的层级关系 如何类似 WPF 的 Owner 之类的关系?可使用 XSetTransientForHint 方法。...比如有 a 和 b 两个窗口,使用下面代码即可设置 a 窗口一定在 b 窗口上方 // 我们使用XSetTransientForHint函数将窗口a设置为窗口b的子窗口。...,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init git remote add origin https://gitee.com/lindexi...dc1b79521e00300dfaef49d54226b6f687b25b3e 获取代码之后,进入 GececurbaiduhaldiFokeejukolu 文件夹,即可获取到源代码 和 Avalonia 相互调用 设置工具栏与 X11...窗口绘制的笔迹 获取 Avalonia 的 X11 窗口 if (TryGetPlatformHandle()?.

13610

通过日志判断 Uno Platform 是否在 X11 使用 OpenGL 渲染加速的方法

本文告诉大家如何在 UNO 里面,如何通过日志信息判断是否在 LinuxX11 平台上使用 OpenGL 渲染加速 本文的方法适用于 UNO 的 5.2.175 版本,其他版本还请大家自行测试 需要先开启...更具体的测试就是默认选择使用 Debug 模式,或者去掉条件编译符 再添加日志过滤,如以下代码 builder.AddFilter("Uno.WinUI.Runtime.Skia.X11....UseMacOS() .UseWindows() .Build(); host.Run(); } } 尝试运行以上代码,在 Linux...我整个代码仓库比较庞大,使用以下命令行可以进行部分拉取,拉取速度比较快 先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init git...https://gitee.com/lindexi/lindexi_gd.git git pull origin 7de15e7b026989eab007b3ca4b38f56f334f175b 以上使用的是国内的

9810

dotnet 后台线程设置 X11 窗口最小化

本文将告诉大家如何在 dotnet 里面的后台线程设置 X11 窗口的最小化 核心设置 X11 窗口最小化的方法是 XIconifyWindow 方法,核心问题是在后台线程需要自己使用 XOpenDisplay...先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init git remote add origin https://gitee.com...display); } }); 完全的代码如下 // See https://aka.ms/new-console-template for more information using CPF.Linux...; using System; using System.Diagnostics; using System.Runtime; using static CPF.Linux.XLib; XInitThreads...; 以上代码放在 github 和 gitee 上,可以使用如下命令行拉取代码 先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init

11110

WARNING:The remote SSH server rejected X11 forwarding request.

正式踏入 linux 学习历程,记录日常 BUG,总结提升 序 作为学习 Linux 的小白来说,无论什么样的操作,必须不能影响到主机的健全,为此,专门搞了台服务器来耍一耍 连接服务器肯定是需要终端的...XShell,大家都说好那必须是没毛病,闭眼冲 如果你是学生(其实不用验证,发下邮件就好啦),是可以免费使用 XShell 的,进入官网后下滑,找到这里 然后你就会收到官方的邮件,点击里面的下载链接,...安装就好 问题描述 今天使用 XShell 连接服务器的时候,总是弹出这么一个警告信息,很是烦人 WARNING:The remote SSH server rejected X11 forwarding...解决办法如下,非常简单就能解决,强迫症患者滴福音诶 解决方案 在会话管理器中找到当前会话 右键选择属性 点击隧道取消选中转发X11连接到(X) 点击确定,双击会话重新连接 警告消失,问题解决

81940

dotnet X11 多次调用 XPutImage 是否能做到渲染同步

本文将告诉大家我在麒麟系统和统信系统以及分别搭配飞腾和兆芯处理器的设备上,使用连续的 XPutImage 方法推送界面,测试是否能够在一次渲染内完成。...然而经过实际测试,窗口显示的内容将会闪烁,即连续两次 XPutImage 不能做到渲染同步,这也符合阅读 XLib 和 XServer 和 KWin 的代码了解的行为 全部的测试代码如下 using CPF.Linux...; using SkiaSharp; using static CPF.Linux.XLib; XInitThreads(); var display = XOpenDisplay(IntPtr.Zero...我整个代码仓库比较庞大,使用以下命令行可以进行部分拉取,拉取速度比较快 先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init git...github.com/lindexi/lindexi_gd.git git pull origin b54f37030aec86fda474e99c0ad9ae941e23e1da 获取代码之后,进入 X11

2710
领券