xorg 1. xorg概述 2. 只需安装必要包 3. group 4. gentoo相关链接 5. Graphical user interface 图形用户界面概述

1. xorg概述
2. 只安装必要
 2.1 基础包:xorg-server,xorg-xinit
 2.2 显卡驱动:xf86-video-intel
 2.3 输入设备:xf86-input-libinput
 2.4 小结
3. group
4. gentoo相关链接
5. Graphical user interface 图形用户界面概述

https://www.x.org/wiki/
https://zh.wikipedia.org/wiki/X.Org_Server

https://en.wikipedia.org/wiki/X.Org_Server
X.Org Server(全称X.Org Foundation Open Source Public Implementation of X11)是X Window System的官方参考实现,它是开放源代码的*软件。这一项目由X.Org基金会运作,存放于freedesktop.org的主机上。初始版本和最终版本:
版本  日期         X11 Release
1    2005-12-21  X11R7.0 (1.0.1)
1.12 2012-03-04  X11R7.7 (1.12.2)
1.20 2018-05-10 

2. 只需安装必要包

https://wiki.archlinux.org/index.php/Xorg
xorg是一个古老的存在, 大部分现代DE都对其相关软件兼容, 有些还依赖xorg的部分功能.
要使用很多现代DE, 也需要安装一些必要的xorg包.

2.1 基础包:xorg-server,xorg-xinit

x服务器: xorg-server
x初始化: xorg-xinit

2.2 显卡驱动:xf86-video-intel

https://wiki.archlinux.org/index.php/Xorg#Driver_installation
$ lspci | grep 'VGA|3D'
$ lspci | grep -E 'VGA|3D'
$ lspci | grep -e VGA -e 3D
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) (rev 0c)
$ pacman -Ss xf86-video
找到适合自己显卡的驱动.

2.3 输入设备:xf86-input-libinput

https://wiki.archlinux.org/index.php/Xorg#Input_devices
X服务器默认使用libinput驱动(xf86-input-libinput), 但也可以使用xf86-input-evdev和相关驱动程序。
udev ,evdev 可以用作绝大部分设备的即插即用驱动。Udev 由 systemd 通过 xorg-server提供,所以不需要显式安装。
udev作为systemd依赖提供,会自动检测硬件,使用 evdev 或 libinput 处理设备的输入。
默认配置文件/usr/share/X11/xorg.conf.d/目录中的10-quirks.conf, 40-libinput.conf
  • 10-quirks.conf, Collection of (quirks怪癖, blacklist黑名单, whitelists白名单) for specific devices.
  • 40-libinput.conf, pointer 指针; keyboard 键盘; touchpad 触摸板; touchscreen 触摸屏; tablet 平板电脑.
启动X服务器后,日志文件将显示为各个设备热插拔的驱动程序:
$ cd /var/log/
$ grep -e "Using input driver " Xorg.0.log
[    13.672] (II) Using input driver 'libinput' for 'Power Button'
[    13.721] (II) Using input driver 'libinput' for 'Video Bus'
[    13.748] (II) Using input driver 'libinput' for 'Sleep Button'
[    13.771] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
[    13.803] (II) Using input driver 'libinput' for 'SynPS/2 Synaptics TouchPad'
[    13.852] (II) Using input driver 'libinput' for 'HP WMI hotkeys'

https://wiki.archlinux.org/index.php/Touchpad_Synaptics
警告: xf86-input-synaptics不再主动更新。如果可能,请使用libinput。

2.4 小结

不建议安装xorg包,绝大部分用不到的;只需要单独安装xf86-video-intel, xorg-xinit, xorg-server即可。xf86-input-libinput算是server的依赖包.
$ sudo pacman -S xf86-video-intel, xorg-xinit xorg-server
$ startx 启动测试
注: 驱动请参照上文找到适合自己显卡的程序.

3. group

