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: 385

Filed under:
|
|
|

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

Related posts about gnome

Related posts about gdm