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 图形用户界面概述
1. xorg概述
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的主机上。初始版本和最终版本:
xorg是一个古老的存在, 大部分现代DE都对其相关软件兼容, 有些还依赖xorg的部分功能.
要使用很多现代DE, 也需要安装一些必要的xorg包.
x初始化: xorg-xinit
$ 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
找到适合自己显卡的驱动.
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
$ 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。
$ sudo pacman -S xf86-video-intel, xorg-xinit xorg-server
$ startx 启动测试
注: 驱动请参照上文找到适合自己显卡的程序.
xorg相关的包组有4个, 分别为: xorg (49); xorg-drivers (16); xorg-apps (36); xorg-fonts (2).
表1, 本机安装的15个包, [Q?]列Qe表示主动安装的只有3个, 其他都是作为依赖被安装的.
表2: group: xorg-drivers剩余包
表3: group: 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的第三个选项。
https://wiki.archlinux.org/index.php/Category:Graphical_user_interfaces
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/Xorgxorg是一个古老的存在, 大部分现代DE都对其相关软件兼容, 有些还依赖xorg的部分功能.
要使用很多现代DE, 也需要安装一些必要的xorg包.
2.1 基础包:xorg-server,xorg-xinit
x服务器: xorg-serverx初始化: 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_devicesX服务器默认使用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 平板电脑.
$ 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)
表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 |
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视频驱动程序 |
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/Xorghttps://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_interfacehttps://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。
sztom
osoft@qq.com
CC-BY-NC-SA