Connettersi ad un sistema AS400/iSeries – Via tn5250
In molte aziende italiane ed europee sono utilizzati i sistemi IBM iSeries, diretta evoluzione dei precedenti IBM AS400. E’ possibile connettersi a questi sistemi tramite telnet ma questo non costituisce una maniera solida e comoda per svolgere tutte le operazioni.
Le modalità terminale svolte dal client telnet di Linux non includono l’emulazione 5250 utilizzata dagli AS400/iSeries e ciò rende impossibile utilizzare i colori e i tasti avanzati F13-F24, Attn, Field Exit, etc.
E’ disponibile un client 5250 per Ubuntu chiamato tn5250 da utilizzare da terminale in grado di utilizzare le funzionalità grafiche, di tastiera e quelle avanzate di stampa tipiche di questi sistemi.
Inizieremo installando il pacchetto tn5250 con:
sudo apt-get install tn5250
L’utilizzo iniziale è discretamente semplice: da un terminale:
tn5250 OPZIONI indirizzo
Nel caso la connessione richieda la crittografia SSL anticipare l’indirizzo con ssl: come mostrato:
tn5250 OPZIONI ssl:indirizzo
Tra le opzioni potranno essere specificati alcuni parametri aggiuntivi utili a seconda della configurazione del server.
map=Codice CCSID env.DEVNAME=Nome della sessione env.TERM=Tipo di terminale env.IBMnomevar='valore' trace=Nome del file in cui registrare tutte le azioni eseguite +underscores +ruler +uninhibited
La mappa CCSID del parametro map determina la visualizzazione dei caratteri estesi e può essere utilizzato un qualsiasi codice tra i seguenti:
37 USA, Canada, Portogallo, Brasile
273 Austria, Germania
277 Danimarca, Norvegia
278 Finlandia, Svezia
280 Italia
284 Spagna, America Latina
285 Regno Unito
297 Francia
500 Belgio, Svizzera
870 Europa occidentale
875 Grecia
Il tipo di terminale del parametro env.TERM può essere uno dei seguenti:
IBM-3179-2 A colori in 24×80
IBM-5292-2 A colori in 24×80
IBM-3196-A1 Bianco e nero in 24×80
IBM-5251-11 Bianco e nero in 24×80
IBM-5291-1 Bianco e nero in 24×80
IBM-3180-2 Bianco e nero in 27×132
IBM-3477-FG Bianco e nero in 27×132
IBM-3477-FC A colori in 27×132
L’opzione +underscores consente di forzare l’uso del carattere underscore per disegnare i campi sottolineati anche se il terminale in uso supporta la sottolineatura.
L’opzione +ruler traccia una croce per indicare la posizione del cursore.
L’opzione +uninhibited esegue automaticamente l’opzione reset alla pressione dei tasti direzionali o di quelli funzione.
Senza l’opzione env.DEVNAME sarà assegnato automaticamente un nome dal sistema, nella forma QPADEVxxx.
Con env.IBMnomevar possono essere assegnate variabili alle sessioni create sul sistema.
Altre opzioni avanzate sono consultabili con man tn5250rc.
Un esempio di connessione sarà quindi:
tn5250 map=280 env.DEVNAME=MUFLO01 env.TERM=IBM-3477-FC +uninhibited 123.123.123.123
Ci connetterà al server con indirizzo 123.123.123.123 utilizzando la mappa dei caratteri italiana, con nome della sessione MUFLO01, utilizzando un terminale a colori in 27×132 caratteri e attivando il reset automatico allo spostamento del cursore.
Su iSeries esistono numerosi tasti speciali indicati qui di seguito con la relativa necessaria combinazione per utilizzarli:
F1..F10 Da F1 a F10, Da META+1 a META+ì F13..F24 Da F13 a F24, Da SHIFT+META+1 a SHIFT+META+ì Enter Invio, CTRL+j, CTRL+m Sinistra Freccia sinistra Destra Freccia destra Alto Freccia su Basso Freccia giù Pagina Su Pagina Su, CTRL+d, CTRL+f Pagina Giù Pagina giù, CTRL+b, CTRL+u Backspace Backspace Home Inizio, CTRL+o End Fine Insert Ins, META+i, META+Canc Delete Canc Reset CTRL+r, META+r Print CTRL+p, META+p Help META+h SysReq CTRL+c, META+s Clear META+c FieldExit CTRL+k, META+x TestReq CTRL+t Toggle META+t Erase CTRL+e Attn CTRL+a, META+a Dup META+d Field+ CTRL+x Field- META+m NewLine CTRL+META+j Next Field tab, CTRL+i Prev Field SHIFT+tab Aggiorna CTRL+l, M-l Uscita CTRL+q
Alcuni tasti funzione, ad esempio F11 su Gnome, vengono utilizzati per altre finalità quali l’ingrandimento della finestra o altro. Per questa ragione esistono anche altre combinazioni quali META+’ per eseguire F11. Il tasto META è generalmente assegnato al tasto ALT di sinistra oppure alla combinazione CTRL+g. Per eseguire F11 quindi è possibile premere il pulsante F11, oppure ALT di sinistra+’ oppure CTRL+g+’.
Per chiudere il programma immediatamente senza eseguire la procedura di disconnessione premere CTRL+q.
E’ possibile utilizzare anche xt5250, che avvierà un altro terminale grafico, con una resa migliore dei caratteri e degli attributi speciali oltre che con un miglior utilizzo dei tasti funzione e speciali. Il suo utilizzo è analogo al precedente:
xt5250 opzioni INDIRIZZO
E’ altresì possibile connettere una stampante al sistema usando:
lp5250d OPZIONI indirizzo
In maniera analoga alla precedente, avendo cura di assegnare il nome della sessione di stampa con env.DEVNAME. Alle altre opzioni viste in precedenza possono essere aggiunti gli argomenti:
env.IBMMFRTYPMDL='emulazione stampante' outputcommand='comando'
L’emulazione stampante può essere un qualsiasi valore del parametro MFRTYPMDL (Tipo e modello casa produttrice) dei comandi CRTDEVD o WRKDEVD (opzione 2) ad esempio *HP4 o *IBM3112.
Mediante outputcommand può essere deciso il programma che verrà richiamato automaticamente alla ricezione di una stampa. Con tn5250 sono installati in automatico tre programmi utili alla conversione della stampa:
- scs2ascii converte l’output in testo ASCII
- scs2ps converte l’output in PostScript
- scs2pdf converte l’output in PDF
Possono essere utilizzati per redirigere i dati in uscita dalla stampante su un file o su un programma come lpr. Alcuni esempi potrebbero essere:
lp5250d env.DEVNAME=MUFLOLPR 123.123.123.123 lp5250d env.DEVNAME=MUFLOPDF outputcommand='scs2pdf > ~/stampa.pdf' 123.123.123.123 lp5250d env.DEVNAME=HP4LPR env.IBMMFRTYPMDL='*HP4' 123.123.123.123
Il primo connetterà una sessione di stampa di nome MUFLOLPR e invierà l’output al programma lpr, il secondo avvierà una stampante MUFLOPDF e catturerà l’output trasformandolo in PDF nel file stampa.pdf, il terzo infine forzerà l’emulazione della stampante su iSeries in *HP4.
Al termine dell’utilizzo è possibile disconnettere la sessione utilizzando kill `pidof lp5250d` o mediante altri strumenti per la chiusura dei lavori attivi.
Premesso che non sono (ancora) un utente di Ubuntu mi sono imbattuto in questo sito cercando appunto un client per TN5250. Io ora uso TN5250J (http://tn5250j.sourceforge.net/) con molta soddisfazione anche perché è in Java e consente di ridimensionare a piacere la finestra della connessione (cosa non possibile con TN5250) e poi perché consente di essere testato approfonditamente sotto Windows. Certo, per le stampanti devo passare ancora da TN5250, che a quanto ne so è l’unico client che permetta anche la stampa (con buona pace di IBM e del suo client access).
Saluti
Un domanda: esiste un elenco delle stampanti compatibili e/o di tutti i valori MFRTYPMDL compatibili?
Non so come impostare TN5250 per una Canon MX310
ora non ho un as400 davanti
su crtdev o wrkdevd non ti presenta un elenco?
Ciao,
la stampante non è di rete ma collegata a un computer che non è in rete locale ma a sua volta collegato tramite openvpn. crtdev non mi elenca questa stampante.
Grazie comunque per la risposta.
beh quello e` normale
su as ci son pochissimi modelli, devi trovare un’emulazione compatibile con la tua stampante