def classroom_pc( host, command )
  Net::SSH.start( host, Username, Password) do |session|
    shell = session.shell.sync
    puts "Opened Connection to #{host}"
    shell.send_command( "export TERM=linux" )
    p shell.send_command( "#{command}")
    shell.exit
    puts "Closed Connection to #{host}"
  end
end

that seems to have done it, it doesnt display the ncurses info but i
can live with that for now.

On 3/15/07, Lance Sanchez <lance.sanchez / gmail.com> wrote:
> def classroom_pc(host, command)
>   Net::SSH.start( host, Username, Password) do |session|
>     shell = session.shell.sync
>     puts "Opened Connection to #{host}"
>
>     p shell.send_command( "#{command}")
>     shell.exit
>     puts "Closed Connection to #{host}"
>
>   end
> end
> i modified the classroom_pc function, now i'm getting an error
> #<struct Net::SSH::Service::Shell::SyncShell::CommandOutput stdout="",
> stderr="Failed to open terminal.TERM environment variable needs
> set.\r\n", status=0>
> the application runs in a curses environment.
>
> On 3/14/07, Lance Sanchez <lance.sanchez / gmail.com> wrote:
> > sorry about that, I was implementing the shell and a responce, mozilla
> > crashed and google talk sent a blank message. the app i'm running
> > seems to be using ncurses, will that cause another problem?
> >
> >
> > On 3/14/07, lance.sanchez / gmail.com <lance.sanchez / gmail.com> wrote:
> > > ok, I have a server with a dozen systems attached to it. there are
> > > commands that I need to run on each system one at a time. i can
> > > connect to each system with the admin script, i can launch basic
> > > commands i can even launch the script i need to but when that script
> > > tries to launch the partimage application to backup the windows
> > > partitions (this is all being done from linux) it doesn't, i don't get
> > > any good errors it just dies closes the connection an moves onto the
> > > next system.
> > >
> > > ==admin.rb==
> > > #!/usr/bin/ruby
> > > require 'net/ssh'
> > > Username='root'
> > > Password='{plain_text_password}'
> > > Hosts = (101..112).collect {|x| "192.168.0.#{x}"}
> > > def classroom_pc(host, command)
> > >   Net::SSH.start( host, Username, Password) do |session|
> > >     session.open_channel do |channel|
> > >       channel.on_success do
> > >         puts "Connected to #{host}"
> > >       end
> > >       channel.on_close do
> > >         puts "Connection Closed to #{host}"
> > >       end
> > >       #channel.on_data do |ch, data|
> > >       #  puts "\trecieved #{data}"
> > >       #  puts "\tfrom #{host}"
> > >       #end
> > >
> > >       channel.send_request "shell", nil, true
> > >       channel.send_data "#{command}\n"
> > >       channel.send_data "exit\n"
> > >     end
> > >     session.loop
> > >   end
> > > end
> > > if $0 == __FILE__
> > >         Hosts.length.times do |i|
> > >                 classroom_pc(Hosts[i], "/mnt/backup/partimage.rb
> > > save")
> > >         end
> > > end
> > >
> > >
> > > ==/mnt/backup/partimage.rb==
> > > #!/usr/bin/ruby
> > > Win_drive = "/dev/hda1"
> > > Location = "/mnt/backup/classroom/"
> > > File_type = "partimag.gz"
> > > def help_message
> > >         puts "Usage:"
> > >         puts "\tsave to save the image"
> > >         puts "\tload to restore an image"
> > >         puts "\thelp prints this message"
> > > end
> > > def hostname
> > >         `hostname`.chomp
> > > end
> > > def save_image
> > >         system("rm #{Location}#{hostname}*")
> > >         system("partimage -odb -f3 -z1 save #{Win_drive} \
> > >         #{Location}#{hostname}.#{File_type}")
> > > end
> > > def load_image
> > >         system("partimage -eb -f3 restore #{Win_drive} \
> > >         #{Location}#{hostname}.#{File_type}.000")
> > > end
> > >
> > > if $0 == __FILE__
> > >         unless ARGV.length == 1
> > >                 help_message
> > >         end
> > >         if ARGV.length == 1
> > >                 help_message if ARGV[0].downcase == "help"
> > >                 save_image if ARGV[0].downcase == "save"
> > >                 load_image if ARGV[0].downcase == "load"
> > >         end
> > > end
> > >
> > >
> >
> >
>
>