news 2026/1/11 17:39:24

14、X-Windows与Unix工具的困境剖析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
14、X-Windows与Unix工具的困境剖析

X-Windows与Unix工具的困境剖析

1. X-Windows系统的灾难

1.1 实际使用中的问题

在使用X-Windows系统时,常常会遇到各种恼人的状况。比如连接到打印机的NFS超时,或者文件服务器即将进行维护等情况,屏幕上会不断弹出消息,就像患有妥瑞氏综合征的法庭记录员一样,让人不胜其烦。而且,通常用于刷新屏幕的X命令对此毫无办法,因为X无法访问覆盖层平面。无奈之下,只能用C语言编写一个程序,在xterm窗口中调用,专门清理覆盖层平面上的混乱信息。

另外,3D图形只能在/dev/crt1上运行,而X Windows则在/dev/crt0上运行,这就导致鼠标无法移动到3D图形显示区域。惠普技术支持人员的解释“你为什么要指向3D绘制的东西呢”实在难以让人满意。

1.2 X并非设备独立

所谓X是设备独立的这一说法完全是个神话。实际上,X极其依赖设备,因为所有X图形都是用像素坐标指定的。在不同分辨率的屏幕上绘制图形,其大小会有所不同。如果要绘制特定大小的图形,就必须自己缩放所有坐标。而且,并非所有屏幕的像素都是正方形的,如果不想看到矩形的正方形和椭圆形的圆形,还得根据像素宽高比调整所有坐标。

以填充和描边图形这样简单的任务为例,由于X古怪的面向像素的成像规则,变得相当复杂。使用XFillRectangle填充一个10x10的正方形时,会如预期般填充100个像素。但当使用相同参数调用XDrawRectangle时,会得到额外的“奖励像素”,因为它实际上绘制的是一个11x11的正方形,会在下方和右侧多延伸一个像素。在X手册第1卷第6.1.4节中提到,手册中解释可以通过在填充矩形的x和y位置加1,同时从宽度和高度中

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/26 5:37:21

Jukebox音乐生成入门指南:从零开始创作AI音乐

Jukebox音乐生成入门指南:从零开始创作AI音乐 【免费下载链接】jukebox Code for the paper "Jukebox: A Generative Model for Music" 项目地址: https://gitcode.com/gh_mirrors/ju/jukebox Jukebox是OpenAI推出的革命性音乐生成模型&#xff0c…

作者头像 李华
网站建设 2025/12/26 1:53:35

netdisk-fast-download终极指南:5分钟掌握网盘直链解析技术

netdisk-fast-download终极指南:5分钟掌握网盘直链解析技术 【免费下载链接】netdisk-fast-download 各类网盘直链解析, 已支持蓝奏云/奶牛快传/移动云云空间/UC网盘/小飞机盘/亿方云/123云盘等. 预览地址 https://lz.qaiu.top 项目地址: https://gitcode.com/gh_…

作者头像 李华
网站建设 2025/12/14 9:25:52

27、《Swerve 详细设计解析》

《Swerve 详细设计解析》 1. 基础类型与操作 在相关设计中,存在一些基础的类型定义与操作。例如 ExecReader.Opened = ExecReader.Impl.Opened = Unix.proc * string ,在 CGI 节点处理程序的代码里,可通过如下代码提取 Unix.proc 值来操作进程: val (proc, _) = Ex…

作者头像 李华
网站建设 2026/1/3 19:57:13

29、函数式编程语言开发与SML/NJ使用指南

函数式编程语言开发与SML/NJ使用指南 1. 函数式编程语言概述 如今,使用函数式编程语言开发实际应用程序是可行的,它们具有诸如更高的生产力和可靠性等特殊优势。除常见的语言外,还有一些值得关注的选择。 例如,某些语言在图形和数据库方面有良好的接口支持。它具备与Tk、…

作者头像 李华
网站建设 2025/12/21 5:00:36

免费获取IEC60335-1-2020完整中文版:家用电器安全标准权威指南

免费获取IEC60335-1-2020完整中文版:家用电器安全标准权威指南 【免费下载链接】IEC60335-1-2020中文版下载分享 IEC60335-1-2020中文版下载 项目地址: https://gitcode.com/Open-source-documentation-tutorial/2e087 还在为寻找家用电器安全标准而烦恼吗&a…

作者头像 李华