Recent Changes - Search:

TurboVNC Home

About TurboVNC

Downloads

Documentation

Reports

Developer Info

Contact

Related Projects

Application Isolation

It is not possible within a VNC environment to run an application with "seamless windows", whereby each application window appears as a separate window on the client's desktop, and such is not likely to ever be possible, due to limitations of the Xvnc architecture and the RFB protocol. However, it is possible to configure TurboVNC such that only one application is allowed to run in a specific TurboVNC session.

NOTE: for full-screen applications, this procedure is unnecessary. You can simply run the application without a window manager.

Procedure

  • Install OpenBox (for RHEL 6 and 7, this is available in the EPEL repository.)
  • As root:
    • Make a backup of /etc/xdg/openbox/menu.xml.
    • Edit /etc/xdg/openbox/menu.xml and remove everything but these lines:
      <?xml version="1.0" encoding="UTF-8"?>
      
      <openbox_menu xmlns="http://openbox.org/3.4/menu">
      
      <menu id="root-menu" label="Openbox 3">
        <separator label="Openbox"/>
        <item label="Exit">
          <action name="Exit">
            <prompt>yes</prompt>
          </action>
        </item>
        <separator/>
        <item label="Log Out">
          <action name="SessionLogout">
            <prompt>yes</prompt>
          </action>
        </item>
      </menu>
      
      </openbox_menu>
      
      
  • Create a script to launch an application in OpenBox. Below is an example (NOTE: the example assumes that {application} will not return control to the command line until the user exits the application.)
    #!/bin/bash
    openbox-session & PID=$!
    {application}
    kill $PID
    
    
  • Use the script you created above as an alternate xstartup script for TurboVNC:
    /opt/TurboVNC/bin/vncserver -xstartup {script} [-fg|-autokill]
    
    
    This will launch only the OpenBox WM and the application in TurboVNC, and as soon as the application exits, it will trigger the script to kill OpenBox, which will in turn cause the TurboVNC session to exit (because of the use of -fg or -autokill.) Use -fg if you want the TurboVNC session to be a foreground process, which is probably the case if you're running it in a batch queuing system, and use -autokill if you want the session to be a background process (as it would be normally.)
Creative Commons LicenseAll content on this web site is licensed under the Creative Commons Attribution 2.5 License. Any works containing material derived from this web site must cite The VirtualGL Project as the source of the material and list the current URL for the TurboVNC web site.

Edit - History - Print - Recent Changes - Search
Page last modified on December 01, 2023, at 01:12 PM