-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
36 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,44 @@ | ||
--- | ||
icon: octicons/device-desktop-16 | ||
--- | ||
|
||
# Linux 桌面与窗口系统 | ||
|
||
!!! warning "本文初稿编写中" | ||
|
||
相比于久负盛名的 Windows 与 macOS,Linux 的桌面以及其生态是独特的。本文将简单介绍 Linux 桌面与窗口系统中一些重要的概念。 | ||
|
||
## X 与 Wayland | ||
## X | ||
|
||
X 窗口系统起源于 1984 年。在这个时代,桌面环境没有酷炫的效果,相比之下,性能与资源占用重要得多。并且当时个人计算机还是一个新兴的概念,用户更多的时候需要使用终端机连接到服务器上运行任务。因此,X 的设计上包含了当时那个年代设计的局限性,并且有着独特的「网络透明性」的设计:需要显示窗口的程序(客户端)和可以给用户显示窗口的程序(服务端)是可以分离的,通过网络去连接。 | ||
|
||
可以运行 `xlsclients` 获取连接到当前 X 服务器的客户端列表: | ||
|
||
```console | ||
$ xlsclients | ||
examplehost gsd-xsettings | ||
examplehost steamwebhelper | ||
examplehost code | ||
examplehost mutter-x11-frames | ||
examplehost steam | ||
``` | ||
|
||
客户端可以创建一个或多个窗口,可以使用 `xwininfo` 获取窗口信息: | ||
|
||
```console | ||
$ xwininfo -root -tree | ||
|
||
xwininfo: Window id: 0x503 (the root window) (has no name) | ||
|
||
Root window id: 0x503 (the root window) (has no name) | ||
Parent window id: 0x0 (none) | ||
57 children: | ||
0x1a00004 "desktop.md - Linux201-docs - Visual Studio Code": ("code" "Code") 1920x1200+306+1440 +306+1440 | ||
1 child: | ||
0x2200007 (has no name): () 1920x1200+0+0 +306+1440 | ||
(以下省略) | ||
``` | ||
|
||
## Wayland | ||
|
||
## DBus |