64 bit or 32 bit JDK? The 64 bit JDK can allocate more memory (> 2GB) to java applications, but 32 bit JDK is usually 0%-10% faster. SparkGateway doesn't use too much memory, so you can install 32bit JDK and keep an eye on the memory usage. Also make sure you are using JDK instead of JRE if you are using 32bit Java, because 32 bit JRE doesn't include the server side JIT.64 bit or 32 bit Spark View? 64 bit Spark View can only run on 64 bit JDK/JRE, 32 bit Spark View can runs on 32 bit or 64 bit JDK/JRE.Turn on Network Level Authentication (NLA)/CredSSP or not on RDP host? NLA/CredSSP can slow down the RDP connection a little bit (Exactly like https vs. http). If all your RDP hosts are in internal network, it's OK to disable it, otherwise, it's better to turn it on. Make sure you are using JDK 1.6.0_27 or below if you turned on NLA.Failed to start Gateway If you see java errors in commons-daemon*.log, that may be:
- Java is not installed, run "java -version" to check.
- Multiple JDK/JRE installed, and you are using the wrong version (X64 SparkGateway can only run on X64 JDK). Open SparkGateway Manager, "Java" tab, unselect "Use default", choose the correct JDK like this: C:\Program Files\Java\jdk1.6.0_27\jre\bin\server\jvm.dll
- Default port 80 is used by other application (You could see related error in gateway.log), please change the default listening port in gateway.conf
- Please send us the log if it's other error.
How to update Spark View? Don't reinstall the application. Please download the zip file. Replace the html directory and SparkGateway.jar with the new files extracted from the zip file, then restart the gateway.How to start RDP connection in full screen function _fullscr(e){ var element = document.webkitFullscreenElement || document.mozFullScreenElement || document.mozFullscreenElement || document.fullscreenElement || null; console.log("fullscreen..... w:" + window.innerWidth + " e:" + e.target + " elm:" + element); if (!svManager.getInstance()){ if (element){ $id("width").value = window.innerWidth; $id("height").value = window.innerHeight; } connectRDP(); } } function connectFullscr(){ var enabled = document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.fullscreenEnabled || false; if (enabled){//has fullscreen support var b = document.body; if (b.webkitRequestFullScreen){ b.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT); }else if (b.mozRequestFullScreen){ b.mozRequestFullScreen(); }else if (b.requestFullscreen){ b.requestFullscreen(); } document.addEventListener("fullscreenchange", _fullscr); document.addEventListener("webkitfullscreenchange", _fullscr); document.addEventListener("mozfullscreenchange", _fullscr); document.addEventListener("fullscreenchange", _fullscr); }else{ connectRDP();//no fullscreen support, start it directly } return false; }
What should I have in my customized web page? - <!doctype html>. Which is very important because the box model is different.
- View port configuration if you want to make it works better on mobile devices.
- "filecontainer" div if you want file uploading/downloading
- "appinfo" div if you want session shadowing and following JavaScript:
var info = $id("joinSelect"); if (info){ info.onchange = function(e){ svManager.getInstance().setJoinMode(e.target.value); }; } var control =$id("requestControl"); if (control){ control.onclick = function(e){ svManager.getInstance().requestControl(); }; }
- "pc_key" div if you want the PC keys toolbar on touch UI
- "svToolbar" div, you must have the input with id "svTouchInput" inside if you want to make it work on mobile OS.
Time zone redirection doesn't work. - Make sure time zone redirection is enabled on the RDP host.
- Time zone name may be different on your RDP host. Plese check [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones], and modify the time zone name on your web page accordingly(e.g. rdp.html)
Use Spark View as a Java library The server side component (SparkGateway.jar) can be used as a library and included in your project. You may want to remove the third party libraries from the jar if you have version conflict. Make sure following packages are not removed:- com.toremote.*
- net.protocol.*
or
com.toremote.gateway.SparkGateway.init(String[] args) or com.toremote.gateway.SparkGateway.init(Properties p)
com.toremote.gateway.SparkGateway.start();
com.toremote.gateway.SparkGateway.stop();
Following arguments can be used:
-c=C:\SparkGateway\gateway.conf (specify the location of gateway.conf, you can also use SparkGateway.init(Properties p) to transfer the configuration values instead of specify the file location).
-console (output logs to console only)How to know if an user successfully logged into RDP session? - In server side plug in, if SessionInformation.getConfig().session.random is not null, that means the user logged in successfully.
- On client, the RDP JS library has onloggedin() event.
- In the log, you can see "User: xxx domain: xxx in session: xxx successfully logged into RDP session: xxx"
Alt+E/V/A/T/H key will show browser's menu on IE Unfortunately, you can not disable this on IE unless you use Kiosk Mode:
http://support.microsoft.com/kb/154780
You can use Alt+F and arrow keys as workaround..NET applications running on IE doesn't display correctly in RemoteApp mode. Please start IE in Kiosk mode: http://support.microsoft.com/kb/154780Kiosk Mode - IE: http://support.microsoft.com/kb/154780
- Chrome: change the target of your Chrome shortcut as "C:\Users\xxx\AppData\Local\Google\Chrome\Application\chrome.exe" --kiosk URL
- Firefox: firefox -chrome URL
Silent print (bypassing print dialog) - Chrome: change the target of your Chrome shortcut as "C:\Users\xxx\AppData\Local\Google\Chrome\Application\chrome.exe" --kiosk --kiosk-printing URL
- Firefox: Type "about:config" to address bar and add a new Boolean preference item named "print.always_print_silent" then set value of the newly-added item to "true".
Optimize performance for Office 2013 and SAP 7.30 Please check tips from Thomas Koetzing.File share or sound doesn't work on Windows 8 and 2012 Windows 8 and 2012 has a bug: there is co-dependence between sound and drive redirection. Please make sure you enabled both.Printer redirection doesn't work - Check with MS RDC client first.
- Check with our demo gateway
- Make sure there is no "Printer redirection: false" in the log file which means this feature is disabled (on the client side or server side) or your license file expired.
- Printing service is working in RDP host (try print something)
- Printer redirection is enabled in RDP host.
- You domain controller is not Windows 2003 or before.
- Spark View use "MS Publisher Imagesetter" as the driver of "Remote Printer from Client", please check if you can see this printer driver when you try to add a printer (Under "Generric" manufacturer). If not, you can let Spark View use other GhostScript Printer Driver in gateway.conf.
- Same printer driver may have different name on Windows 2003 or before. You can map the drive names in Windows 2003.
- Try disalbe Easy Print.
How to lock down the RDP session RDP session termnates when accessing shareed drive. Please set shared folder Read/Write permission to everyone.Disable Screensaver when using Puiblished Apps and Terminal Server First of all check if the screen saver is enabled on the server locally (log on to the server and check). Also check this setting in the Group Policy. Go to GPO linked to your Terminal Server > User Configuration > Policies > Administrative Tempaltes > Cocntrol Panel > Display > you need a setting called "Screen Saver" Also Please make sure that Loopback Processing of Group Policy is enabled , so that User Configuration applied to your TS is enforced. sourceNo remote Desktop Licence Server availible on RDSH 2012 How to get/modify the join link? You can use $rdp.sessionInfo.appInfo.joinLink to get the join link, modify it in onsessionstart(sessionInfo) event.Customize the login screen var surface = new svGlobal.LocalInterface(); surface.onstart = function(canvas){ //you can draw something on the canvas here. } rdp.addSurface(surface);