Gentoo的Xorg配置安装笔记

昨天在虚拟机里安装了 Gentoo ,今天便开始着手研究图形界面了。 Maxiee 想安装一个 xfce 桌面环境,Xfce/HOWTO 上说我首先要配置好 Xorg 。所以这一篇的主题就是配置 Xorg 啦,参考的手册是 Xorg/Configuration

【注】在安装 Gentoo 系统时,应当首要参考Xorg/Configuration遵循 wiki 的指导安装。其实官方的 HandBook、wiki 已经讲解地很详细了,按照上面的指导,完全能够完成安装、配置工作。如果说 Maxiee 的这一系列安装笔记能够起到什么辅助作用,我感觉就是多截图,让刚入门的朋友知道哪一步都什么样子。不过话说回来,只要对 Linux 有一定的认识,熟悉 Linux 下常用的命令操作,也就不需要图例了。

认识Linux中的图形界面

This is one of the biggest surprises new users come across: a graphical user interface is nothing more than an application which runs on your system. It is not part of the Linux kernel or any other internals of the system. It is a powerful tool that fully enables the graphical abilities of your workstation.

对新用户来说,最震惊的是:图形接口在 Linux 系统中只不过是一个程序。它既不是 Linux 内核的一部分,也不是系统的一部分。它只是一个功能强大点的应用程序,通过它让你的系统进行图形交互。

对于 Windows 用户来说,图形接口自然是系统的一部分,“开始菜单”、“我的电脑”、“IE浏览器”……看到这些,Win 用户就会喊出:“Windows 系统!”

对于其他发行版来说,例如 Ubuntu、Fedora,系统往往会搭载一个桌面环境(KDE、Gnome、xfce),也给我们一种错觉,以为图形界面是 Linux 内置的一部分。

The application that provides Linux users with the ability to run graphical user interfaces and that uses the X11 standard is Xorg-X11, a fork of the XFree86 project. XFree86 has decided to use a license that might not be compatible with the GPL license; the use of Xorg is therefore recommended. The official Portage tree does not provide an XFree86 package anymore.

为 Linux 用户提供图形交互功能且使用 X11 标准的应用程序是 Xorg-X11 ,fork 自 XFree86 项目。因为 XFree86 采用了一个无法与 GPL 相容的协议,所以推荐使用 Xorg。官方的 Portage 树根本就没有提供 XFree86 的包。

内核设置

要安装 Xorg ,要对内核进行一定的设置。虽然 Xorg 不是内核的一部分,只是一个应用程序,但它还是要与内核打交道的。所以要对内核进行一定的设置,以支持与 Xorg 之间的通信。

由于 Maxiee 的内核是偷懒用 genkernel 自动构建的(每次开机都加载一堆用不着的东西),对 Xorg 的支持也已经开启了,这部分就暂且跳过。

可以参考文档 Xorg/Configuration

make.conf 设置

还记得 make.conf 是干嘛的不?它在 /etc/portage/make.conf是 Portage 的配置文件。

我们要做的是在里面定义两个变量,VIDEO_CARDS 和 INPUT_DEVICES ,前者说明你用的是哪家的显卡,后者说你都用哪些输入设备。

Ps: Maxiee 习惯使用 vi 编辑器,而刚安装的系统里面没有,顺手装一个:emerge app-editors/vim 。话说昨天设置的网络自动连接没有成功,要先用 dhcpcd 来连一下网才能下载。

在 make.conf 里面添加两行:

VIDEO_CARDS="virtualbox"

INPUT_DEVICES="evdev"

由于 Maxiee 是在虚拟机中运行,显卡写的是 virtualbox。

设置 USE 标志:

root # echo "x11-base/xorg-server udev" >> /etc/portage/package.use

安装 Xorg

键入 emerge 指令:

root # emerge --ask xorg-server

计算了一会儿依赖关系,系统就显示出一大堆花花绿绿的信息,提示我是否安装这些包:

gentoo-xorg1

回复 Yes 开始等待下载、编译吧!

