Kompilieren und Ausführen von Awesome in einer Umgebung ohne Rootberechtigung
Ich möchte den Awesome Fenstermanager installieren . In der Umgebung, in der ich es konfigurieren möchte, habe ich keinen Root-Zugriff. Es ist eine gemeinsame Umgebung für alle Benutzer der Fakultät, in der ich studiere.
Ich bin in der Lage, eine virtuelle Maschine (die ich auch gemacht habe) auf meinem Laptop zu installieren, um an einem Ort root zu sein, in dem ich die Dinge einfacher erledigen kann.
In meinem Fall ist die Umgebung, in der ich den Fenstermanager ausführen möchte, ein Ubuntu, also habe ich diese Distribution in einer virtuellen Maschine installiert.
Ich habe folgendes versucht:
[vm]$ 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
Ich habe jetzt die Liste der Abhängigkeiten für awesome, also habe ich sie alle heruntergeladen. Dafür habe ich folgendes getan.
[vm]$ 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 ;) [vm]$ sudo apt-get install --download-only $pkgs .... [vm]$ mkdir -p /tmp/x_debs [vm]$ 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 ]
Nun möchte ich die Abhängigkeiten installieren. Dafür installiere ich eine gefälschte dpkg-Installation in meinem Home-Ordner:
[vm]$ mkdir $HOME/root [vm]$ mkdir -p $HOME/root/var/lib/dpkg/ [vm]$ touch $HOME/root/var/lib/dpkg/
Jetzt habe ich versucht, mit dpkg zu installieren, aber ich konnte nicht:
[vm]$ dpkg --force-not-root --root=$HOME/root --recursive -i /tmp/x_debs
Beim Versuch, Berechtigungen für die Pakete festzulegen und chroot auszuführen, ist ein Fehler aufgetreten. Da ich Root-Zugriff auf diesem Computer habe, habe ich ihn mit Privilegien ausgeführt:
[vm]$ sudo dpkg --root=$HOME/root --recursive -i /tmp/x_debs
Dann hatte ich eine Menge Sachen (dh alles: Abhängigkeiten und das eigene WM) eingebaut $HOME/root
. Insbesondere wurden xcb- * -Bibliotheken in $HOME/root/usr/lib
und die fantastische Binärdatei installiert $HOME/root/usr/bin/awesome
.
Wenn ich versuche, awesome auszuführen, bekomme ich als Fehler, dass Bibliotheken nicht geladen werden konnten. Das ist normal, da sie weder in / usr / lib noch in / lib liegen. Also lief ich export LD_LIBRARY_PATH=$HOME/root/usr/lib:$HOME/root/lib:$
und genial würde versuchen zu laden.
Ich konnte gdm jedoch nicht dazu bringen, awesome
innerhalb von gnome zu laufen oder es zu ersetzen.
Ich habe es auf diese Weise gemacht, damit ich alles in meinem $ HOME / root-Ordner kopieren, in den anderen Computer einfügen und ausführen lassen kann. Gibt es eine andere Möglichkeit (um weniger Platz zu verlieren ...), um dies zu tun?
Wie kann ich gdm exec awesome
ohne root-Zugriff mitteilen ?
Kann ich außerdem die verdammt hartcodierten Pfade auf Awesome problemlos durch Pfade ersetzen, die zu meiner Installation passen? Vorzugsweise mit der Umgebungsvariable $ HOME im Code.
0 Antworten auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
8
Laptop Standby unter Linux / Ubuntu
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
1
Wie kann ich von Ubuntu aus über das Netzwerk auf Windows Vista-Drucker zugreifen?
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
3
Kann ich Microsoft Office 2007 unter Ubuntu ausführen?