从网络上找到的一个高手写的安装笔记,整理下来以备后用
X.org7.3安装笔记
我不得不说一下cu的博客真垃圾,每次插入代码都很麻烦,所以偶也懒得排版了,如果要看排版的效果看我在linuxsir上发的帖子
http://www.linuxsir.org/bbs/thread321931.html
,内容是一样的,只是简单的排了一下版。
花了三天的时间才安装好了X.org7.3,现在做个总结
你需要找个大点的分区建立一个目录将源代码全放在这个目录下面
代码:mkdir /home/blfs/xorg7.3
mkdir /home/blfs/org我建立了两个目录,xorg7.3用来存放xorg7.3的代码,org用来存放与xorg相关的源代码
在
代码:http://xorg.freedesktop.org/releases/X11R7.3/src/上下载xorg7.3的源代码,除了 everything这个目录以外,其它的目录全部下载,然后存到/home/xorg7.3,当然driver目录下的文件你可以只下载你需要的。顺便再说一下,下个月xorg7.4就要放出来了,不过目前已经有很多程序已经完成了,你可以在
代码:
http://www.x.org/wiki/Releases/7.4/这里下载,替换掉xorg7.3中的包。
如果你不明白怎么编译xorg可以看这里
代码:http://cblfs.cross-lfs.org/index.php/Xorg7/Intro,CBLFS上有详细的说明,BLFS好像目前只更新到了xorg7.2。
1、先做安装前的准备工作
代码:export XORG_PREFIX="/usr/X11R7"设置你的Xorg安装目录我用的是/usr/X11R7
代码:cat >> /etc/ld.so.conf 将/usr/X11R7/lib加入到你的ld.sc.conf文件中去
安装pkg-config
pkgconfig是用来在编译脚本中向编译器传递头文件包含路径或库文件路径的程序。
PKG_CONFIG_PATH 的缺省设置是 /lib/pkgconfig, /usr/lib/pkgconfig 和 /usr/local/lib/pkgconfig。它将在这些目录下面搜索库文件的元信息文件,当然我们也可以使用PKG_CONFIG_PATH来定义pkg-config的搜索路径。
先下载pkg-config
代码:wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.22.tar.gz然后安装它
代码:tar xvf pkg-config-0.22.tar.gz
cd pkg-config-0.22
./configure --prefix=/usr &&
make
make install将/usr/X11R7/lib加入到pkg-config的搜索路径中去。
代码:export PKG_CONFIG_PATH=/usr/X11R7/lib:/lib/pkgconfig:/usr/lib/pkgconfig
现在开始正式安装Xorg了
先要安装的是Xorg7/Protocol Headers
需求:Protocol Headers的安装需要前面安装的pkg-config
进入到存有Protocol Headers的目录下面,以后的操作都在是存有Xorg源代码的目录下,所以后面就不再写什么cd...了
代码:cd /home/xorg7.3/proto运行下面的程序,将所有的包全部解开,如果你下的是gz的包哪么自己改一下吧。
代码:for i in *.tar.bz2; do
tar xvf $i;
done开始编译,和上面一样,用脚本来做,要不然一个一个编译要累死的。
代码:for dir in `find . -maxdepth 1 -mindepth 1 -type d`; do
cd $dir &&
PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" ./configure $XORG_CONFIG &&
make install
cd ..;
done安装Xorg7/Utilities
需求:Utilities的安装需要前面安装的两个包pkg-config和Protocol Headers,如果前面的安装没有完成,这里也安装不下去的。
进入到目录下面,和前面一样,用脚本解开所有的包
代码:cd /home/xorg7.3/util
for i in *.tar.bz2; do
tar xvf $i;
done先安装xorg-cf-files-1.0.2.tar.bz2
代码:cd xorg-cf-files-1.0.2
sed -i "s@/usr/X11R6@$XORG_PREFIX@" X11.tmpl &&
PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" \
./configure $XORG_CONFIGN &&
make install
其次是imake-1.0.2、gccmakedep-1.0.2、imake-1.0.2、lndir-1.0.1、makedepend-1.0.1、util-macros-1.1.5
使用下面的命令就可以了。
代码:PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" \
./configure $XORG_CONFIGN &&
make &&
make install现在我们开始安装Xorg7/Libraries,不过在这之前先要解决它的依赖关系,我们需要先安装一些软件,它们是: FreeType、FontConfig、expat、xcb-proto、libpthread-stubs、libxcb、xcb-utils、 LibXSLT、Gperf、LibXML2
代码:wget http://downloads.sourceforge.net/freetype/freetype-2.1.10.tar.bz2
wget http://downloads.sourceforge.net ... -doc-2.1.10.tar.bz2
wget
http://fontconfig.org/release/fontconfig-2.4.2.tar.gz
wget http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz
wget
http://xcb.freedesktop.org/dist/xcb-proto-1.0.tar.bz2
wget
http://xcb.freedesktop.org/dist/libpthread-stubs-0.1.tar.bz2
wget
http://xcb.freedesktop.org/dist/libxcb-1.0.tar.bz2
wget http://svn.cross-lfs.org/svn/rep ... sloppy_lock-1.patch
wget
http://xcb.freedesktop.org/dist/xcb-util-0.2.tar.bz2
wget ftp://xmlsoft.org/libxml2/libxslt-1.1.22.tar.gz
wget ftp://ftp.gnu.org/pub/gnu/gperf/gperf-3.0.3.tar.gz
wget ftp://xmlsoft.org/libxml2/libxml2-2.6.31.tar.gz其中freetype-doc-2.1.10.tar.bz2这个是freetype的方档,可以不下载的。
LibXML2、Gperf、LibXSLT使用下面的命令来安装。
代码:PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" \
./configure --prefix=/usr &&
make &&
make installXCB系列的包则安装到/usr/X11R7目录下去,注意,Libxcb这个包需要打上补丁,命令是patch -Np1 -i libxcb-1.0-sloppy_lock-1.patch。
Xcb-proto、Libpthread-stubs、Libxcb、Xcb-utils的安装
代码:PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" \
./configure $XORG_CONFIG &&
make &&
make install安装expat-2.0.1
代码:PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" \
./configure --prefix=/usr &&
make &&
make install
代码:install -v -m755 -d /usr/share/doc/expat-2.0.1 &&
install -v -m644 doc/*.{html,png,css} /usr/share/doc/expat-2.0.1和LibXML2、Gperf等的命令一样,只不过是最后多了两个安装文档的命令,可以省去
最后安装FreeType和FontConfig
先安装FreeType,因为FontConfig的安装需要FreeType。
代码:sed -i -r 's:.*(#.*BYTE.*) .*:\1:' include/freetype/config/ftoption.h
PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" \
./configure --prefix=/usr &&
make &&
make install如果你打算安装FreeType的文档的话,要在运行上面的命令之前就将它解压到docs目录下,命令如下:
代码:tar xf ../freetype-doc-2.1.10.tar.bz2 --strip-components=2 -C docs然后在做完make install 后安装docs
代码:install -v -m755 -d /usr/share/doc/freetype-2.1.10 &&
cp -v -R docs/* /usr/share/doc/freetype-2.1.10安装FontConfig
代码:PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" \
./configure --prefix=/usr --sysconfdir=/etc \
--disable-docs --localstatedir=/var --without-add-fonts \
--with-docdir=/usr/share/doc/fontconfig-2.4.2 &&
make &&
make install &&
install -v -m644 doc/*.3 /usr/share/man/man3 &&
install -v -m644 doc/*.5 /usr/share/man/man5 &&
install -v -m755 -d /usr/share/doc/fontconfig-2.4.2/fontconfig-devel &&
install -v -m644 doc/*.{html,pdf,txt} /usr/share/doc/fontconfig-2.4.2 &&
install -v -m644 doc/fontconfig-devel/* /usr/share/doc/fontconfig-2.4.2/fontconfig-devel最后的5条命令是安装FontConfig的文档,可以省去这一步
在./configure运行时可选择的选项
--enable-libxml2 打开libxml2支持
现在安装Xorg7/Libraries的准备工作都已经完成了,可以安装Libraries了
先下载软件列表
代码:wget http://cblfs.cross-lfs.org/index ... lepath/Lib-7.3.wget老规矩先解开所有的包
代码:for i in *.tar.bz2; do
tar xjvf $i;
done然后用下面的脚本开始编译,Lib-7.3.wget就是刚才用wget下载的文件,我将它和lib的包放在一起所以没有指定目录
代码:for dir in `sed "s/.tar.bz2//g" Lib-7.3.wget`; do
cd ${dir} &&
PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" ./configure $XORG_CONFIG &&
make &&
make install &&
cd ..;
done可以加的参数太多了,说点有用的
libX11这个包可以使用--enable-loadable-i18n这个参数,它将打开i18n的国际化支持。所以建议打开,你可以单独编译一下这个包。其它的参数可以通过./configure --help来查看。
安装Xorg7/libdrm
命令如下:
代码:PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" ./configure $XORG_CONFIG &&
make &&
make install安装Xorg7/MesaLib
MesaLib是一套类似于openGL或是DX的接口程序。目前BLFS手册上使用的是6.5的版本,而我们要安装的是MesaLib-7.0.2。
先下载所需要的代码:
代码:wget http://downloads.sourceforge.net/mesa3d/MesaLib-7.0.2.tar.bz2
wget http://downloads.sourceforge.net/mesa3d/MesaDemos-7.0.2.tar.bz2
wget http://downloads.sourceforge.net/mesa3d/MesaGLUT-7.0.2.tar.bz2
wget http://svn.mandriva.com/svn/pack ... -build-config.patch将它们全部解压
代码:tar xvf MesaLib-7.0.2.tar.bz2
tar xvf MesaDemos-7.0.2.tar.bz2
tar xvf MesaGLUT-7.0.2.tar.bz2然后进入到目录中打上补丁
代码:patch -Np1 -i ../mesa-7.0.2-build-config.patch连接目录
代码:ln -sf linux-dri configs/current再做一点小小的设置,主要是路径
代码:echo 'X11_INCLUDES = $(shell pkg-config --cflags-only-I x11)' >> configs/current &&
echo 'CFLAGS += $(X11_INCLUDES)' >> configs/current &&
echo 'EXTRA_LIB_PATH = $(shell pkg-config --libs-only-L x11)' >> configs/current &&
echo "DRI_DRIVER_INSTALL_DIR = ${XORG_PREFIX}/lib/xorg/modules/dri" >> configs/current &&
echo "INSTALL_DIR = /usr" >> configs/current &&
echo "LIB_DIR = lib" >> configs/current最后可以开始编译和安装了
代码:make default &&
make install &&
make -C progs/xdemos glxinfo glxgears &&
install -m755 -v progs/xdemos/{glxinfo,glxgears} /usr/bin安装Xorg7/xbitmaps
代码:PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" ./configure $XORG_CONFIG &&
make &&
make install安装Libpng
Libpng:png的库,Xcursorgen这个包需要它的支持,所以要先安装上。
取得Libpng
代码:wget http://downloads.sourceforge.net/libpng/libpng-1.2.24.tar.bz2
代码:PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" ./configure $XORG_CONFIG &&
make &&
make install文档的安装,可以省去。
代码:install -v -m755 -d /usr/share/doc/libpng-1.2.24 &&
install -v -m644 README libpng-1.2.24.txt /usr/share/doc/libpng-1.2.24安装Xorg7/Apps
Apps是Xorg的一部分,主要是一些程序像启动Xorg的startx、时钟等。
先取得文件列表
HTML 代码:wget http://cblfs.cross-lfs.org/index ... lepath/App-7.3.wget然后解开全部的包
代码:for i in *.tar.bz2; do
tar xvf $i;
done最后开始编译
代码:for dir in `sed "s/.tar.bz2//g" ../App-7.3.wget`; do
cd ${dir} &&
PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" ./configure $XORG_CONFIG &&
make &&
make install &&
cd ..;
done这个列表是官方的列表,但是好像有点问题,我编译完Xorg并配置好了xorg.conf后输入startx发现居然没有startx这个命令,
只好手动编译了一次。至于Apps目录下的其它包没有试过,不知道是不是全部编译了。
安装Perl Module XML::Parser
这个是Xorg7/Data需要的支持,所以要先安装上,顺便说一下Perl Module XML::Parser需要Expat的支持,不过我们在前面已经安装过了.
取得XML-Parser-2.36.tar.gz
代码:wget
http://cpan.org/authors/id/M/MS/MSERGEANT/XML-Parser-2.36.tar.gz解压
代码:tar xvf XML-Parser-2.36.tar.gz进入刚才解压的目录运行下面的命令
代码:sed -i 's@@@g' Makefile然后开始编译,最后一个命令是做个测试。
代码:perl Makefile.PL &&
make &&
make test如果测试没有问题,就可以安装了。
代码:make install
安装Xorg7/Data
一共就两个包。
xcursor-themes的编译命令如下:
代码:PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" ./configure $XORG_CONFIG &&
make &&
make install
xkeyboard-config的编译命令如下:
代码:PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" ./configure $XORG_CONFIG \
--with-xkb-base=${XORG_PREFIX}/share/X11/xkb \
--with-xkb-rules-symlink=xorg --enable-compat-rules &&
make &&
make install
安装Xorg7/Fonts
38个字体,Xorg全是内置的
取得包列表
代码:wget http://cblfs.cross-lfs.org/index ... epath/Font-7.3.wget解开所有的包
代码:for i in *.tar.bz2; do
tar xvf $i;
done然后开始安装
代码:for dir in `sed "s/.tar.bz2//g" ../Font-7.3.wget`; do
cd ${dir} &&
sed -i 's:${libdir}/X11/fonts:/usr/share/fonts:g' configure &&
PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" ./configure $XORG_CONFIG &&
make &&
make install &&
cd ..;
done这个要花点时间,不过也不太长,可能是我的电脑慢了吧。
安装Pixman
因为Xorg7/Xserver需要它。
取得
代码:wget http://xorg.freedesktop.org/arch ... ixman-0.9.5.tar.bz2编译的命令基本上都是一样的
代码: PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" ./configure $XORG_CONFIG &&
make &&
make install安装Xorg7/Xserver这个是Xorg最主要的东东了,核心的家当全在这里了
先解压出来,然后打上补丁
代码:patch -Np1 -i ../xorg-server-1.4-paint_it_black-1.patch最后一行指定了Mesa的安装目录,如果你先前安装Mesa时没有吧源代码目录删除的话,这里可以指定它的位置,如果你已经安装了Mesa的话可以吧最后一行删除。
代码:sed -i '/xpconfigdir=/s@=.*@=$datadir/X11/xserver@' configure &&
sed -i '/-DXPRINTDIR/s/libdir/datadir/' hw/xprint/Makefile.in &&
./configure $XORG_CONFIG --enable-install-setuid \
--with-dri-driver-path="${XORG_PREFIX}/lib/xorg/modules/dri" \
--with-fontdir="/usr/share/fonts" \
--with-mesa-source="${PWD}/../Mesa-7.0.2"编译并安装它
代码:make &&
make install快完了,忍赖一下
安装Xorg7/Drivers主要是Xorg的驱动,可以选择你需要安装,别傻乎傻乎的全装了,因为哪没有什么用。
我只安装了下面三个驱动。
xf86-input-mouse
xf86-input-keyboard
xf86-video-nv
顺便说一下所有的驱动都是用下面的命令编译。
代码: PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" ./configure $XORG_CONFIG &&
make &&
make install
安装Xorg7/xterm
说实话,你可安装一个对中文支持更好的终端机,不过偶一般比较懒,所以直接用这个了
取得xterm
代码:wget ftp://invisible-island.net/xterm/xterm-231.tgz
代码: PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" ./configure $XORG_CONFIG \
--enable-wide-chars \
--with-app-defaults=${XORG_PREFIX}/share/X11/app-defaults &&
make
make install &&
make install-ti还有一个Xorg7/rman,这个东西很少用,基本上我都是开个终端看man的,所以没有安装。
配置XorgOK,需要编译的东西到这里基本上就完了,现在只需要配置一下就可以看见桌面了
做目录连接
代码: ln -sv ${XORG_PREFIX}/bin /usr/bin/X11
ln -sv ${XORG_PREFIX}/include/X11 /usr/include/X11
ln -sv ${XORG_PREFIX}/lib/X11 /usr/lib/X11回到用户目录,然后开始配置Xorg并生成一个名为xorg.conf.new的配置文件
代码: cd &&
Xorg -configure修改一下你的xorg.conf.new,具体内容自己改
然后使用新的配置文件启动X,如果没有问题,就可以安装到/etc/X11/目录中了
代码: X -config ~/xorg.conf.new
install -v -m755 -D ~/xorg.conf.new /etc/X11/xorg.conf完成,收工
安装一个桌面fluxbox,最喜欢它了,又小,又快,功能也不错。
取得fluxbox
代码:wget http://prdownloads.sourceforge.net/fluxbox/fluxbox-1.0rc2.tar.bz2编译命令:你可以不加上打开imlib2的参数,这样也可以正常编译,同时你也可以指定安装的位置到/usr/X11R7下面,都可以在这里指定。如果需要安装 imlib2的话,它将需要reeType、 libpng 、libjpeg包的支持,你也可以选择性的加上LibTIFF、GifLib、libid3tag这三个包
安装fluxbox
代码:./configure --prefix=/usr --enable-imlib2 &&
make
make installimlib2的编译命令
其它包的编译命令同fluxbox一样除不用指定--enable-imlib2
代码:CPPFLAGS="-I${XORG_PREFIX}/include" \
./configure --prefix=/usr &&
make
代码:cd
echo fluxbox>.xinitrc现在启动X吧,几秒钟以后你将会看到一个超简洁的桌面。