构建Linux系统之实现Gnome桌面

3.3基于Ubuntu实现Gnome桌面

GNOME GNU 网络对象模型环境(The GNU Network Object Model Environment)的简称,目标是基于自由软件,为Unix或者类Unix操作系统构造一个功能完善、操作简单以及界面友好的桌面环境,是GNU计划的正式桌面[22]

安装 Gnome 的过程非常繁杂和耗时,读者可以选择使用 GARNOME jhbuild 等工具来自动化编译安装 Gnome[23],但由于笔者是第一次构建 Gnome 桌面系统,想更多的了解其中的原理和机制,所以选择了手动从源码来构建。

我们选择安装GNOME-2.18.3,如果选择将其作为我们的正式桌面,则将其安装到 /usr 目录下;如果想将来移除 gnome 或者升级新的版本,可以将其装到 /opt/gnome-2.18.3 目录下,使用 rm -rf /opt/gnome-2.18.3 命令便可将GNOME-2.18.3 移除。我们选择将 gnome 安装到 /opt/gnome-2.18.3 目录下。

3.3.1安装前的配置

现在我们设置一些环境变量对 gnome 进行安装前的配置。我们将这些环境变量写到 /etc/profile 文件中,这样重启机器后这些变量就会自动生效,不用再手动声明。

代码:

install -v -m755 -d /opt/gnome-2.18.3

ln -vs /opt/gnome-2.18.3 /opt/gnome

echo 'export GNOME_PREFIX=/opt/gnome' >> /etc/profile

echo 'export PATH=$PATH:/opt/gnome/bin' >> /etc/profile

echo 'export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfig' >> / /etc/profile

echo 'export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/gnome/lib/pkgconfig' >> / /etc/profile 

echo 'export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/gnome/share/pkgconfig' >> / /etc/profile

echo 'export GNOME_LIBCONFIG_PATH=/usr/lib:/opt/gnome/lib' >> /etc/profile

echo '/opt/gnome/lib' >> /etc/ld.so.conf

cat >> /etc/man_db.conf << "EOF"

MANDATORY_MANPATH /opt/gnome/share/man

EOF

source /etc/profile

cd /blfs-package/Gnome

可以看到,我们建立了一个符号链接 /opt/gnome,该链接中不带版本号,这样可以很方便地将将该链接指向其他版本;然后我们声明了PATHPKG_CONFIG_PATHGNOME_LIBCONFIG_PATH 变量,并修改和创建了 /etc/ld.so.conf/etc/man_db.conf 文件。

从现在开始到 gnome 制作结束,如果重启的话恢复工作状态的步骤为:

1.重启进入Ubuntu,开启 bash

2.加载分区

export LFS=/mnt/lfs

sudo mkdir -pv $LFS

sudo mount -v -t ext3 /dev/sda3 $LFS

3.加载必要的文件系统

sudo mount -v --bind /dev $LFS/dev

sudo mount -vt devpts devpts $LFS/dev/pts

sudo mount -vt tmpfs shm $LFS/dev/shm

sudo mount -vt proc proc $LFS/proc

sudo mount -vt sysfs sysfs $LFS/sys

4.Chroot到目标系统下

sudo chroot "$LFS" /usr/bin/env -i /

HOME=/root TERM="$TERM" PS1='/u:/w/$ ' /

PATH=/bin:/usr/bin:/sbin:/usr/sbin /

/bin/bash --login

5.进入编译目录

cd /blfs-package/Gnome  

 

3.3.2安装Gnome桌面系统

我们按表 3.3 中步骤来构建 Gnome 桌面系统,具体代码见光盘附件《基于UbuntuLFS方法构建Linux操作系统代码及注释》相应部分,本部分的构建过程主要参照了《Beyond Linux® From Scratch Version 6.3》,某些步骤的解释说明参考了《Beyond Linux From Scratch 版本 1.0(dooom等译)

 

3.3  构建 Gnome 桌面系统步骤

要编译安装的包或步骤

相关步骤的解释说明

GLib-2.12.12

glib软件包包含了底层的核心库。它为 C 提供了数据结构, 为那些运行中的函数,像事件循环(event loop),多线程(threads),动态加载(dynamic loading)和对象系统(object system)提供可移植的包装和接口。

LibIDL-0.8.8

libIDL 包括界面定义语言的库,是一个定义可移植界面的规范。

UnZip-5.52

unzip软件包包含ZIP 扩展工具,用于解压ZIP的档案文件。

DocBook XML DTD-4.5

The DocBook XML DTD-4.5 package contains document type definitions for verification of XML data files against the DocBook rule set. These are useful for structuring books and software documentation to a standard allowing you to utilize transformations already written for that standard.

DocBook XSL

Stylesheets-1.71.1

DocBook XSL Stylesheets 包包含XSL stylesheets,用来转换 XML DocBook 文件。

ScrollKeeper-0.3.14

scrollkeeper 包括一个文档编目系统,用来管理文档元数据并提供一个API来帮助浏览器来搜索,排序 文档目录。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值