Menu

JDownloader 2 auf Debian 8 Server ohne GUI nutzen

Da auf meinem HP N40L sowieso ein Debian Server 24/7 läuft und meinen Mediaserver beherrbergt wollte ich diesen gleich als Downloadclient nutzen. Ich hatte zuerst pyload, einen in Python entwickelten webbasierten Downloadmanager getestet aber immer wieder mit Verbindungsabbrüchen zu kämpfen. Die zweite Idee war JDownloader. Allerdings läuft Debian bei mir ohne graphische Oberfläche was den Einsatz von JDownloader etwas schwierig gestaltet. Die Installation einer kompetten Desktopumgebung hielt ich für etwas überzogen und habe das Problem über VNC gelöst.

Zuerst installieren wir JDownloader. Dazu läd man sich das Installer-Script für Linux herunter und startet die Installation.

  1. wget http://installer.jdownloader.org/JD2Setup_x64.sh
  2. sh JD2Setup_x64.sh

Der Installationsprozess funktioniert auch in der Konsole einwandfrei. Es werden alle benötigten Paramter wie zum Beispiel der Installationspfad abgefragt und das wars dann auch schon. Ich habe JDownloader bei mir im vorgeschlagenen Pfad /usr/local/jd2 installiert.

Anschließend muss der VNC Server sowie der Fenstermanager Openbox installiert werden.

  1. sudo apt-get update
  2. sudo apt-get install vnc4server openbox

Optional kann man den VNC Server auch mit einem separaten Benutzer betreiben. Dieser wird mit dem Befehl useradd angelegt. Der Parameter -m sorgt dafür, dass direkt das home-Verzeichnis angelegt wird. Anschließend sollte noch ein Passwort gesetzt werden. Es besteht aber noch ein kleines Problem. JDownloader wurde als root installiert. Aus diesem Grund hat unser neuer Benutzer kein Zugriff auf den Installationspfad von JDownloader. Das führt dazu, dass keine Updates installiert werden können. Möchte man das ändern müssen nur die Rechte ein wenig angepasst werden.

  1. sudo useradd -m jdownload
  2. sudo passwd jdownload
  3. sudo chown -R jdownload /usr/local/jd2

Das Passwort für die Anmeldung am VNC Server muss separat vergeben werden. Dazu wechselt man zusert zu dem entsprechenden User und startet vncserver. Beim ersten Start wird man dazu aufgefordert ein Passwort festzulegen. Zusätzlich werden im home-Verzeichnis des Benutzers der Ordner .vnc und die Konfigurationsdateien erstellt. Anschließend kann die Sitzung wieder geschlossen werden.

  1. su - jdownload
  2. vncserver
  3. vncserver -kill :1
  4. exit

