1

I have the following Python script, chmod +x'd. When I run this script from the command line and Putty has not been started, it launches putty:

#!/usr/bin/env python
from __future__ import print_function

import shlex
import subprocess

output = subprocess.check_output(['ps', 'aux'])
found = False
for line in output.split('\n'):
    if line.endswith('putty -load test'):
        found = True
        break

if not found:
    print("Starting Putty")
    subprocess.Popen(['putty',
                      '-load',
                      'test'])
else:
    print("Putty going strong")

However, if I don't start putty, then it will just keep saying "Starting Putty" (which I have directed to a file for logging).

My guess is that it has something to do with the display, but I'm not sure how to fix it or even exactly what I would look for.

Wayne Werner
  • 11,713

1 Answers1

2

Turns out you need to set the display.

* * * * * env DISPLAY=:0 /home/wayne/.bin/run_putty

Or, if I had multiple monitors

* * * * * env DISPLAY=:0.0 /home/wayne/.bin/run_putty

And now it will check/run every minute.

Wayne Werner
  • 11,713