https://www.archlinux.org/groups/
xorg相关的包组有4个, 分别为: xorg (49); xorg-drivers (16); xorg-apps (36); xorg-fonts (2).
  • 总数: 103个, (但36个apps和2个fonts软件在xorg包组里都有)
  • 重复:  39个, (包含xorg-apps全部36个包, xorg-fonts全部2个包, 1个drivers:xf86-video-vesa)
  • 剩余:  64个, (xorg49 + driver16 - xf86-video-vesa)
以下不重复包列表总数65个, 其中xorg-xinit不属于任何组.
表1, 本机安装的15个包, [Q?]列Qe表示主动安装的只有3个, 其他都是作为依赖被安装的.
group Name Description 描述 / $ pactree -r group2 Q?
xorg-drivers xf86-video-intel X.org Intel i810/i830/i915/945G/G965+ video drivers X.org Intel i810/i830/i915/945G/G965+ 视频驱动程序   Qe
xf86-input-libinput Generic input driver for the X.Org server based on libinput 基于libinput的X.Org服务器的通用输入驱动程序   d
  xorg-xinit X.Org initialisation program └─xfce4-session   Qe
xorg xorg-server Xorg X server Xorg X服务器 libxfont2, libfontenc   Qe
xorg-server-common Xorg server common files Xorg服务器通用文件   d
xorg-fonts-encodings X.org font encoding files X.org字体编码文件 fonts d
xorg-setxkbmap Set the keyboard using the X Keyboard Extension 使用X Keyboard Extension设置键盘 xorg-apps d
xorg-xkbcomp X Keyboard description compiler X键盘描述编译器 d
xorg-xrandr RandR扩展的原始命令行界面 └─intel-gpu-tools d
xorg-iceauth ICE授权文件实用程序 └─xfce4-session d
xorg-xmodmap 修改按键映射和按钮映射的实用程序 └─xorg-xinit
  └─xfce4-session
d
xorg-xauth X.Org授权设置程序 └─xorg-xinit
  └─xfce4-session
d
xorg-xrdb X服务器资源数据库实用程序 ├─xfce4-session
└─xorg-xinit
  └─xfce4-session