Als nächstes muss noch das Startup-Script angepasst werden damit JDownloader mit der Sitzung gestartet wird. Die Zeile x-terminal-emulator habe ich entfernt da nur JDownloader gestartet werden soll und ich das Terminal nicht benötige.

  1. sudo nano /home/jdownload/.vnc/xstartup
  2. =====================================
  3. #!/bin/sh
  4.  
  5. # Uncomment the following two lines for normal desktop:
  6. # unset SESSION_MANAGER
  7. # exec /etc/X11/xinit/xinitrc
  8.  
  9. [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
  10. [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
  11. xsetroot -solid grey
  12. vncconfig -iconic &
  13. x-window-manager &
  14. /usr/local/jd2/JDownloader2 &

Wenn man die Sitzung nicht bei jedem Serverneustart von Hand öffnen möchte muss noch ein Script für systemd angelegt werden. Im Script muss noch der Benutzername jdownload angepasst werden, wenn ihr einen anderen Benutzer verwenden wollt (danke Thomas für den Hinweis). Bei Bedarf könnte ihr auch noch den Parameter -geometry 1024x600 anpassen. Dieser regelt die Fenstergröße.

  1. sudo nano  /etc/systemd/system/vncserver@:1.service
  2. =================================================
  3. # The vncserver service unit file
  4. #
  5. # 1. Copy this file to /etc/systemd/system/vncserver@:<display>.service
  6. # 2. Edit User=
  7. #   ("User=foo")
  8. # 3. Edit  and vncserver parameters appropriately
  9. #   ("/usr/bin/vncserver %i -arg1 -arg2 -argn")
  10. # 4. Run `systemctl daemon-reload`
  11. # 5. Run `systemctl enable vncserver@:<display>.service`
  12. #
  13. # DO NOT RUN THIS SERVICE if your local area network is untrusted!
  14. #
  15. # See the wiki page for more on security
  16. # https://wiki.archlinux.org/index.php/Vncserver
  17.  
  18. [Unit]
  19. Description=Remote desktop service (VNC)
  20. After=syslog.target network.target
  21.  
  22. [Service]
  23. Type=forking
  24. # Clean any existing files in /tmp/.X11-unix environment
  25. ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
  26. ExecStart=/sbin/runuser -l jdownload -c "/usr/bin/vncserver %i -geometry 1024x600"
  27. PIDFile=/home/jdownload/.vnc/%H%i.pid
  28. ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
  29.  
  30. [Install]
  31. WantedBy=multi-user.target

Anschließend kann der Dienst gestartet werden.

  1. sudo systemctl daemon-reload
  2. sudo systemctl start vncserver@:1
  3. sudo systemctl enable vncserver@:1

Wir sind fertig :-) Jetzt kann man sich über servername:1 mit dem Server verbinden und JDownloader nutzen.

JDownloader 2 über VNC

Euch hat der Beitrag gefallen, ihr habt Fragen oder Anregungen? Hinterlasst mir einen Kommentar oder diskutiert im OSBN-Chat.

Kommentare

Linear Verschachtelt
Thomas

Thomas

Vielen Dank für das Tutorial! Hat mir sehr geholfen!
Habe es unter Ubuntu 15.10 durchgeführt. Hatte nur ein paar Fehler vom VNC-Server bekommen, z.B. die Codes "2", "29" oder "98". Lag dann daran, dass unter /tmp/ noch ein paar Lock-Files vorhanden waren, für die es aber keine VNC-Session mehr gab. Als ich die Files gelöscht hatte, lief es dann bzw. ich musste noch ein mal das service-Skript anpassen, da bei mir der User "jdownload" anders heißt ;-)

Robert Kaussow

Hi Thomas,
freut mich dass der Beitrag dir geholfen hat. Danke für den Hinweis mit dem Benutzernamen, das hatte ich vergessen :-) Ich habe es im Beitrag ergänzt.

Steffen

Steffen

Hallo.

Wenn ich dieses Tutorial abarbeite kann ich JD nicht unter der angegebenen Adresse erreichen servername:1 (bei mir debian.lan:1)

Robert Kaussow

Hi Steffen,

ist eventuell eine Firewall z. B. IPTABLES aktiv? Wenn du von einem Client ping debian.lan ausführst bekommst du die richtige Adresse zurück? Was gibt denn der Befehl systemctl status vncserver@:1aus? Ist der grün?

Flo

Flo

Habe genau das gleiche Problem. Status ist grün und Server antwortet auf Ping.

Robert Kaussow

Hi Flo,
sehr komisch. Hast du eventuell eine Firewall z. B. IPTABLES oder SELINUX aktiv? An sonsten kann ich das Ganze morgen nochmal testen, wenn ich dazu komme.

Anonym

Super Anleitung doch leider bekomme ich die Meldung
sudo: systemctl: command not found

Ich verwende ubuntu-14.04.3-server-amd64

Robert Kaussow

Hi,
das ist auch kein Wunder :-) Der Befehl systemctl ist ausschließlich für das Init-System 'systemd' vorgesehen. Ubuntu 14 verwendet so weit ich weiß aber Upstart. Dafür gibt es den Befehl 'service DIENSTNAME [OPTION]' allerdings benötigst du dafür auch ein komplett anderes Init-Script.
Viele Grüße

Anonym

habe debian installiert hat leider dennoch nicht funktioniert. Jdownloader war nicht sichtbar über VNC

Robert Kaussow

