tkjuke - manipulate jukeboxes from a Perl/Tk program
tkjuke [ "slave" | window ID ]
tkjuke is a GUI for manipulating a jukebox in a windowed environment, which uses the program juke as the underlying controller.
tkjuke runs in either master or slave mode. As a master, tkjuke displays one or more tkjuke windows from the local and/or remote jukeboxes in tabs of a NoteBook widget. When an operator wants to manipulate a jukebox, she tells the master to contact the requisite computer and start tkjuke in slave mode. The slave's window becomes embedded in a NoteBook tab on the master.
When tkjuke is invoked with no command line argument, it becomes a master. The master also reads the file tkjuke.config for the list of jukeboxes under its control. Each lines designates a jukebox (lines are split below, but in the actual configuration file use one line per jukebox):
auto-connect = 1 tkjuke = \ "/usr/bin/ssh -p 222 -X -f root@rigel /home/root/bin/tkjuke" auto-connect = 1 tkjuke = \ "/usr/bin/ssh -p 22 -X -f root@fire /home/root/bin/tkjuke"
If auto-connect = 1, the master tkjuke will try to acquire the associated jukebox during startup. tkjuke is a double-quoted OpenSSH string that invokes a slave tkjuke.
When tkjuke is supplied a single argument, it's a string representation of a Tk hexadecimal window ID within which the slave should embed itself. For debugging, if the tkjuke argument is the string "slave" then a standalone slave is started.
Communication is via password-less ssh with X11 forwarding enabled. For simplicity, we assume OpenSSH, so as to have complete control over known command line arguments.
Many thanks to Eric Lee Green - I could not have written this without his counseling. Any bugs and/or misunderstandings concerning jukebox operations are my own.
To run the master tkjuke:
To run a stand-alone slave:
Copyright (C) 2002 - 2007, Steve Lidie. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
mtx, juke, jukebox