第30章 其他的TCP/IP应用程序 30.5 X窗口系统 X窗口系统(X Window System),或简称为X,是一种客户-服务器应用程序。...图3 0 - 2将图3 0 - 1重新画,但强调了客户与 X服务器进程间的通信, X服务器进程轮流管理着每个窗口。图中没有显示的是 X服务器管理键盘和鼠标。 ?...30.5.1 Xscope程序 Xs c o p e是检查X客户与它的服务器之间交换的信息的一个方便的程序。大多数的 X窗口实现都提供这个程序。...如果不提供有关X窗口系统更多的细节是不可能进一步理解这个例子的,但这又不是本节的目的。...标准的规范和在第6版的X窗口系统中的一个样本实现应该会在 1 9 9 4年的早些时候完成。
本文提供视频讲解:https://www.bilibili.com/video/BV13y4y1x764 Tmux介绍 传统的管理远程服务器方式是SSH远程服务器后,窗口的生命周期和SSH进程绑定,SSH...终止后窗口会话也会终止,如果我们在办公环境回家后还希望能看到同样的窗口效果,默认的SSH会话窗口是不能完成的,这时我们就可以通过Tmux来管理窗口,它是一个多窗口的管理利器和它类似的功能还有Linux的...Tmux会话管理 新建会话 退出会话 查看会话 && 杀死会话 接入会话 切换会话 重命名会话 会话快捷键 新建会话 创建一个新的窗口,其中-s后接窗口会话名字 tmux new -s 退出会话 在Tmux窗口中,输入ctrl+b 再输入d,或者用命令tmux detach来退出Tmux管理的窗口。...窗口相关 Ctrl+b c:创建一个新窗口 Ctrl+b n:切换到下一个窗口 Ctrl+b w:从列表中选择窗口 Ctrl+b :切换到指定编号的窗口,编号显示在状态栏 Ctrl+b ,:窗口重命名
_window_get_xid 方法即可正确的从 gdk 窗口获取到对应的 X11 窗口的 XID 值 为了方便使用 gdk_x11_window_get_xid 方法,以下照 GtkSharp 进行一些代码定义...; private const int RTLD_GLOBAL = 0x0100; private class Linux { [DllImport("libdl.so...= gdk_x11_window_get_xid(gdkWindow.Handle); Console.WriteLine($"X11 窗口 0x{x11:x2}"); } 通过以上代码输出的...X11 窗口的 XID 号,可以同步在命令行输入进 xwininfo 命令里面。...比如我这里输出的是 X11 窗口 0x5600003 的值 打开另一个命令行,输入以下命令,将 XID 传入 xwininfo 命令,即可看到显示的窗口标题和当前运行的窗口是相同的 我核心踩坑就是搜到的是
本文将告诉大家如何在 dotnet 里面的后台线程向自己进程内的窗口发送消息 核心是通过 XSendEvent 发送消息,发送消息想要有反应需要另开 XOpenDisplay 获取 display 对象...} finally { XCloseDisplay(display1); } } }); 以上的 handle 是一个 X11...pull origin ee9c8da351838b0ec3b8ab577a6c9904e024517d 获取代码之后,进入 DikalehebeekaJaqunicobo 文件夹,即可获取到源代码 更多 X11...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
本文记录如何在 X11 应用里面,使用 XShapeCombineRegion 方法配置一个 X11 窗口支持和 Win32 窗口一样的命中测试穿透功能,即对应 Win32 的 WS_EX_TRANSPARENT...的鼠标、触摸等的点击等动作的穿透功能,可以实现在窗口中挖空一块范围直接穿透到后面的窗口 在 X11 窗口中,想要实现让窗口不可命中,即所有的鼠标、触摸等的事件穿透到后面的窗口上,可以采用 libXext.so...childWindowHandle 是一个 X11 窗口 var region = XFixesCreateRegion(display, 0, 0); XFixesSetWindowShapeRegion...libXext.so.so: 无法打开共享对象文件: 没有那个文件或目录 /home/uos/Downloads/lin/liblibXext.so.so: 无法打开共享对象文件: 没有那个文件或目录 at CPF.Linux.XLib.XShapeCombineRegion...- V2EX 2021-08-21窗口管理器杂谈 - 简书 更多 X11 开发请参阅 博客导航 关于在 Windows 系统下的 WPF 窗口点击穿透,请参阅 WPF 制作支持点击穿透的高性能的透明背景异形窗口
linux一般都自带了python,然而2014年以前的linux自带的python都是2.x.x甚至更早的版本。 需要使用python3.x.x需要自行下载安装。...不能实现的代码段:wget http://www.python.org/ftp/python/3.3.2/Python-3.3.2.tar.bz2 可行的做法是:可以现在网上找到python3.x.x...的linux文件,上传到linux系统后,再安装python3.x.x 首先下载源tar包 去网上找,以下下载链接有效:http://xiazai.zol.com.cn/detail/33/...python Python 3.1.2 (r312:79147, Dec 2 2014, 11:31:20) [GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2...credits" or "license" for more information. >>> quit() PS:如果不建立新安装路径python3,而是直接默认安装,则安装后的新python应该会覆盖linux
本文将告诉大家如何在 dotnet 里面的后台线程设置 X11 窗口的最小化 核心设置 X11 窗口最小化的方法是 XIconifyWindow 方法,核心问题是在后台线程需要自己使用 XOpenDisplay...但实际测试发现通过如下代码方式,将需要在一定的时机下才能生效,比如鼠标在窗口内晃动,或者重新激活窗口才能生效 _ = Task.Run(async () => { while (true)...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...override_redirect属性为True,以避免窗口管理器的干预 colormap = XCreateColormap(display, rootWindow, visual, 0),
将 x 减到 0 的最小操作数 1658. 将 x 减到 0 的最小操作数 给你一个整数数组 nums 和一个整数 x 。...提示: 1 <= nums.length <= 105 1 <= nums[i] <= 104 1 x <= 109 解题思路:正难则反 + 滑动窗口 这道题如果我们直接去求两边的能减到零的组合的话...总结一下就是,我们将题目转化为 求数组中间一段最长连续区间,该区间的元素和满足 sum - x。 那么既然是一段连续区间内求满足要求的最大长度,那岂不是可以用双指针的 ”滑动窗口“ 来解决! ...只不过要注意的是,我们进窗口的时机是 right 一直走就一直进窗口,而出窗口的条件是 tmp > target(参考下面代码中的变量名),而不是 tmp ≥ target,因为当 tmp == target...int sum = 0; for(auto e : nums) sum += e; int target = sum - x; // 这是我们窗口要求的目标和
以centos6.x和python3.6.0为例 1、首先下载依赖包 1 yum -y install wgetyum install zlib-devel bzip2-devel openssl-devel
本文将告诉大家如何在 X11 里面设置窗口透明 不同于在 WPF 里面可以使用 AllowsTransparency 简单方便的设置透明,在 X11 里面设置窗口透明的方法比较绕。...透明窗口示例应用代码 按照 X11 的基础使用方法,先获取 Display 和 Screen 和 RootWindow 对象/指针,代码如下 var display = XOpenDisplay(0)...return _addr_GetVisualFromFBConfig(@dpy, @config); } // Ignores egl functions. // On some Linux...install inxi inxi -Gxx | grep compositor 如能输出 compositor: kwin_x11 之类的,则证明依然使用的是 kwin 窗口合成管理器。...; using BlankX11App.X11; using static BlankX11App.X11.XLib; using static BlankX11App.X11.GlxConsts;
原创不 最近在VMware中安装了两个虚拟机,很多命令还是在Linux下或者UNIX下比较爽。...使用 Mac OS X 的时候,因为习惯了在终端中用 VIM 编写代码,所以一般创建文件、编码都是用命令行操作的,但是偶尔还是需要用到 Finder ,比如可能需要查看以下素材图片的大小、想要把HTML
我计划使用 X11 创建两个窗口,分别让这两个窗口在两个屏幕上。...在不做任何处理的情况下,会受到 X 窗口管理器的影响,导致全部都在鼠标最后一次命中的屏幕上显示窗口 我的需求是双屏双窗口,即一个屏幕显示一个窗口。...我的是 KWin 窗口管理器,默认情况下,我的正常窗口会被显示到鼠标最后一次命中的屏幕上,无论当前在 XCreateWindow 中传入的 X 和 Y 坐标是多少 本文的测试是在 UOS 上进行的,系统信息如下...简单起见,我将固定写魔数,而不是真的根据屏幕而来 我将设置第 1 个窗口,显示在 0,0 坐标。设置第 2 个窗口,显示在 1920,0 坐标。...窗口的 X 坐标确实被设置到 1920 上,且通过实际的屏幕显示内容也可以看到两个窗口被分别显示到两个显示器屏幕上 如果没有调用 XSetWMNormalHints 设置,则窗口显示过程中,收到的 ConfigureNotify
在linux的命令窗口输入命令与输出内容颜色一样,内容太多导致不容易区分,设置下登录名的颜色。
此时我需要获取到 UNO 应用的窗口的 X11 窗口指针,如此即可调用 X11 平台相关逻辑对 UNO 窗口执行一些交互 本文以下的方法需要用到反射 通过阅读 UNO 的源代码,可以看到 Window...在 X11 平台下是 Uno.WinUI.Runtime.Skia.X11.X11Window 类型。...里面的 Window 属性即可获取到 X11 窗口指针 反射的代码如下 var type = MainWindow.GetType(); var nativeWindowPropertyInfo...; // Uno.WinUI.Runtime.Skia.X11.X11Window var x11WindowType = x11Window.GetType();...; Console.WriteLine($"Uno 窗口句柄 {x11WindowIntPtr}"); 通过以上方式即可获取到 X11 窗口指针 但是必须说明的是,使用反射获取,也许在后续版本将会失效
本文记录我阅读 Avalonia 代码过程中所学习到的在 X11 的窗口之间发送鼠标消息,可以跨进程给其他进程的窗口发送鼠标消息,通过此方式可以实现模拟鼠标输入 直接使用 XSendEvent 给指定窗口发送消息即可...比如有两个窗口,可以通过此方式让窗口 2 收到鼠标消息时,自动转发给窗口 1 上,核心代码如下 var handle = XCreateWindow(display, rootWindow, 0, 0,...其实在这里我不确定 X11 的窗口 IntPtr 是否称为指针是合适的。...但行为上看起来和 Windows 下的句柄非常类似 如以下的测试代码,启动自身作为新的进程,然后传入当前进程的窗口,让另一个进程获取当前进程的窗口,接着测试在另一个进程将鼠标消息发送到当前进程上 var...在 XDrawLine 里面也是传入 GC 和 Window 指针即可绘制线段,我就想着如果传入别的进程的窗口是否适合,是否就能在其他进程的窗口上绘制出内容 我尝试从另一个进程将 GC 传回来,如下面代码
在 X11 里面有和 Win32 类似的窗口之间的关系机制,如 Owner-Owned 关系,以及 Parent-Child 关系。...这个窗口会在兄弟窗口中的堆叠顺序中置于顶部。¹² 如果原始窗口已经被映射,XReparentWindow 还会导致 X 服务器生成一个 ReparentNotify 事件。...最后,如果原始窗口已经被映射,X 服务器会自动对其执行 MapWindow 请求。对于原先被遮挡的窗口,X 服务器会执行正常的曝光处理。...指定窗口具有 ParentRelative 背景,而新的父窗口与指定窗口的深度不同。 总之,XReparentWindow 允许您在 X 窗口系统中重新组织窗口的层次结构。...}); } 全部的测试代码如下 // See https://aka.ms/new-console-template for more information using CPF.Linux
一、ElasticSearch5.2.2 安装 1、检查 JDK版本(必须使用jdk1.8版本) # java -version 2、初始化环境 # servi...
3.1 socket套接字: socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”...具体如何实现,可以看看linux的内核 5.Linux C Socket简单实例与详细注释 程序为简单的“回射”,客户端将控制台输入的信息发送给服务器端,服务器原样返回信息。...recvbuf, 0, sizeof(recvbuf)); } close(sock_cli); return 0; } 执行: 客户端 服务器端 参考链接: 1.Linux...Linux的SOCKET编程详解 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
前言 在嵌入式linux开发中,进行需要修改一下配置文件之类的,必须使用vi,因此,熟悉 vi 的一些基本操作,有助于提高工作效率。...ncw或nCW:修改指定数目的字 nCC:修改指定数目的行 删除命令 ndw或ndW:删除光标处开始及其后的n-1个字 do:删至行首 d$:删至行尾 ndd:删除当前行及其后n-1行 x或...X:删除一个字符,x删除光标后的,而X删除光标前的 Ctrl+u:删除输入方式下所输入的文本 搜索及替换命令 /pattern:从光标开始处向文件尾搜索pattern ?...n2 m n3:将n1行到n2行之间的内容移至到第n3行下 :n1,n2 d :将n1行到n2行之间的内容删除 :w :保存当前文件 :e filename:打开文件filename进行编辑 :x:... │ ├───────────┼───────────────┤ │:W │写入文件 │ ├───────────┼───────────────┤ │:x
之前看很多视频老师都是用Linux命令操作命令框,感觉很方便,自己在cmd窗口试了一下,所有这些命令都提示不是内部或外部命令,后来发现了windows还有一个powershell命令行工具,用起来似乎比...cmd强大一点点,但是依旧linux命令不行,在网上才发现这么一个神器安装包如下: 链接: http://pan.baidu.com/s/1c23XvFU 密码: rz2v 点击默认路径安装,安装好后复制该路径地址...Cygwin\bin 到系统环境变量里设置一下, 设置方法很简单,找到系统环境变量中的path路径,最后面加上 分号 “;” 粘贴 上面的路径,----一路确定,ok ,环境变量配置完成,重启cmd窗口...发现linux命令已经可用。