Hast du die Datei /home/jdownload/.vnc/xstartup richtig angepasst? Wichtig ist der Pfad zur Jdownloader Installation '/usr/local/jd2/JDownloader2 &' Wenn du es in einem anderen Pfad installiert hast musst du den natürlich im Script anpassen.

ichbinder

ichbinder

Hallo,

ich glaube das es wichtig ist das man das Start Skript noch ausführbar macht mit:

sudo chmod +x ~/.vnc/xstartup

Anonym

Ja ich hatte das genau wie du gemacht

Anonym

Hat jemand ein Upstartscipt für den Systemstart und kann es zur Verfügung stellen?

Jan

Jan

Hey,

danke für das Tutorial, genau sowas habe ich gebraucht :-)

Leider kann ich den Server nicht starten.
In den Logs kommt die Meldung:

vncserver@:1.service never wrote its PID file. Failing.

Ich habe das Tut 1-zu-1 durchgeführt, habe ich was übersehen?
Außerdem: Um in Putty eine Session zu öffnen, muss ich nur den Server über Port 1 ansprechen und und X11 Forwarding aktivieren, richtig?


Danke im voraus für die Hilfe!

Jan

Jan

Okay, ich konnte mein Problem selbst lösen: Offensichtlich habe ich den Schritte

su - jdownload
vncserver
vncserver -kill :1
exit

Nicht korrekt ausgeführt. Zusätzlich fehlten wohl noch einige Fonts, die ich mit apt-get install xfonts-base nachinstallieren musste.

Für einen VNC-Noob und Windows Nutzer wie mich wäre auch noch eine Erklärung hilfreich gewesen, wie ich nun den jDownloader öffnen kann. Da hat mir dann das folgende Tutorial geholfen: https://crl.ucsd.edu/handbook/vnc/

Antwort ,

Robert Kaussow

Danke für deine Rückmeldung. Ich werds im Beitrag ergänzen :-)

Antwort ,
Thomas

Thomas

Hallo!
Hab es nach dem Tutorial Gemacht. Wenn ich mich mit TightVNC bzw. VNC Viewer einlogge hab ich nur n graues bild. was hab ich falsch gemacht?

Spyer

Spyer

Hallo,

erstmal vielen Dank für die tolle Anleitung.
Leider habe ich auch ein graues Bild nach der Anmeldung.
Woran kann das liegen?

Robert Kaussow

Hi,

da kann ich leider spontan nicht helfen, sorry... Wenn ich die Zeit finde werde ich die Installation aber nochmal auf einem frisch installierten Debian testen.

Viele Grüße

Anonym

Hallo
Hast Du es ausprobiert?
Ich habe nämlich dasselbe Problem. Mein Bild ist grau

Robert Kaussow

Hi,
leider noch nicht. Sorry...

Andrea

Andrea

Hallo
geht das auch für den Bananapi mit Armbian,
das basiert ja auf Debian Jessie?
mfg andy

Robert Kaussow

Hi Andy,
ja das sollte theoretisch mit allen Debian sowie Ubuntu Derivaten gehen. Allerdings ist irgendwo im Tutorial glaube ein Fehler. Zumindest hat es bei einigen Lesern nicht funktioniert. Ich hatte allerdings noch nicht die Zeit das nochmal durch zu testen. Würde mich also über ein Feedback freuen :-)

erdo_king

erdo_king

Super Anleitung! Habs auf einem Debian 9 zum rennen bekommen (Tipp: mit Guacamole kombinieren ;-) )

Für alle die Probleme mit "grauem Bild" haben mal einen Blick in /home/jdownload/.vnc/jdownloader\:1.log werfen! (ggf. .vnc/jdownloader:1.log, ohne \:).

Bei mir hatte der jDownloader ein java-Problem:
java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper

Lösung hier:
https://solveme.wordpress.com/2017/07/24/java-awt-awterror-assistive-technology-not-found-org-gnome-accessibility-atkwrapper-when-running-jasper-reports/

Bitte in die Anleitung aufnehmen!

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht veröffentlicht, sondern nur für eventuelle Benachrichtigungen verwendet.
Die Formatierung der Kommentare ist über Markdown möglich.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Gravatar Autoren-Bilder werden unterstützt.
Markdown-Formatierung erlaubt