SSHMenu : Avoir le telnet en option

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

1 Introduction

Personnellement j'utilise SSHMenu depuis déjà quelques temps maintenant, et je dois avouer que la petite fonction telnet manque cruellement. Sur le site, on peut y trouver la solution, mais avec une explication assez lugubre à mon goût. Je vais donc essayer de clarifier tout ça.

2 Configuration

Ajoutez ceci à la racine de votre utilisateur courant :

Configuration File ~/.sshmenutelnet.rb
require 'gnome-sshmenu'
 
module SSHTelnetMenu
 
  class App <GnomeSSHMenu::App
 
    def ssh_command(host)
      if host.use_telnet
        return 'telnet'
      end
      return super
    end
 
  end
 
  class HostItem <GnomeSSHMenu::HostItem
 
    attr_accessor :use_telnet
 
    def initialize(h={})
      super
      @use_telnet = true if h['use_telnet']
    end
 
    def to_h
      h = super
      h['use_telnet'] = use_telnet
      return h
    end
 
  end
 
  class HostDialog <GnomeSSHMenu::HostDialog
 
    def add_other_inputs
      super
      @use_telnet = Gtk::CheckButton.new( "Use telnet rather than SSH", false)
      @use_telnet.active = true if @host.use_telnet
      @body.pack_start(@use_telnet, false, true, 0)
    end
 
    def dialog_to_host(host=nil)
      host = super(host)
      host.use_telnet = @use_telnet.active?
      return host
    end
 
  end
 
end

Modifiez votre fichier .sshmenu et ajoutez ces lignes en fin de fichier :

Configuration File ~/.sshmenu
...
classes: 
  app.dialog.host: SSHTelnetMenu::HostDialog
  app: SSHTelnetMenu::App
  app.model.hostitem: SSHTelnetMenu::HostItem
  require: ~/.sshmenutelnet.rb
...

3 Ressources

http://sshmenu.sourceforge.net