656.1.1
by Neil Jagdish Patel
Add installation instructions |
1 |
Install |
2 |
-------------------------------------------------------------------------------- |
|
3 |
||
4 |
• Notes |
|
5 |
||
6 |
- libunity is an independant library which has a client side API for talking
|
|
7 |
to Unity. However it does not depend on the main Unity codebase and the |
|
8 |
main Unity codebase does not depend on it. |
|
9 |
||
10 |
- Unity and it's desktop environment modules are all modules of Compiz. We use
|
|
11 |
a patched version of Compiz which uses the GLib main loop instead of the |
|
12 |
custom Compiz main loop. This allows us to use GNOME libraries easily inside |
|
13 |
the Unity plugins. |
|
14 |
||
15 |
We are currently working on getting this patch upstreamed, but until then |
|
16 |
you will need to build this special version of Compiz. |
|
17 |
||
18 |
- libunity is written in Vala and the rest of Unity in C++/C.
|
|
19 |
||
20 |
- Unity depends on a library called Nux (lp:nux) which let's us do OpenGL
|
|
21 |
layouts quickly and efficiently. |
|
22 |
||
23 |
||
656.1.2
by Neil Jagdish Patel
fix typo |
24 |
• Dependencies |
656.1.1
by Neil Jagdish Patel
Add installation instructions |
25 |
|
26 |
These are in Debian package name form, but it should be easy enough to |
|
27 |
translate them to other systems: |
|
28 |
||
29 |
libglib2.0-dev libgdk-pixbuf2.0-dev libcairo2-dev libpng12-dev libglew1.5-dev |
|
30 |
libglewmx1.5-dev libxxf86vm-dev libgl1-mesa-dev libsigc++-2.0-dev |
|
31 |
libpango1.0-dev doxygen cmake pkg-config valac intltool libgee-dev |
|
32 |
libbamf-dev gsettings-desktop-schemas-dev libgconf2-dev libglib2.0-dev |
|
33 |
libdbusmenu-glib-dev libgtk2.0-dev libdee-dev libindicator-dev |
|
34 |
libboost-dev libboost-serialization-dev libmetacity-dev python-dev cython |
|
35 |
||
36 |
However, as with any project, it's probably best to just run autogen/cmake |
|
37 |
and figure out what you need/is missing. If your distro supports grabbing |
|
38 |
all the packages needed to build a package, then at least do that for |
|
39 |
Compiz, as I'm not going to detail everything it needs here. |
|
40 |
||
41 |
In case your distro isn't packaging all the Ayatana software, these links |
|
42 |
might come in handy: |
|
43 |
||
44 |
https://launchpad.net/dee |
|
45 |
https://launchpad.net/bamf |
|
46 |
https://launchpad.net/libindicator |
|
47 |
||
48 |
Also, although we don't hard depend on them, having a few indicators installed |
|
49 |
will make your experience better: |
|
50 |
||
51 |
https://launchpad.net/indicator-appmenu |
|
52 |
https://launchpad.net/indicator-application |
|
53 |
https://launchpad.net/indicator-network |
|
54 |
https://launchpad.net/indicator-sound |
|
55 |
https://launchpad.net/indicator-messages |
|
56 |
https://launchpad.net/indicator-datetime |
|
57 |
https://launchpad.net/indicator-me |
|
58 |
https://launchpad.net/indicator-session |
|
59 |
||
60 |
• Build Compiz GLib |
|
61 |
||
62 |
This is taken from http://wiki.ubuntu.com/Unity/InstallationGuideFromSource and |
|
63 |
was originally authored by Sam: |
|
64 |
||
65 |
core: |
|
66 |
||
67 |
git clone git://git.compiz.org/users/dbo/compiz-with-glib-mainloop |
|
68 |
cd compiz-with-glib-mainloop |
|
69 |
mkdir build |
|
70 |
cd build |
|
71 |
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity |
|
72 |
make |
|
73 |
sudo make findcompiz_install |
|
74 |
sudo make install |
|
75 |
||
76 |
exporting paths: |
|
77 |
||
78 |
export PKG_CONFIG_PATH=/opt/unity/lib/pkgconfig:${PKG_CONFIG_PATH} |
|
79 |
export LD_LIBRARY_PATH=/opt/unity/lib:${LD_LIBRARY_PATH} |
|
80 |
export LD_RUN_PATH=/opt/unity/lib:${LD_RUN_PATH} |
|
81 |
||
82 |
libcompizconfig: |
|
83 |
||
84 |
git clone git://git.compiz.org/compiz/compizconfig/libcompizconfig |
|
85 |
cd libcompizconfig |
|
86 |
mkdir build |
|
87 |
cd build |
|
88 |
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity |
|
89 |
make |
|
90 |
sudo make install |
|
91 |
||
92 |
compizconfig-python: |
|
93 |
||
94 |
git clone git://git.compiz.org/compiz/compizconfig/compizconfig-python |
|
95 |
cd compizconfig-python |
|
96 |
python setup.py install --prefix=/opt/unity |
|
97 |
||
98 |
ccsm: |
|
99 |
||
100 |
git clone git://git.compiz.org/compiz/compizconfig/ccsm |
|
101 |
cd ccsm |
|
102 |
python setup.py install --prefix=/opt/unity |
|
103 |
||
104 |
plugins-main: |
|
105 |
||
106 |
git clone git://git.compiz.org/compiz/plugins-main |
|
107 |
cd plugins-main |
|
108 |
git submodule init |
|
109 |
git pull origin master |
|
110 |
git submodule update |
|
111 |
mkdir build |
|
112 |
cd build |
|
113 |
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity |
|
114 |
make |
|
115 |
sudo make install |
|
116 |
||
117 |
plugins-extra: |
|
118 |
||
119 |
git clone git://git.compiz.org/compiz/plugins-extra |
|
120 |
cd plugins-extra |
|
121 |
git submodule init |
|
122 |
git pull origin master |
|
123 |
git submodule update |
|
124 |
mkdir build |
|
125 |
cd build |
|
126 |
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity |
|
127 |
make |
|
128 |
sudo make install |
|
129 |
||
130 |
||
131 |
• Build Nux |
|
132 |
||
133 |
bzr branch lp:nux |
|
134 |
cd nux |
|
135 |
./autogen.sh --disable-documentation --prefix=/opt/unity |
|
136 |
make |
|
137 |
sudo make install |
|
138 |
||
139 |
||
140 |
• Build Unity |
|
141 |
||
142 |
bzr branch lp:unity |
|
143 |
cd unity |
|
144 |
mkdir build; cd build |
|
145 |
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCOMPIZ_PLUGIN_INSTALL_TYPE=package -DCMAKE_INSTALL_PREFIX=/opt/unity |
|
146 |
make |
|
147 |
sudo make install |
|
148 |
||
149 |
• Cleanup |
|
150 |
||
151 |
unset PKG_CONFIG_PATH |
|
152 |
unset LD_LIBRARY_PATH |
|
153 |
unset LD_RUN_PATH |
|
154 |
||
155 |
||
156 |
• Testing |
|
157 |
||
158 |
add this to your /home/$USER/.bashrc |
|
159 |
||
160 |
function compiz-unity-setup-env |
|
161 |
{ |
|
162 |
export PATH=/opt/unity/bin:${PATH} |
|
163 |
export PYTHONPATH=/opt/unity/lib/python2.6/site-packages |
|
164 |
} |
|
165 |
||
166 |
Logout, login, then in a terminal do |
|
167 |
||
168 |
$ compiz-unity-setup-env |
|
169 |
$ compiz --replace cpp & |
|
170 |
$ ccsm |
|
171 |
||
172 |
And then use the CompizConfig Settings Window to search for and enable the Unity plugin! |
|
173 |
||
174 |
||
175 |
• Bugs |
|
176 |
||
177 |
If you find bugs in this installation guide or in Unity itself, please report them at |
|
178 |
https://launchpad.net/unity/+filebug |
|
179 |
||
180 |