emerging ( 1 of 116 ) ⊙﹏⊙b汗!玩会儿别的去了……

安装完成后的配置

晚饭都吃完了,才编译完……下面继续进行设置。

重新初始化一些环境变量:

root # env-update
root #
source /etc/profile

启动Xorg

X Server 被设计为开箱即用,也就是说,不出意外的话,输入下面这条指令,就应该能启动起来了:

root # startx

xorg-install2

……说好的开箱即用呢%>_<%

看错误报告,说我 twm, xclock ,exec, xterm 这几个命令都没有安装,Maxiee 感觉很奇怪,这不是 X Server 自带的吗?

还有一个 vboxvideo not found……

谷歌到还有一份 VirtualBox Wiki 指导如何在虚拟机里配置 Gentoo :

If you want to run Gentoo as a guest system simply run the following command in the Gentoo guest system:

root # emerge --ask app-emulation/virtualbox-guest-additions

To enable the shared clipboard, display resizing, seamless mode and drag&drop make sure that the user running the X.org session belongs to the "vboxguest" group.

安装完 virtualbox-guest-additions ,系统提示了一些信息:

xorg-install3

上面说,如果要用 Virtualbox 的 X 驱动,要替换一下 /etc/X11/xorg.conf :

cd /usr/share/doc/virtualbox-guest-additions-4.2.22

bzip2 -d xorg.conf.vbox.bz2

cp xorg.conf.vbox /etc/X11/xorg.conf

重启后,驱动问题消失了。现在的问题就是,X Server 默认的几个小工具找不到。我感觉,可能是因为大家到了这一步,都直接上桌面环境了把,默认的这几个小工具默认就没在包里。

又谷歌了一下,只需要安上这几个必要的包就可以了:

emerge twm xterm xclock

我知道为什么这几个软件默认没有加入 xorg-server 包了,因为要安装这3个软件,需要安装总共12个包,而这3个软件,在实际中并没有使用价值。Maxiee 安装这3个软件,其实也只是想测试一下 X 是否能正确启动,在未来安装了桌面环境,自然也就不需要这个自带的了。

总之,安装了这几个包后,再执行 startx ,期盼已久的 X Server 终于启动起来了:

xorg-install4

安装 xfce

下一步就是要安装一个桌面环境了,在这里 Maxiee 选用了比较省资源的 xfce 。

具体的安装步骤, Gentoo 的 Xfce/HOWTO 已经描述的十分详细了,而且也有中文文档,直接参考上面的就可以了。

注意中文文档中有一处笔误:

“接着,请反复检查/etc/make.conf文件里的USE标记”,这里的地址应当是 /etc/portage/make.conf

一共有 134 个包要编译安装……又可以干别的去了o(╯□╰)o

等了半天,终于编译安装好了!O(∩_∩)O~~

下面是编译安装一个能用的xfce4-terminal,又是3个包~

最终,xfce 顺利装上啦:

gentoo-xfce4

学到一招:emerge --search xfce 搜索 Portage ,可以找到许多 xfce 的插件。

Maxiee 安装了这些软件和插件:xfce4-verve-plugin、xfce4-mount-plugin、xfwm4-themes、tango-icon-theme、mousepadthunar-archive-plugintumblerthunar-volmanslim

slim 启动 xfce 黑屏

Maxiee 在安装好 slim 后,开机登陆后并没有顺利进入 xfce ,而是黑屏,鼠标显示成一个叉号。

看 slim 的 Log:

slim: waiting for X server to begin accepting connections.
slim: open_session: Unable to open session: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory

slim: waiting for X server to begin accepting connections.
slim: open_session: Unable to open session: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory

slim: waiting for X server to begin accepting connections.
slim: open_session: Unable to open session: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory

谷歌了一下,貌似是 dbus 出了问题,加入这一个启动服务后问题解决:

rc-update add /etc/init.d/dbus default

美化了一下,图形界面终于搭建完成啦~~O(∩_∩)O~~

gentoo-xfce2