Serverdienste zu hosten, die vorher auf dem normalen Desktop liefen, ist ja typischerweise die Hauptaufgabe für einen Heimserver. Bei mir ist der wichtigste Dienst in der Hinsicht RetroShare, denn das Programm ist doch wesentlich weniger praktisch, wenn die Netzwerkmitglieder nur sporadisch online sind. Doch stellt RetroShare sträflicherweise keine Serverversion zur Verfügung - zumindest keine, die funktioniert, die nogui-Version wird derzeit nicht gepflegt. Daher wird in der folgenden Anleitung (die auf dieser Quelle basiert) RetroShare in xvfb gestartet, einem virtuellen XServer.
Vorbereitung
Ich gehe davon aus, dass Arch installiert wurde und läuft.
Retroshare liegt leider nicht in den Quellen. Damit die Kompilierung durchläuft, muss genug Swap vorhanden sein, die 256 MB Ram reichen nicht aus. Bei der Installation wurde die Swappartition nicht eingebunden. Das kann man nachholen mit einem
swapon /dev/sda2
Um das dauerhaft zu machen, muss diese Zeile in die /etc/fstab eingetragen werden:
/dev/sda2 none swap 0 0
Kompilieren
Die Kompilierung sollte problemlos nach der Anleitung ablaufen:
Die benötigten Pakete installieren:
pacman -S make qconf polarssl libupnp libgpg-error gpgme gcc libgnome-keyring libxss svn
Quellcode holen und kompilieren:
cd ~
svn co svn://svn.code.sf.net/p/retroshare/code/trunk retroshare
cd ~/retroshare/libbitdht/src && qmake && make clean && make
cd ~/retroshare/openpgpsdk/src && qmake && make clean && make
cd ~/retroshare/libretroshare/src && qmake && make clean && make
cd ~/retroshare/retroshare-gui/src && qmake && make clean && make
Wenn RetroShare einfach nur umziehen soll, kann man jetzt ~/.retroshare und ~/.gnupg auf den Pogo kopieren. Vom Client aus mit sftp:
sftp root@IP_VOM_POGO
mkdir .retroshare
mkdir .gnupg
put -r .retroshare
put -r .gnupg
X starten
Nun muss noch X und der VNC-Server gestartet werden. Zuerst die nötigen Pakete installieren, statt icewm genügt natürlich auch jeder andere kleine Fenstermanager:
pacman -S xorg-server-xvfb icewm x11vnc xterm
Dann muss X und der VNC-Server gestartet werden, ich habe mir dafür ein Skript startvncX.sh angelegt:
#!/bin/sh
/usr/bin/Xvfb :1 -extension GLX -extension RANDR -fp /usr/share/fonts/misc -screen 0 1024x768x16 &
export DISPLAY=:1
/usr/bin/icewm-session &
/usr/bin/x11vnc -display :1 -bg -many -nopw -xkb -forever -passwd PASSWORD &
Per VNC verbinden
Jetzt läuft X im Hintergrund. Von dem Desktoprechner aus kann ein VNC-Client sich verbinden und den XServer anzeigen. Das einzige Programm, welches das bei mir hinbekommen hat, ist Reminna und sollte in den Quellen liegen.
Auf dem Server sollte nun noch ein passender Nutzer angelegt werden, damit RetroShare nicht als root läuft:
useradd -m retroshare
passwd retroshare
cp -R ~./retroshare /home/retroshare/
cp -R ~./gnupg/home/retroshare/
Daraufhin kann RetroShare gestartet und im Hintergrund laufen gelassen werden:
su retroshare
~/retroshare/retroshare-gui/src/RetroShare
Ich werde beobachten, ob es wirklich nötig ist, das Programm täglich neuzustarten damit es den Speicher nicht zumüllt.