How to install Awesome WM without root access?
Posted
by
ssice
on Ask Ubuntu
See other posts from Ask Ubuntu
or by ssice
Published on 2011-03-09T00:40:01Z
Indexed on
2011/03/09
8:18 UTC
Read the original article
Hit count: 426
I want to install the Awesome window manager. In the environment where I want to configure it I don't have root access.
I do have a machine were I can be root (I use for this a virtual machine in my laptop).
I have tried the following:
$ sudo apt-get install awesome
The following packages are about to be installed:
awesome libev3 libid3tag0 libimlib2 liblua5.1-0 libxcb-icccm1 libxcb-image0
libxcb-keysyms1 libxcb-property1 libxcb-randr0 libxcb-xinerama0
libxcb-xtest0 libxdg-basedir1 menu rlwrap
Do you want to continue [Y/n]? n
I do now have the list of dependencies for awesome, so I downloaded them all. For that, I did the following.
$ pkgs="awesome libev3 libid3tag0 libimlib2 liblua5.1-0 libxcb-icccm1 libxcb-image0
libxcb-keysyms1 libxcb-property1 libxcb-randr0 libxcb-xinerama0
libxcb-xtest0 libxdg-basedir1 menu rlwrap" # this is just for not writing it all ;)
$ sudo apt-get install --download-only $pkgs
....
$ mkdir -p /tmp/x_debs
$ for pkg in $pkgs; do cp /var/cache/apt/archives/$pkg* /tmp/x_debs/; done
[ copies all *.deb from my dependencies to /tmp/x_debs ]
Now, I want to install the dependencies. For that, I setup a fake dpkg install in my home folder:
$ mkdir $HOME/root
$ mkdir -p $HOME/root/var/lib/dpkg/{triggers,updates}
$ touch $HOME/root/var/lib/dpkg/{available,status}
Now I tried to install with dpkg, but I could not:
$ dpkg --force-not-root --root=$HOME/root --recursive -i /tmp/x_debs
It failed while trying to set permissions for the packages and running chroot. As I do have root access in this machine, I ran it with privileges:
$ sudo dpkg --root=$HOME/root --recursive -i /tmp/x_debs
Then I had a lot of stuff (i.e., everything: dependencies and the own WM) installed inside $HOME/root
.
Particularly, xcb-* libraries were installed in $HOME/root/usr/lib
and the awesome binary in $HOME/root/usr/bin/awesome
.
If I try to execute awesome as is I get as an error that libraries could not be loaded.
That's normal, as they are not in /usr/lib nor in /lib. So I ran export LD_LIBRARY_PATH=$HOME/root/usr/lib:$HOME/root/lib:${LD_LIBRARY_PATH}
and awesome would try to load.
However, I could not make gdm to run awesome
within gnome or replacing it.
I did it this way so I can copy everything in my $HOME/root folder, paste it in the other machine and have it running. Is there any other way (to have less wasted space maybe..) to do this?
How can I tell gdm to exec awesome
without root access?
© Ask Ubuntu or respective owner