Since I've been in a world of hurt with FreeNX attempting to get shadowing to work, I stumbled across a brief description describing starting vnc sessions through an SGE job (our firewall rules would require ssh tunneling, so I'm not too concerned about the security implication of VNC itself).

My question is: Would it be possible to set an idle expire time (or possibly a simple hardset timer Ex. 24 hrs) on new sessions created by a submitted VNC SGE job?

I'm also not sure what the correct SGE script syntax would be to launch a VNC session on a particular node.

(reference to wall expire timer)

  • Little confused with your question. (1) Do you want vnc level timeout (2) Do you want the SGE to get a termination after sometime (3) Job submission syntax for a vnc session ? – Chakri May 3 '12 at 15:09
  • VNC session termination after idle limit, and ideally per user active VNC session limits. Also the job submission syntax for a vnc session. – platinummonkey May 3 '12 at 18:08

You can set a time limit on jobs submitted to a queue. When you create / edit the queue there's an option for the h_rt resource that will set the hard limit on the walltime resource. Setting this to 24:00:00 will cause the jobs submitted to that queue to be terminated after 24 hours.

If you want to be able to submit jobs to a particular node, you can just specify the hostname resource in your job submission. Eg: qsub -l hostname=somehost

  • Great! this solves at least the first part of my question. What would be the job syntax to create a vnc session? Or would it be identical to manual vnc session creation? – platinummonkey May 3 '12 at 18:10
  • Let me clarify that last part of the comment. Is there SGE syntax to generate non-conflicting VNC sessions (ie create new X Display, and use an unused port within a range)? – platinummonkey May 3 '12 at 20:56
  • There's nothing specific in gridengine that does that. It's up to you to select a unique display and corresponding port when launching VNC. What you could do is use a prolog script to set environment variables with the correct values based on what other jobs are running. Your job script would then just use those variables as arguments to vncserver. – Kamil Kisiel May 4 '12 at 2:59
  • Gridengine doesn't do anything for you there automatically, it's up to you to set up what the job actually does. One option could be to create a prolog script that decides what a free display and port are and passes them along as environment variables to your job. The other option is to have the job figure this out itself. It depends where you want to place the logic. – Kamil Kisiel May 4 '12 at 6:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.