经过近四天的尝试,终于在虚拟机上完成了gnome-2.24.0的编译,用的是garnome工具,期间遇到了很多问题,不过通过google,终于解决了,知道了PKG_CONNFIG_PATH的含义,知道了linux怎么加载链接库,知道了怎么给gdm管理添加新的桌面,呵呵,先兴奋一下
总的来说,收获是很大的.希望大家都试试,对于linux的理解又多一层,只是看资料,很难记住.
准备过程,可以看一下gar.conf.mk,里面有下面一行
main_prefix ?= $(HOME)/garnome
默认是自己的家目录.可以修改一下,免的将来这个目录空间不够.
再有就是garnome/desktop编译完成后,会占用大概5.1G左右的空间,编译完成后的程序占用1.1G空间.刚开始,我就是因为空间不够用,到大概快完成时,空间用尽,只得换了个地方,重新开始.
编译过程:
首先在gnome网站上下载garnome-2.24.0.tar.bz2,解压后,可以看到里面的文件结构,由于我只是想看下新版的gnome桌面,所以进入到desktop文件夹下面,执行make paranoid-install,这个命令的意思是在编译过程中遇到错误就停下来,可以查看缺少的链接库或是程序,当有错误后,就去安装需要的软件包.当然也可以根据DEPS-LIST文件,先安装需要的软件包.在我的虚拟机上大约经过1天时间,编译完成.
在编译过程中,有时候命名安装了某个软件包,却还是找不到,没办法,网上查了下,说是PKG_CONNFIG_PATH没有定义,或是定义的不对,如何设置,可以参考下面网址
http://kangzai.blog.51cto.com/280080/84298
我遇到的主要是这个问题
还有一个就是musicbrainz包里面的源代码几个cpp有问题,可以手动修改一下,添加#include <string.h>
有一个需要添加
#include <string.h>
#include <memory.h>
下面就是如何启动这个新的桌面了.可以参考README文件中的两个脚本.不过,第一个脚本好像不用.直接把第二个脚本
- #!/bin/bash
- GARNOME=$HOME/garnome
- PATH=$GARNOME/bin:$PATH
- LD_LIBRARY_PATH=$GARNOME/lib:$LD_LIBRARY_PATH
- PYTHONPATH=$GARNOME/lib/python2.4/site-packages:$GARNOME/lib/python2.4/site-packages/gtk-2.0
- PKG_CONFIG_PATH=$GARNOME/lib/pkgconfig:/usr/lib/pkgconfig
- GDK_USE_XFT=1
- XDG_DATA_DIRS=$GARNOME/share
- XDG_CONFIG_DIRS=$GARNOME/etc/xdg
- MANPATH=$GARNOME/man:$MANPATH
- DBUS_LAUNCH="$GARNOME/bin/dbus-launch --exit-with-session"
- export PATH LD_LIBRARY_PATH PYTHONPATH PKG_CONFIG_PATH /
- GDK_USE_XFT XDG_DATA_DIRS XDG_CONFIG_DIRS MANPATH DBUS_LAUNCH
- exec $DBUS_LAUNCH $GARNOME/bin/gnome-session
保存成garnome-session,设定可执行属性,放到/sur/bin/下面,然后修改~/.xinitrc文件,如果没有,可以创建一个添加下面代码
如果编译前修改了gar.conf.mk中的main_prefix ?= $(HOME)/garnome,也需要修改GARNOME=$HOME/garnome为main_prefix 相应的位置
#!/bin/bash
exec garnome-session
下一步就是添加gdm中的桌面选项了
复制/usr/share/xsessions下面的gnome-desktop为gnome2.24-desktop,主要是为了和以前的那个相区别.
vim gnome2.24-desktop,修改下面这行
Name=gnome2.24
.
.
.
Exec=/usr/bin/garnome-session
保存
上面的Name就是以后显示到会话菜单中的名字.
然后重新启动桌面,就可以看到会话菜单中多了一个gnome2.24,选择,登录,2.24.0的桌面就出来了.
还有一个问题,在位置菜单选择主文件夹和桌面时,弹出"没有注册为处理此文件的应用程序",估计比较容易解决,还没查.