d
xorg-xset User preference utility for X X的用户首选项实用程序 d
xorg-xprop Property displayer for X X的属性显示器 d
表2: group: xorg-drivers剩余包
group: xorg-drivers Description 描述
xf86-input-evdev X.org evdev input driver X.org evdev输入驱动程序
xf86-input-synaptics Synaptics driver for notebook touchpads (不再更新,请用libinput)笔记本触摸板的Synaptics驱动
xf86-input-vmmouse X.org VMWare Mouse input driver X.org VMWare鼠标输入驱动程序
xf86-input-void X.org void input driver X.org无效输入驱动程序
xf86-video-amdgpu X.org amdgpu video driver X.org amdgpu视频驱动程序
xf86-video-ati X.org ati video driver X.org ati视频驱动程序
xf86-video-dummy X.org dummy video driver X.org虚拟视频驱动程序
xf86-video-fbdev X.org framebuffer video driver X.org帧缓冲视频驱动程序
xf86-video-nouveau Open Source 3D acceleration driver for nVidia cards 适用于nVidia卡的开源3D加速驱动程序
xf86-video-openchrome X.Org Openchrome drivers X.Org Openchrome驱动程序
xf86-video-qxl Xorg X11 qxl video driver Xorg X11 qxl视频驱动程序
xf86-video-vmware X.org vmware video driver X.org vmware视频驱动程序
xf86-video-voodoo X.org 3dfx Voodoo1/Voodoo2 2D video driver X.org 3dfx Voodoo1/Voodoo2 2D视频驱动程序
表3: group: xorg剩余包
group1: xorg Description 描述 group2
xorg-font-util X.Org font utilities X.Org字体实用程序 -fonts
xf86-video-vesa X.org vesa video driver X.org vesa视频驱动程序 -drivers
xorg-bdftopcf Convert X font from Bitmap Distribution Format to Portable Compiled Format 将X字体从位图分发格式转换为可移植编译格式 xorg-apps
xorg-luit Filter that can be run between an arbitrary application and a UTF-8 terminal emulator 可以在任意应用程序和UTF-8终端仿真器之间运行的筛选器
xorg-mkfontscale Create an index of scalable font files for X 为X创建可缩放字体文件的索引
xorg-sessreg Register X sessions in system utmp/utmpx databases 在系统utmp / utmpx数据库中注册X会话
xorg-smproxy Allows X applications that do not support X11R6 session management to participate in an X11R6 session 允许不支持X11R6会话管理的X应用程序参与X11R6会话
xorg-x11perf Simple X server performance benchmarker 简单的X服务器性能基准测试程序
xorg-xbacklight RandR-based backlight control application 基于RandR的背光控制应用
xorg-xcmsdb Device Color Characterization utility for X Color Management System X颜色管理系统的设备颜色表征实用程序
xorg-xcursorgen Create an X cursor file from PNG images 从PNG图像创建X光标文件
xorg-xdpyinfo Display information utility for X X的显示信息实用程序
xorg-xdriinfo Query configuration information of DRI drivers 查询DRI驱动程序的配置信息
xorg-xev Print contents of X events 打印X事件的内容
xorg-xgamma Alter a monitor's gamma correction 更改显示器的伽玛校正
xorg-xhost Server access control program for X X的服务器访问控制程序
xorg-xinput Small commandline tool to configure devices 小型命令行工具, 用于配置设备
xorg-xkbevd XKB event daemon XKB事件守护程序
xorg-xkbutils XKB utility demos XKB实用程序演示
xorg-xkill Kill a client by its X resource 通过其X资源杀死客户端
xorg-xlsatoms List interned atoms defined on server 列出在服务器上定义的原子
xorg-xlsclients List client applications running on a display 列出在显示器上运行的客户端应用程序
xorg-xpr Print an X window dump from xwd 从xwd打印X窗口转储
xorg-xrefresh Refresh all or part of an X screen 刷新全部或部分X屏幕
xorg-xsetroot Classic X utility to set your root window background to a given pattern or color Classic X实用程序, 用于将根窗口背景设置为给定的图案或颜色
xorg-xvinfo Prints out the capabilities of any video adaptors associated with the display that are accessible through the X-Video extension 打印出可通过X-Video扩展名访问的与显示器相关的任何视频适配器的功能
xorg-xwd X Window System image dumping utility X Window系统映像转储实用程序
xorg-xwininfo Command-line utility to print information about windows on an X server 命令行实用程序, 用于在X服务器上打印有关Windows的信息
xorg-xwud X Window System image undumping utility X Window系统映像转储实用程序
xorg-docs X.org documentations X.org文档  
xorg-fonts-100dpi X.org 100dpi fonts X.org 100dpi字体  
xorg-fonts-75dpi X.org 75dpi fonts X.org 75dpi字体  
xorg-server-devel Development files for the X.Org X server X.Org X服务器的开发文件  
xorg-server-xephyr A nested X server that runs as an X application 作为X应用程序运行的嵌套X服务器  
xorg-server-xnest A nested X server that runs as an X application 作为X应用程序运行的嵌套X服务器  
xorg-server-xvfb Virtual framebuffer X server 虚拟帧缓冲X服务器  
xorg-server-xwayland run X clients under wayland 在Wayland下运行X客户  

4. gentoo相关链接

