一、前言
Unix Like 操作系统不是只能进行服务器的架设而已,在美编、排版、制图、多媒体应用上也是有其需要的。 这些需求都需要用到图形接口 (Graphical User Interface, GUI) 的操作的, 所以后来才有所谓的 X Window System 这玩意儿。那么为啥图形窗口接口要称为 X 呢?因为就英文字母来看 X 是在 W(indow) 后面,因此,人们就戏称这一版的窗口接口为 X 啰,这边X Server使用Xorg。
一个桌面的使用需要X Windows Server + X Windows Manager,提供桌面背景、任务栏、桌面设置等。X Server 还有一个重要的工作,那就是将来自输入设备 (如键盘、鼠标等) 的动作告知 X Client,X Client 最重要的工作就是处理来自 X Server 的动作,将该动作处理成为绘图数据, 再将这些绘图数据传回给 X Server。目前主要的X Windows Manager有:
MATE core
Lubuntu core
Budgie Desktop
GNOME (GNU Network Object Model Environment):http://www.gnome.org/
KDE (K Desktop Enviroment):http://kde.org/
twm (Tab Window Manager):http://xwinman.org/vtwm.php
XFCE (XForms Common Environment):http://www.xfce.org/
二、安装方式
2.1 自定义安装
2.1.1 安装x-windows的基础(必须): sudo apt-get install x-window-system-core (这个就是X11或者直接X的协议,xorg是具体的程序实现)
2.1.2 安装gnome基础(必须): sudo apt-get install gnome-core kde-core xfce4
2.2 源码安装(中间过程中系统依赖库的话,借助apt-get 进行安装)
2.2.1 下载xorg-server-1.20.9.tar.bz2 https://www.x.org/archive/individual/xserver/xorg-server-1.20.9.tar.gz,还有https://xorg.freedesktop.org/archive/(较旧)
2.2.2 下载源码:https://www.xfce.org/download,部分软件下载:https://archive.xfce.org/src
注:源码编译,主要三步走:./configure;make;make install或者meson --libdir=lib …/;ninja;ninja install
三、中间编译过程
3、configure: error: Package requirements (pixman-1 >= 0.27.2) were not met:No package ‘pixman-1’ found
https://www.x.org/archive/individual/lib/pixman-0.40.0.tar.gz
4、configure: error: Package requirements (libdrm >= 2.4.89) were not met:No package ‘libdrm’ found
https://dri.freedesktop.org/libdrm/libdrm-2.4.102.tar.xz
meson --reconfigure --libdir=lib/ …/
5、configure: error: Package requirements (pciaccess >= 0.10) were not met:No package ‘pciaccess’ found
https://www.x.org/archive/individual/lib/libpciaccess-0.16.tar.gz
6、configure: error: Package requirements (x11) were not met:No package ‘x11’ found
https://www.x.org/archive/individual/lib/libX11-1.6.12.tar.gz
7、Perhaps you should add the directory containing `xproto.pc’,No package ‘xproto’ found
https://xorg.freedesktop.org/archive/individual/proto/xproto-7.0.31.tar.gz
8、checking for X11… No
configure: error: Package requirements (xproto >= 7.0.17 xextproto xtrans xcb >= 1.11.1 kbproto inputproto) were not met:
No package ‘xextproto’ found https://xorg.freedesktop.org/archive/individual/proto/xextproto-7.3.0.tar.gz
No package ‘xtrans’ found https://www.x.org/archive/individual/lib/xtrans-1.4.0.tar.gz
No package ‘xcb’ found https://xorg.freedesktop.org/archive/individual/xcb/libxcb-1.14.tar.gz
No package ‘kbproto’ found https://xorg.freedesktop.org/archive/individual/proto/kbproto-1.0.7.tar.gz
No package ‘inputproto’ found https://xorg.freedesktop.org/archive/individual/proto/inputproto-2.3.2.tar.gz
9、configure: error: Package requirements (xcb-proto >= 1.14) were not met:No package ‘xcb-proto’ found
https://xorg.freedesktop.org/archive/individual/xcb/xcb-proto-1.14.tar.gz
10、configure: error: Package requirements (xau >= 0.99.2) were not met:No package ‘xau’ found
https://www.x.org/archive/individual/lib/libXau-1.0.9.tar.gz
11、configure: error: Package requirements (glproto >= 1.4.17 gl >= 7.1.0) were not met:
No package ‘glproto’ found https://xorg.freedesktop.org/archive/individual/proto/glproto-1.4.17.tar.gz
No package ‘gl’ found http://deb.debian.org/debian/pool/main/libg/libglvnd/libglvnd_1.3.2.orig.tar.gz
12、configure.ac:28: error: possibly undefined macro: AC_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow sudo apt-get install libtool
14、configure: error: Package requirements (xext) were not met:No package ‘xext’ found
https://www.x.org/archive/individual/lib/libXext-1.3.4.tar.gz
15、configure: error: No suitable SHA1 implementation found
installing libgcrypt11-dev
16、checking for GPG Error - version >= 1.25… noconfigure: error: libgpg-error is needed.
https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.39.tar.bz2
17、configure: error: Package requirements (fixesproto >= 5.0 damageproto >= 1.1 xcmiscproto >= 1.2.0 xtrans >= 1.3.5 bigreqsproto >= 1.1.0 xproto >= 7.0.31 randrproto >= 1.6.0 renderproto >= 0.11 xextproto >= 7.2.99.901 inputproto >= 2.3 kbproto >= 1.0.3 fontsproto >= 2.1.3 pixman-1 >= 0.27.2 videoproto compositeproto >= 0.4 recordproto >= 1.13.99.1 scrnsaverproto >= 1.1 resourceproto >= 1.2.0 xf86driproto >= 2.1.0 glproto >= 1.4.17 dri >= 7.8.0 presentproto >= 1.1 xineramaproto xkbfile pixman-1 >= 0.27.2 xfont2 >= 2