红联Linux门户
Linux帮助

Ubuntu/UbuntuKylin上compiz,unity,nux整体开发环境搭建

发布时间:2016-05-09 11:01:02来源:ubuntukylin作者:handsome_feng

Linux系统最大的优点就是你可以无限制的去定制它,所谓无限制即不通过软件,而是直接修改源码,那么在Ubuntu/UbuntuKylin下,如何做呢?
首先介绍下Ubuntu/UbuntuKylin桌面环境三大组件:


compiz: 窗口管理器
wiki.compiz.org

unity: shell(桌面所见的Launcher, Panel, Dash, 锁屏等)
https://wiki.ubuntu.com/Unity

nux: opengl 工具包(unity用它来绘制界面)
https://launchpad.net/nux


下面是详细的环境搭建:
1.下载源码
创建主目录uk:
$ mkdir uk

进入uk目录:
$ cd uk

在当前目录分别下载compiz, unity, nux源码:
$ bzr branch lp:compiz
$ bzr branch lp:unity
$ bzr branch lp:nux

现在目录结构为:
uk
|--- compiz
|--- unity
|--- nux


2.安装软件依赖:
$ sudo apt-get update
$ sudo apt-get build-dep compiz unity nux


3.构建安装nux:
$ mkdir -p nux_install
$ cd nux_install $ export PREFIX=`pwd` $ cd ../nux $ ./autogen.sh --prefix=$PREFIX --enable-debug $ make && make install


4.构建安装compiz:
$ cd ../compiz
$ mkdir -p build && cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=`pwd` -DCMAKE_BUILD_TYPE=Debug
$ make & make install (如果电脑是多核的,可以用 make -j4 &  make -j4 install 来加速, 4表示4核)

如果你已经安装了依赖,但是还是遇到一些奇怪的链接错误,可以用ccmake关闭 BUILD_TESTING, BUILD_KDE4, BUILD_METACITY, CMAKE_BUILD_TESTING等这些选项:
$ cd ~/uk/compiz/build
$ ccmake ..   (cmake资料:http://linux.die.net/man/1/ccmake)

由于我们是要边开发边测试,所以将compiz安装在用户目录,现在先备份系统compiz库:
$ cd /usr/lib/x86_64-linux-gnu/ $ sudo mv compiz compiz_backup && mkdir compiz && cd compiz

将系统的库链接到本地目录:
$ ln -s ~/uk/compiz/build/lib/compiz/lib*.so .


5.构建安装unity:
$ cd ~/uk
$ mkdir -p install
$ cd install
现在目录结构是:
uk
|--- compiz
|         |--- build
|--- unity
|--- install
|--- nux
|--- nux_install

告诉unity寻找compiz, nux pkg-config的路径:
$ export PKG_CONFIG_PATH=/home/kylin/uk/nux_install/lib/pkgconfig:/home/kylin/uk/compiz/build/lib/pkgconfig (/home/kylin是用户目录,改成你自己的)
用ccmake配置编译参数:
$ ccmake ../unity
修改: BOOT_LOGGER 、CMAKE_INSTALL_PREFIX 、COMPIZ_COMPOSITE_LIB 、COMPIZ_LIB 、COMPIZ_OPENGL_LIB、GSETTINGS_LOCALINSTALL的值,最后结果如图:

Ubuntu/UbuntuKylin上compiz,unity,nux整体开发环境搭建

Ubuntu/UbuntuKylin上compiz,unity,nux整体开发环境搭建

设置完成后,按c配置, 按e退出帮助页面,按g产生配置文件同时退出。
然后在~/uk/install目录下执行:
$ make & make install (同样可以加参数 -jN)

然后创建一个软链接到本地产生的unity库:
$ sudo ln -s /home/kylin/uk/install/plugins/unityshell/libunityshell.so /usr/lib/x86_64-linux-gnu/compiz/libunityshell.so

最后我们进入~/uk/install,执行:
$ DISPLAY=:0 COMPIZ_CONFIG_VERSION=ubuntu PATH=~/uk/compiz/build/bin:~/uk/install/bin:$PATH  \
LD_LIBRARY_PATH=~/uk/compiz/build/lib/compiz:~/uk/install/lib:$LD_LIBRARY_PATH  \
LD_RUN_PATH=~/uk/compiz/build/lib/compiz:~/uk/install/lib:$LD_RUN_PATH  \
XDG_DATA_DIRS=~/uk/compiz/build/share:~/uk/install/share:$XDG_DATA_DIRS  \
PKG_CONFIG_PATH=~/uk/nux_install/lib/pkgconfig:~/uk/compiz/build/lib/pkgconfig:~/uk/install/lib/pkgconfig:$PKG_CONFIG_PATH  \
./bin/unity --compiz-path=~/uk/compiz/build/bin/compiz --replace ccp
整个桌面就被你刚编译出来的包替代了,接下来你就可以自由的去修改代码,然后在相应目录重新make & make install,再运行以上命令,就能看到自己修改的效果了。
你可以自由的修改窗口管理器,启动器,dash以及nux等。


6.如果出现问题,桌面不再显示等,可以ctrl + alt + F1 切到tty1,进入/usr/lib/x86_64-linux-gnu,恢复原来的compiz目录:
$ cd /usr/lib/x86_64-linux-gnu
$ sudo rm -rf compiz
$ sudo mv compiz_backup compiz

然后重启lightdm服务,重新登录:
$ sudo service lightdm restart

如果以上修改无效,重新安装compiz和unity吧:
$ sudo apt-get install unity --reinstall
$ sudo apt-get install compiz --reinstall


7.最后,毕竟修改的是整个桌面,风险还是挺大的,如果不愿意折腾的话,还是不要轻易尝试了。另外,其实也可以单独只修改unity,毕竟一般我们改改外观就很有成就感了。
具体方法可以去前面贴出的网站上找,最后,Good luck!


本文永久更新地址:http://www.linuxdiyf.com/linux/20472.html