https://wiki.gentoo.org/wiki/Xorg
https://wiki.gentoo.org/wiki/Xorg/Guide
https://wiki.gentoo.org/wiki/Xorg/Guide/zh-cn
使用 startx, 试试startx来运行 X server。 startx即执行一个'X会话'脚本;这个脚本x11-apps/xinit生成. 也就是说,它启动了X服务器并在它上面的一些图形应用程序。它使用下面的方式来判断该运行哪些应用程序:
 如果一个叫做.xinitrc的文件存在于主目录(home)中,它会执行里面列出的命令。
 否则,它会从/etc/env.d/90xsession读取 XSESSION 这个变量的值,并且将执行一个与之相对应的会话。XSESSION的值可以在/etc/X11/Sessions/文件中进行配置。例如,设置系统默认会话,以root身份运行: root #echo XSESSION="Xfce4" > /etc/env.d/90xsession
这将创建文件:90xsession,然后设置默认X会话Xfce。 记得在90xsession修过后,执行命令env-update。user $startx

https://wiki.gentoo.org/wiki/Wayland
Wayland旨在替代X显示服务器。
应用领域: GTK 3.x和Qt支持Wayland。不幸的是,大多数应用程序仍然需要X服务器。有几种方案可以使它们工作:
通过重写具有X.org依赖关系的组件来移植应用程序,以便它们也可以用于Wayland。cf. Wayland-港口。其他示例是mpv,它是基于MPlayer / mplayer2的视频播放器,或者是极简的网络客户端xombrero,midori和Epiphany也完全支持Wayland。预计将GNOME和KDE移植到它。
Xclient可以在Wayland上运行。之后,所需的应用程序可以照常在Xclient上运行。请参阅在wayland上运行的X服务器。
Xwayland是在X服务器上运行Wayland的第三个选项。

5. Graphical user interface 图形用户界面概述

https://wiki.archlinux.org/index.php/General_recommendations#Graphical_user_interface
https://wiki.archlinux.org/index.php/Category:Graphical_user_interfaces
  • Display server 显示服务器:
    • Xorg 是X窗口系统(通常为X11或X)的公共开源实现。运行带有图形用户界面(GUI)的应用程序时需要使用它,并且大多数用户都希望安装它。
    • Wayland 是一种更新的替代显示服务器协议,并且提供了Weston参考实现。
  • Display drivers 显示驱动器: 默认的vesa显示驱动程序适用于大多数视频卡,但是通过为AMD,Intel或NVIDIA产品安装适当的驱动程序,可以显着提高性能并利用其他功能。
  • Desktop environments 桌面环境: 尽管Xorg提供了用于构建图形环境的基本框架,但是为了获得完整的用户体验,可能还需要其他组件。GNOME,KDE,LXDE和Xfce等桌面环境将各种X客户端捆绑在一起,例如窗口管理器,面板,文件管理器,终端仿真器,文本编辑器,图标和其他实用程序。经验较少的用户可能希望为更熟悉的环境安装桌面环境。请参阅类别:桌面环境以获取更多资源。
  • Window managers 窗口管理器: 完整的桌面环境可提供完整且一致的图形用户界面,但往往会消耗大量系统资源。寻求最大化性能或以其他方式简化其环境的用户可以选择单独安装一个窗口管理器,并手动选择所需的其他功能。大多数桌面环境也允许使用替代的窗口管理器。动态,堆叠和平铺窗口管理器在处理窗口位置方面有所不同。
  • Display manager 显示管理器: 大多数桌面环境都包括一个显示管理器,用于自动启动图形环境和管理用户登录。没有桌面环境的用户可以单独安装一个。另外,您也可以运行startx启动桌面,以代替显示管理器。https://wiki.archlinux.org/index.php/Display_manager
    • DM: LightDM lxdm gdm   sddm
    • DE: 跨桌面.. lxde GNOME plasma,lxqt
  • User directories 用户目录: 诸如Downloads或Music之类的知名用户目录是由xdg-user-dirs-update.service用户服务创建的,该服务由xdg-user-dirs提供,并在安装时默认启用。如果您的桌面环境或窗口管理器未引入该软件包,则可以按照XDG用户目录#创建默认目录来安装它并手动运行xdg-user-dirs-update。