JDownloader Community - Appwork GmbH
 

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 27.05.2014, 18:40
Enqueue90
Guest
 
Posts: n/a
Post HowTo: JDownloader2 on Server/NAS Systems

GhostAWT is no longer needed in order to run headless, Please read this post http://board.jdownloader.org/showthr...156#post307156 for more information. -raztoki

Introduction
The last few weeks I did some development to make JDownloader run on server and NAS systems which do not have any XServer installed. This HowTo will explain how you can get JDownloader running without Graphical User Interface.

Short Version (for pro users)
  1. Copy an existing JDownloader2 installation from a desktop system to your server system or NAS. Be sure to setup My.JDownloader before copying the files.
  2. Add GhostAWT to your JDownloader installation using the following commands (check "**External links are only visible to Support Staff** for the latest release)
    Code:
    cd /tmp
    wget **External links are only visible to Support Staff**tar xzfv 0.0.1.tar.gz
    mkdir /path/to/jdownloader2/libs/ghostawt
    cp -r GhostAWT-0.0.1/dist/* /path/to/jdownloader2/libs/ghostawt
  3. Start JDownloader using this command (adjust linux32 to match your platform).
    Code:
    java -Dghostawt.library.path=libs/ghostawt/linux32 -cp "./*:libs/*:libs/ghostawt/*" ghostawt.GhostRunner org.jdownloader.startup.Main
  4. Log into My.JDownloader and adjust the download folder there.
  5. Start Downloading.

Long Version (for average users)

1. Create JDownloader Package

1.1 Get Package
As a first step we need to build a JDownloader2 package for our system. Currently JDownloader2 is only available as special offline installer packages. The problem: This installer might not run on server systems without a UI and it’s only available for x86/x64 systems.
http://jdownloader.org/download/offline
For me the offline installer worked on an Ubuntu 32bit Server installation, but it didn’t work on my Synology NAS. To keep this HowTo simple, I will describe another solution:

Simply install JDownloader on your normal desktop PC by grabbing the JDownloader2 installer from the link above.

1.2 Configure Package
Start JDownloader on your desktop and let it update to the latest version. Since we won’t have a UI on our server system we should configure our JDownloader on our desktop. Open the settings and configure it the way you like. Here are some recommended settings for server systems:
  • User Interface
    • Enable Silent Mode
  • Bubble Notify
    • Show Bubbles if Never
  • Tray Icon
    • Uncheck Enabled

The most important thing is to setup your My.JDownloader settings. It will be the only way to control JDownloader.

1.3 Copy Package
Once your JDownloader is ready go into your JDownloader installation directory and copy all files to your server system. Do not copy the JRE directory, we won’t use the Java Runtime installed with JDownloader.

2. Run JDownloader using GhostAWT

Now we need to get JDownloader running on our environment. The problem is: If we start JDownloader normally, it will just crash because there’s no GUI. This is where GhostAWT comes in place. It’s a platform implementation of AWT and Java2D which makes Java believe there’s a UI available. If Java tries to create a window or do any graphical operations, GhostAWT will simply do nothing instead of crying no XServer is installed.

Let’s download GhostAWT and copy it into JDownloader. Head to "**External links are only visible to Support Staff** and copy the link of the latest Source code tar.gz. On our server system we download the file, extract it, and copy the files of the dist directory to our JDownloader installation:

Code:
cd /tmp
wget **External links are only visible to Support Staff**tar xzfv 0.0.1.tar.gz
mkdir /path/to/jdownloader2/libs/ghostawt
cp -r GhostAWT-0.0.1/dist/* /path/to/jdownloader2/libs/ghostawt
The command to start JDownloader using GhostAWT is:

Code:
java -Dghostawt.library.path=libs/ghostawt/synology-marvell-armada-370 -cp "./*:libs/*:libs/ghostawt/*" ghostawt.GhostRunner org.jdownloader.startup.Main
Replace synology-marvell-armada-370 with the correct platform of your system. I recommend to create a new shell script with this startup command.
In the first release of GhostAWT x86 linux systems (linux32) and Synology Marvell Armada 370 ARM (synology-marvell-armada-370) are available. If GhostAWT does not support your platform you should try compiling it for your platform on your own or create a new issue on "**External links are only visible to Support Staff**

3. My.JDownloader Settings
After starting JDownloader you should able to log in into My.JDownloader and see the connected device there. Before downloading any files you should go to the settings tab and open the „Advanced Config“.

There enter „Default Download Folder“ into the search box and set adjust the path to match your desired download location. I copied my Windows installation to my Synology Diskstation, that’s why a Windows File System Path was set. Make it fit your needs.

Enter „Browser Command Line“ into into the search box and click reset there. I also had some Windows specific stuff there.

4. Fin
Everything is done and ready for downloading. Enjoy your server/NAS JDownloader. If you encounter any problems feel free to ask here.

Last edited by raztoki; 18.09.2014 at 13:50. Reason: bypassed url obstruction
Reply With Quote
  #2  
Old 06.06.2014, 15:57
Guims Guims is offline
JD VIP
 
Join Date: Jan 2014
Posts: 478
Default

Hello Enqueue90,

Thx for GhostAWt it's a nice tricks.
Actually i use JD2 with Debian Linux 7.5 ( wheezy ) x86_64.
I understand that ghostAWT was not compiled as a 32bit linux OS.
Is it possible to have it for 64bit.

Currently I run through JD2 XFVB but your trick seem to me much more interesting.

Thx for ur work
Reply With Quote
  #3  
Old 06.06.2014, 23:35
Enqueue90
Guest
 
Posts: n/a
Default

Hi Guims.

I just uploaded new release (v0.0.2) containing 64bit binaries for Linux. I didn't test it but they should work.

Cheers
Reply With Quote
  #4  
Old 07.06.2014, 03:05
wougzy
Guest
 
Posts: n/a
Default

i just installed that on my old cubox with archlinuxarm and it works great!
combined with systemd service it's perfect
good job sir! (:

Last edited by wougzy; 07.06.2014 at 13:58.
Reply With Quote
  #5  
Old 11.06.2014, 10:59
frankowich
Guest
 
Posts: n/a
Default

thanks for your helpful information
Reply With Quote
  #6  
Old 11.06.2014, 12:19
Guims Guims is offline
JD VIP
 
Join Date: Jan 2014
Posts: 478
Default

I'll try today or tomorrow.

Thx for support
Reply With Quote
  #7  
Old 12.06.2014, 14:05
Guims Guims is offline
JD VIP
 
Join Date: Jan 2014
Posts: 478
Default

Hello Enqueue90,

I just tested the new version of GhostAWt but JD2 crash at startup.
I post my log if it can help you:
Spoiler:
------------------------Thread: 1:JDownloader.log-----------------------
--ID:1TS:1402570525867-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> awt.toolkit=ghostawt.GhostToolkit
--ID:1TS:1402570525867-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> file.encoding=UTF-8
--ID:1TS:1402570525867-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> file.encoding.pkg=sun.io
--ID:1TS:1402570525867-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> file.separator=/
--ID:1TS:1402570525867-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> ftpStyle=new
--ID:1TS:1402570525867-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> ghostawt=true
--ID:1TS:1402570525867-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> ghostawt.library.path=libs/ghostawt/linux64
--ID:1TS:1402570525867-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.awt.graphicsenv=ghostawt.image.GhostGraphicsEnvironment
--ID:1TS:1402570525867-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.awt.headless=false
--ID:1TS:1402570525868-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.awt.printerjob=sun.print.PSPrinterJob
--ID:1TS:1402570525868-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.class.path=./JDownloader.jar:./Core.jar:libs/swingworker.jar:libs/swfutils.jar:libs/JDGUI.jar:libs/proxyVole.jar:libs/jackson-mapper.jar:libs/Dynamics.jar:libs/image4j.jar:libs/sevenzipjbindingLinux.jar:libs/svnkit.jar:libs/jna.jar:libs/irclib.jar:libs/JDUtils.jar:libs/savemytube.jar:libs/asc.jar:libs/JAntiCaptcha.jar:libs/jackson-core.jar:libs/jna_platform.jar:libs/htmlunit-core-js.jar:libs/js.jar:libs/sevenzipjbinding.jar:libs/bcprov-jdk15on-147.jar:libs/Filters.jar:libs/cons.jar:libs/JDHttp.jar:libs/ghostawt/ghostawt.jar
--ID:1TS:1402570525868-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.class.version=51.0
--ID:1TS:1402570525868-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.endorsed.dirs=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/endorsed
--ID:1TS:1402570525868-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.ext.dirs=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext
--ID:1TS:1402570525868-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.home=/usr/lib/jvm/java-7-openjdk-amd64/jre
--ID:1TS:1402570525868-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.io.tmpdir=/tmp
--ID:1TS:1402570525868-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.library.path=/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib
--ID:1TS:1402570525868-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.net.preferIPv4Stack=true
--ID:1TS:1402570525868-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.runtime.name=OpenJDK Runtime Environment
--ID:1TS:1402570525868-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.runtime.version=1.7.0_55-b14
--ID:1TS:1402570525868-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.specification.name=Java Platform API Specification
--ID:1TS:1402570525868-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.specification.vendor=Oracle Corporation
--ID:1TS:1402570525868-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.specification.version=1.7
--ID:1TS:1402570525869-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.util.Arrays.useLegacyMergeSort=true
--ID:1TS:1402570525869-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.util.logging.manager=org.jdownloader.logging.ExtLogManager
--ID:1TS:1402570525869-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.vendor=Oracle Corporation
--ID:1TS:1402570525869-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.vendor.url=http://java.oracle.com/
--ID:1TS:1402570525869-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.vendor.url.bug=**External links are only visible to Support Staff** --ID:1TS:1402570525869-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.version=1.7.0_55
--ID:1TS:1402570525869-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.vm.info=mixed mode
--ID:1TS:1402570525869-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.vm.name=OpenJDK 64-Bit Server VM
--ID:1TS:1402570525869-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.vm.specification.name=Java Virtual Machine Specification
--ID:1TS:1402570525869-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.vm.specification.vendor=Oracle Corporation
--ID:1TS:1402570525869-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.vm.specification.version=1.7
--ID:1TS:1402570525869-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.vm.vendor=Oracle Corporation
--ID:1TS:1402570525869-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java.vm.version=24.51-b03
--ID:1TS:1402570525869-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> java2d.font.usePlatformFont=true
--ID:1TS:1402570525870-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> jd.randomNumber=-933869083619522406
--ID:1TS:1402570525870-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> jd.revision.appworkutilsrevision=2085
--ID:1TS:1402570525870-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> jd.revision.jdbrowserrevision=25750
--ID:1TS:1402570525870-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> jd.revision.jdownloaderrevision=25876
--ID:1TS:1402570525870-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> jd.revision.jdownloaderserveroptionsrevision=2172
--ID:1TS:1402570525870-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> jd.revision.jdownloaderupdaterrevision=2401
--ID:1TS:1402570525870-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> jd.revision.myjdownloaderclientrevision=25659
--ID:1TS:1402570525870-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> jd.revision.updateclientv2revision=405
--ID:1TS:1402570525870-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> line.separator=

--ID:1TS:1402570525870-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> org.jdownloader.revision=JDownloader2(Beta)
--ID:1TS:1402570525870-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> os.arch=amd64
--ID:1TS:1402570525870-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> os.name=Linux
--ID:1TS:1402570525870-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> os.version=3.2.0-4-amd64
--ID:1TS:1402570525871-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> path.separator=:
--ID:1TS:1402570525871-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> sun.arch.data.model=64
--ID:1TS:1402570525871-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> sun.boot.class.path=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/netx.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/plugin.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rhino.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jfr.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/classes
--ID:1TS:1402570525871-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> sun.boot.library.path=libs/ghostawt/linux64:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64
--ID:1TS:1402570525871-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> sun.cpu.endian=little
--ID:1TS:1402570525871-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> sun.cpu.isalist=
--ID:1TS:1402570525871-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> sun.font.fontmanager=ghostawt.sun.GFontManager
--ID:1TS:1402570525871-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> sun.io.unicode.encoding=UnicodeLittle
--ID:1TS:1402570525871-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> sun.java.command=ghostawt.GhostRunner org.jdownloader.startup.Main
--ID:1TS:1402570525871-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> sun.java.launcher=SUN_STANDARD
--ID:1TS:1402570525871-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> sun.jnu.encoding=UTF-8
--ID:1TS:1402570525871-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> sun.management.compiler=HotSpot 64-Bit Tiered Compilers
--ID:1TS:1402570525871-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> sun.os.patch.level=unknown
--ID:1TS:1402570525871-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> sun.swing.enableImprovedDragGesture=true
--ID:1TS:1402570525872-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> user.country=FR
--ID:1TS:1402570525872-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> user.dir=/usr/local/jd2
--ID:1TS:1402570525872-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> user.home=/root
--ID:1TS:1402570525872-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> user.language=fr
--ID:1TS:1402570525872-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> user.name=root
--ID:1TS:1402570525872-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> user.timezone=Europe/Paris
--ID:1TS:1402570525873-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> JavaVersion=17055014
--ID:1TS:1402570525901-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> VMArgs: [-Dghostawt.library.path=libs/ghostawt/linux64]
--ID:1TS:1402570525903-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> MaxMemory=675086336bytes (643Megabytes)
--ID:1TS:1402570525903-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> JDownloader2
--ID:1TS:1402570525917-12/06/14 12:55:25 - [jd.SecondLevelLaunch(mainStart)] -> Jared Version(23381)
--ID:1TS:1402570526009-12/06/14 12:55:26 - [jd.SecondLevelLaunch(go)] -> Initialize JDownloader2
------------------------Thread: 13:JDownloader.log-----------------------
--ID:13TS:1402570526234-12/06/14 12:55:26 - [jd.SecondLevelLaunch$10(edtRun)] -> LAF INIT
--ID:13TS:1402570526316-12/06/14 12:55:26 - [jd.gui.swing.laf.LookAndFeelController(setUIManager)] -> Use Look & Feel: org.jdownloader.gui.laf.jddefault.JDDefaultLookAndFeel
--ID:13TS:1402570526457-12/06/14 12:55:26 - [org.appwork.swing.synthetica.SyntheticaHelper(init)] -> Utils>JDownloader.log>LaF init: org.jdownloader.gui.laf.jddefault.JDDefaultLookAndFeel
--ID:13TS:1402570526477-12/06/14 12:55:26 - [org.appwork.txtresource.TranslationHandler(createTranslationResource)] -> Utils>JDownloader.log>Load Translation file:/usr/local/jd2/translations/org/appwork/swing/synthetica/LanguageFileSetup.fr.lng
--ID:13TS:1402570526478-12/06/14 12:55:26 - [org.appwork.txtresource.TranslationHandler(createTranslationResource)] -> Utils>JDownloader.log>Load Translation file:/usr/local/jd2/translations/org/appwork/swing/synthetica/LanguageFileSetup.en.lng
--ID:13TS:1402570526485-12/06/14 12:55:26 - [org.appwork.storage.JsonKeyValueStorage(<init>)] -> Utils>JDownloader.log>Prefer (merged) JSon Storage from File: /usr/local/jd2/cfg/org.appwork.swing.synthetica.SyntheticaSettings.json
--ID:13TS:1402570526490-12/06/14 12:55:26 - [org.appwork.storage.config.handler.StorageHandler(<init>)] -> Utils>JDownloader.log>Init StorageHandler for Interface:org.appwork.swing.synthetica.SyntheticaSettings|Path:/usr/local/jd2/cfg/org.appwork.swing.synthetica.SyntheticaSettings
--ID:13TS:1402570527509-12/06/14 12:55:27 - [org.appwork.swing.synthetica.SyntheticaHelper(init)] -> Utils>JDownloader.log>LAF Init duration: 1052ms
--ID:13TS:1402570527595-12/06/14 12:55:27 - [jd.gui.swing.laf.LookAndFeelController(setUIManager)] -> LAF init: 1279
--ID:13TS:1402570527603-12/06/14 12:55:27 - [jd.SecondLevelLaunch$12(edtRun)] -> InitGUI->2467
--ID:13TS:1402570530305-12/06/14 12:55:30 - [] -> java.lang.ExceptionInInitializerError
at org.jdownloader.gui.views.downloads.DownloadsPanel.<init>(DownloadsPanel.java:115)
at org.jdownloader.gui.views.downloads.DownloadsView.<init>(DownloadsView.java:16)
at jd.gui.swing.jdgui.JDGui.initComponents(JDGui.java:511)
at jd.gui.swing.jdgui.JDGui.<init>(JDGui.java:233)
at jd.gui.swing.jdgui.JDGui.<init>(JDGui.java:145)
at jd.gui.swing.jdgui.JDGui$34.edtRun(JDGui.java:1797)
at jd.gui.swing.jdgui.JDGui$34.edtRun(JDGui.java:1793)
at org.appwork.utils.swing.EDTHelper.run(EDTHelper.java:87)
at org.appwork.utils.swing.EDTHelper.start(EDTHelper.java:112)
at org.appwork.utils.swing.EDTHelper.waitForEDT(EDTHelper.java:126)
at org.appwork.utils.swing.EDTHelper.getReturnValue(EDTHelper.java:73)
at jd.gui.swing.jdgui.JDGui.init(JDGui.java:1793)
at jd.SecondLevelLaunch$12.edtRun(SecondLevelLaunch.java:928)
at jd.SecondLevelLaunch$12.edtRun(SecondLevelLaunch.java:902)
at org.appwork.utils.swing.EDTHelper.run(EDTHelper.java:87)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: java.lang.NullPointerException
at java.awt.Font.getFont2D(Font.java:498)
at java.awt.Font.access$000(Font.java:224)
at java.awt.Font$FontAccessImpl.getFont2D(Font.java:228)
at sun.font.FontUtilities.getFont2D(FontUtilities.java:180)
at sun.font.FontDesignMetrics.initMatrixAndMetrics(FontDesignMetrics.java:357)
at sun.font.FontDesignMetrics.<init>(FontDesignMetrics.java:350)
at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:302)
at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1003)
at javax.swing.JComponent.getFontMetrics(JComponent.java:1615)
at org.jdownloader.gui.views.downloads.columns.ProgressColumn.<init>(ProgressColumn.java:48)
at org.jdownloader.gui.views.downloads.table.DownloadsTableModel.initColumns(DownloadsTableModel.java:7 4)
at org.appwork.swing.exttable.ExtTableModel.initModel(ExtTableModel.java:765)
at org.appwork.swing.exttable.ExtTableModel.<init>(ExtTableModel.java:110)
at org.jdownloader.gui.views.components.packagetable.PackageControllerTableModel.<init>(PackageControll erTableModel.java:93)
at org.jdownloader.gui.views.downloads.table.DownloadsTableModel.<init>(DownloadsTableModel.java:52)
at org.jdownloader.gui.views.downloads.table.DownloadsTableModel.<clinit>(DownloadsTableModel.java:35)
... 29 more

--ID:13TS:1402570530342-12/06/14 12:55:30 - [org.appwork.txtresource.TranslationHandler(createTranslationResource)] -> Utils>JDownloader.log>Load Translation file:/usr/local/jd2/translations/org/appwork/utils/locale/AWUTranslation.fr.lng
--ID:13TS:1402570530342-12/06/14 12:55:30 - [org.appwork.txtresource.TranslationHandler(createTranslationResource)] -> Utils>JDownloader.log>Load Translation file:/usr/local/jd2/translations/org/appwork/utils/locale/AWUTranslation.en.lng
--ID:13TS:1402570530406-12/06/14 12:55:30 - [org.appwork.utils.swing.dialog.ExceptionDialog(<init>)] -> Utils>JDownloader.log>Dialog [null][null]
flag: 100000010000
title: Exception occured
msg:
An unexpected error occured.
JDownloader will try to fix this. If this happens again, please contact our support.
--ID:13TS:1402570530408-12/06/14 12:55:30 - [org.appwork.utils.swing.dialog.AbstractDialog(displayDialog)] -> Utils>JDownloader.log>Display Dialog: dialog_Exception_occured_An_unexpected_error_occured___JDownloader_will_try_to_fix_this__If_this_hap pens_again__please_contact_our_support_
--ID:13TS:1402570531152-12/06/14 12:55:31 - [org.appwork.utils.swing.EDTHelper.run(EDTHelper.java:90)] -> Utils>JDownloader.log>SEVERE Exception occurred
java.lang.NullPointerException
at java.awt.Font.getFont2D(Font.java:498)
at java.awt.Font.access$000(Font.java:224)
at java.awt.Font$FontAccessImpl.getFont2D(Font.java:228)
at sun.font.FontUtilities.getFont2D(FontUtilities.java:180)
at sun.font.FontDesignMetrics.initMatrixAndMetrics(FontDesignMetrics.java:357)
at sun.font.FontDesignMetrics.<init>(FontDesignMetrics.java:350)
at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:302)
at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1003)
at javax.swing.JComponent.getFontMetrics(JComponent.java:1615)
at javax.swing.plaf.basic.BasicGraphicsUtils.getPreferredButtonSize(BasicGraphicsUtils.java:276)
at javax.swing.plaf.basic.BasicButtonUI.getPreferredSize(BasicButtonUI.java:376)
at javax.swing.plaf.basic.BasicButtonUI.getMaximumSize(BasicButtonUI.java:380)
at javax.swing.JComponent.getMaximumSize(JComponent.java:1693)
at net.miginfocom.swing.SwingComponentWrapper.getLayoutHashCode(Unknown Source)
at net.miginfocom.swing.MigLayout.checkCache(Unknown Source)
at net.miginfocom.swing.MigLayout.getSizeImpl(Unknown Source)
at net.miginfocom.swing.MigLayout.preferredLayoutSize(Unknown Source)
at java.awt.Container.preferredSize(Container.java:1788)
at java.awt.Container.getPreferredSize(Container.java:1773)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1653)
at net.miginfocom.swing.SwingComponentWrapper.getLayoutHashCode(Unknown Source)
at net.miginfocom.swing.MigLayout.checkCache(Unknown Source)
at net.miginfocom.swing.MigLayout.getSizeImpl(Unknown Source)
at net.miginfocom.swing.MigLayout.preferredLayoutSize(Unknown Source)
at java.awt.Container.preferredSize(Container.java:1788)
at java.awt.Container.getPreferredSize(Container.java:1773)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1653)
at net.miginfocom.swing.SwingComponentWrapper.getLayoutHashCode(Unknown Source)
at net.miginfocom.swing.MigLayout.checkCache(Unknown Source)
at net.miginfocom.swing.MigLayout.getSizeImpl(Unknown Source)
at net.miginfocom.swing.MigLayout.preferredLayoutSize(Unknown Source)
at java.awt.Container.preferredSize(Container.java:1788)
at java.awt.Container.getPreferredSize(Container.java:1773)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1653)
at javax.swing.JRootPane$RootLayout.preferredLayoutSize(JRootPane.java:917)
at java.awt.Container.preferredSize(Container.java:1788)
at java.awt.Container.getPreferredSize(Container.java:1773)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1653)
at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:719)
at java.awt.Container.preferredSize(Container.java:1788)
at java.awt.Container.getPreferredSize(Container.java:1773)
at org.appwork.utils.swing.dialog.InternDialog.getRawPreferredSize(InternDialog.java:116)
at org.appwork.utils.swing.dialog.AbstractDialog.getRawPreferredSize(AbstractDialog.java:1086)
at org.appwork.utils.swing.dialog.AbstractDialog.getPreferredSize(AbstractDialog.java:1050)
at org.appwork.utils.swing.dialog.InternDialog.getPreferredSize(InternDialog.java:110)
at java.awt.Window.pack(Window.java:809)
at org.appwork.utils.swing.dialog.AbstractDialog.pack(AbstractDialog.java:1335)
at org.appwork.utils.swing.dialog.AbstractDialog._init(AbstractDialog.java:467)
at org.appwork.utils.swing.dialog.AbstractDialog.displayDialog(AbstractDialog.java:712)
at org.appwork.utils.swing.dialog.Dialog.showDialogRawInEDT(Dialog.java:518)
at org.appwork.utils.swing.dialog.Dialog.showDialogRaw(Dialog.java:509)
at org.appwork.utils.swing.dialog.Dialog.showDialog(Dialog.java:497)
at org.appwork.utils.swing.dialog.Dialog.showExceptionDialog(Dialog.java:625)
at jd.SecondLevelLaunch$12.edtRun(SecondLevelLaunch.java:936)
at jd.SecondLevelLaunch$12.edtRun(SecondLevelLaunch.java:902)
at org.appwork.utils.swing.EDTHelper.run(EDTHelper.java:87)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

Last edited by eisbaer; 12.06.2014 at 16:09.
Reply With Quote
  #8  
Old 26.06.2014, 10:32
mxdalchau
Guest
 
Posts: n/a
Default

Hallo,
danke für deine Anleitung, könntest du diese ins deutsche übersetzen?


und wie muss ich die befehle anpassen, wenn ich eine synology ds213j besitze und mein jdownloaderpfad :

/volume1/downloads/jdownloader2

ist?

Ich bin noch ein Anfänger und würde gerne den jdownloader zum laufen bringen


Mit freundlichen Grüßen
Reply With Quote
  #9  
Old 01.07.2014, 15:32
Enqueue90
Guest
 
Posts: n/a
Default

Sorry for the current lack of support. I am in the end phase of my master thesis and do not have any time for supporting you. I'll look into your stuff in 1-2 weeks
Reply With Quote
  #10  
Old 09.07.2014, 00:04
Lader
Guest
 
Posts: n/a
Default Zugriffsrechte beachten

Hallo ihr Downloader

Nur zur Info, ich habe den jd2 von Windows kopiert und musste die Zugriffsrechte auf "für alle lesen und schreiben" stellen, bevor jd2 auf meinen Raspberry Pi lief.

Aber danke für diese unglaublich coole Anleitung!
Reply With Quote
  #11  
Old 21.07.2014, 00:23
tarkett tarkett is offline
JD VIP
 
Join Date: Apr 2009
Location: Deutschland
Posts: 367
Default

Many thanks for this very interest extension GhostAWT. I install it successfully on a QNAP 269L. It runs fine, only the Extraction doesn't work.

Is this a known bug or should it run?
Reply With Quote
  #12  
Old 21.07.2014, 07:32
raztoki's Avatar
raztoki raztoki is offline
English Supporter
 
Join Date: Apr 2010
Location: Australia
Posts: 17,611
Default

for memory the extraction libs are not compiled for ARM based processors. Think there is a guide or mention that it is possible on the forum somewhere.
__________________
raztoki @ jDownloader reporter/developer
http://svn.jdownloader.org/users/170

Don't fight the system, use it to your advantage. :]
Reply With Quote
  #13  
Old 21.07.2014, 18:15
tarkett tarkett is offline
JD VIP
 
Join Date: Apr 2009
Location: Deutschland
Posts: 367
Default

This model from QNAP (TS-269L) is based on Intel Atom.

**External links are only visible to Support Staff****External links are only visible to Support Staff**

I will look into the forum if I found something about it. Many thanks.


Edit: After some reboots it works fine now. Great Project

Last edited by tarkett; 21.07.2014 at 21:29. Reason: works now
Reply With Quote
  #14  
Old 31.07.2014, 20:56
tarkett tarkett is offline
JD VIP
 
Join Date: Apr 2009
Location: Deutschland
Posts: 367
Default

I have a problem with the JD Restart function over MyJd. It loops and restart again, and again, and again...

I attach the logfiles.

Best regards and many thanks
tarkett

Edit: Attach also the nohup.out logfile.
Attached Files
File Type: zip nohup.zip (16.1 KB, 266 views)

Last edited by tarkett; 31.07.2014 at 21:32.
Reply With Quote
  #15  
Old 01.08.2014, 22:56
Chryses
Guest
 
Posts: n/a
Default

Seems to me, or if I use this method to start jd, I don't receive the update "warnings".

Happens only at me?
Reply With Quote
  #16  
Old 13.08.2014, 05:42
slay3r
Guest
 
Posts: n/a
Default

Thanks!

Is it possible to route the windows desktop client to operate the headless server via ip?

I know that my.jdownloader.org can do that, but it miss many features!

Last edited by slay3r; 14.08.2014 at 01:41.
Reply With Quote
  #17  
Old 14.08.2014, 15:35
Bavilo
Guest
 
Posts: n/a
Default

I'm getting an error when trying to execute the command.

Code:
Could not find main class ghostawt.GhostRunner
What could be the problem?
Reply With Quote
  #18  
Old 24.08.2014, 13:57
mxdalchau
Guest
 
Posts: n/a
Default

Hallo,
danke für deine Anleitung, könntest du diese ins deutsche übersetzen?


und wie muss ich die befehle anpassen, wenn ich eine synology ds213j besitze und mein jdownloaderpfad :

/volume1/downloads/jdownloader2

ist?

Ich bin noch ein Anfänger und würde gerne den jdownloader zum laufen bringen


Mit freundlichen Grüßen
Reply With Quote
  #19  
Old 07.09.2014, 13:43
Stueck
Guest
 
Posts: n/a
Default

Quote:
Originally Posted by slay3r View Post
Thanks!

Is it possible to route the windows desktop client to operate the headless server via ip?

I know that my.jdownloader.org can do that, but it miss many features!
Missing that feature, too.
Any news about that?
Reply With Quote
  #20  
Old 07.09.2014, 19:54
raztoki's Avatar
raztoki raztoki is offline
English Supporter
 
Join Date: Apr 2010
Location: Australia
Posts: 17,611
Default

Quote:
Originally Posted by slay3r View Post
Thanks!

Is it possible to route the windows desktop client to operate the headless server via ip?

I know that my.jdownloader.org can do that, but it miss many features!
Quote:
Originally Posted by Stueck View Post
Missing that feature, too.
Any news about that?
Simple answer yes it is possible. My JDownloader controls JD via open API. This API after AUTH allows for direct connection to JD client IP. The not so simple answer is, the API isn't simple nor for the faint hearted. http://goo.gl/0bvkMT
__________________
raztoki @ jDownloader reporter/developer
http://svn.jdownloader.org/users/170

Don't fight the system, use it to your advantage. :]
Reply With Quote
  #21  
Old 18.09.2014, 12:00
juno99
Guest
 
Posts: n/a
Default stop command

Hi,

I have noob question

I can start JD with shell script with command:

Code:
java -Dghostawt.library.path=libs/ghostawt/linux32 -cp "./*:libs/*:libs/ghostawt/*" ghostawt.GhostRunner org.jdownloader.startup.Main -console
but how to stop it?


THX
Regards
Reply With Quote
  #22  
Old 18.09.2014, 13:40
raztoki's Avatar
raztoki raztoki is offline
English Supporter
 
Join Date: Apr 2010
Location: Australia
Posts: 17,611
Default

You no longer need GhostAWT to run a headless instance.

grab JDownloader.jar,
and run in unix/linux/mac
Code:
java -Djava.awt.headless=true -jar JDownloader.jar
or windows use
Code:
javaw -Djava.awt.headless=true -jar JDownloader.jar
__________________
raztoki @ jDownloader reporter/developer
http://svn.jdownloader.org/users/170

Don't fight the system, use it to your advantage. :]

Last edited by raztoki; 18.09.2014 at 13:49.
Reply With Quote
  #23  
Old 18.09.2014, 14:19
juno99
Guest
 
Posts: n/a
Default

Thank you very much.

Can you tell me what command will stop it?
Can't find it...
Reply With Quote
  #24  
Old 18.09.2014, 20:19
raztoki's Avatar
raztoki raztoki is offline
English Supporter
 
Join Date: Apr 2010
Location: Australia
Posts: 17,611
Default

sorry not sure, I assume you can shutdown via API/My JD

alternatively think JD listens to system calls to close program, just hope there is enough time for JD to stop downloads and shutdown before os terminates.

when running from terminal, ctrl c will shutdown for instance.
__________________
raztoki @ jDownloader reporter/developer
http://svn.jdownloader.org/users/170

Don't fight the system, use it to your advantage. :]
Reply With Quote
  #25  
Old 03.10.2014, 12:45
Achim W.
Guest
 
Posts: n/a
Default

If you install JDownloader headlessly as explained above (latest method), how do you get My JD to connect to your machine? After all, the local JD is not yet configured with username and password.
Reply With Quote
  #26  
Old 03.10.2014, 12:57
raztoki's Avatar
raztoki raztoki is offline
English Supporter
 
Join Date: Apr 2010
Location: Australia
Posts: 17,611
Default

you have to copy a my.jdownloader config from a working copy.
__________________
raztoki @ jDownloader reporter/developer
http://svn.jdownloader.org/users/170

Don't fight the system, use it to your advantage. :]
Reply With Quote
  #27  
Old 03.10.2014, 13:05
Achim W.
Guest
 
Posts: n/a
Default

Alright, thanks. Is there a way to alter a working copy from GUI mode to headless mode? Would certainly save some time.
Reply With Quote
  #28  
Old 03.10.2014, 13:10
raztoki's Avatar
raztoki raztoki is offline
English Supporter
 
Join Date: Apr 2010
Location: Australia
Posts: 17,611
Default

Not that I'm aware of.
__________________
raztoki @ jDownloader reporter/developer
http://svn.jdownloader.org/users/170

Don't fight the system, use it to your advantage. :]
Reply With Quote
  #29  
Old 06.10.2014, 13:01
Achim W.
Guest
 
Posts: n/a
Default

I found out you don't need a working copy to access myjdownloader if you do the following:
Install JD from the command line, then shut it down and delete the my.jdownloader config file. At some point during the next start, you are asked for user name and password.
Reply With Quote
  #30  
Old 06.10.2014, 14:02
raztoki's Avatar
raztoki raztoki is offline
English Supporter
 
Join Date: Apr 2010
Location: Australia
Posts: 17,611
Default

@Achim W.
thanks for feedback, learn something new every day! =]

raztoki
__________________
raztoki @ jDownloader reporter/developer
http://svn.jdownloader.org/users/170

Don't fight the system, use it to your advantage. :]
Reply With Quote
  #31  
Old 07.10.2014, 13:11
Achim W.
Guest
 
Posts: n/a
Default

I'm still searching for a way to headlessly integrate an existing reconnect shell script. It seems it is not possible by using the web interface. Please let me know if there is a solution.
Reply With Quote
  #32  
Old 08.10.2014, 19:56
J-J
Guest
 
Posts: n/a
Exclamation

Thanks for this manual. I tried it using the .jar installer and it works by launching it with Putty on my Synology DS412+.

I just can't get it to launch from my NAS with task manager.

I added a user-defined script in the Task Manager with following command:
Code:
java -Djava.awt.headless=true -jar /volume1/@appstore/JDownloader2/JDownloader.jar
...where /volume1/@appstore/JDownloader2/ is pointing to my JD folder.

When I go to My JDownloader website it doesn't show up anymore and when I ran the script with Putty it did.

Can someone help me please?

EDIT:

I just was thinking I had to make a script (.sh-file) for making it to work.
What do I need to put in the file?

Last edited by J-J; 09.10.2014 at 16:26. Reason: Adjustment
Reply With Quote
  #33  
Old 09.10.2014, 03:21
raztoki's Avatar
raztoki raztoki is offline
English Supporter
 
Join Date: Apr 2010
Location: Australia
Posts: 17,611
Default

if your using auto startup, make sure the user that's starting object/script is the same as the user that installed JD, otherwise you could have permission issues (read and write).
__________________
raztoki @ jDownloader reporter/developer
http://svn.jdownloader.org/users/170

Don't fight the system, use it to your advantage. :]
Reply With Quote
  #34  
Old 09.10.2014, 17:21
J-J
Guest
 
Posts: n/a
Default

Quote:
Originally Posted by raztoki View Post
if your using auto startup, make sure the user that's starting object/script is the same as the user that installed JD, otherwise you could have permission issues (read and write).
So to be sure I add a shared folder (JDownloader2) and moved the files from the old JDownloader2 (located in root folder) folder to the new one.
I granted these permissions:



And then set user to Admin (me) in Task Scheduler:





I put java -Djava.awt.headless=true -jar /volume1/JDownloader2/JDownloader.jar in a file named "JDownloader.sh" and used /volume1/JDownloader2/JDownloader.sh as "User-difined script"

It just doesn't work :(

Last edited by J-J; 11.10.2014 at 00:34.
Reply With Quote
  #35  
Old 09.10.2014, 21:30
Chryses
Guest
 
Posts: n/a
Default

On the user task, your 2nd picture, I see /volume1/JDownloader2/JDownloader.jar, but I think that must point to the JDownloader.sh, btw I think that you need more "code" to launch it, I don't know synology?, but I think that you need to copy from other examples from the web
Reply With Quote
  #36  
Old 11.10.2014, 00:36
J-J
Guest
 
Posts: n/a
Default

Yes and that's the thing. I'm a noob concerning scripts. Don't know anything about how to get started.
I also tried pointing is to the '.sh'-file but NOTHING happens
Reply With Quote
  #37  
Old 11.10.2014, 14:47
Achim W.
Guest
 
Posts: n/a
Default

I'm a Linux noob myself, but I know that a typical script has this as the first line:
Code:
#!/bin/bash
Don't know if this helps you, but I thought it's worth to be mentioned just in case.
Reply With Quote
  #38  
Old 14.10.2014, 12:30
felsi felsi is offline
Ultra Loader
 
Join Date: Sep 2010
Posts: 46
Default

Hi guys, just found this thread via google. Unfortunately Pyload stopped supporting SJ.Org so I have to look for an alternative. I was hoping since years that jDownloader will be available for NAS.

So is this already an alternative for Pyload or are there any disadvantages? Thanks.
Reply With Quote
  #39  
Old 14.10.2014, 13:10
raztoki's Avatar
raztoki raztoki is offline
English Supporter
 
Join Date: Apr 2010
Location: Australia
Posts: 17,611
Default

JD will run where you have platform that supports Java && system resources to support JDownloader. If you read this threat you will see that it's possible to run on NAS by the provided information.

BTW. its been possible for years but it did required xterm.

raztoki
__________________
raztoki @ jDownloader reporter/developer
http://svn.jdownloader.org/users/170

Don't fight the system, use it to your advantage. :]
Reply With Quote
  #40  
Old 14.10.2014, 15:46
felsi felsi is offline
Ultra Loader
 
Join Date: Sep 2010
Posts: 46
Default

Thx but as far as I know there are not many NAS which support Java. That's why jDownloader was never ported for NAS. I asked that many years ago.

I've got an QNAP TS 210 but I'm pretty sure it does not support Java. So no way to install jDownloader?

Sorry if the question is stupid, I just don't get it
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 20:07.
Provided By AppWork GmbH | Privacy | Imprint
Parts of the Design are used from Kirsch designed by Andrew & Austin
Powered by vBulletin® Version 3.8.10 Beta 1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.