Avete mai notato che la velocità del computer è sempre inversamente proporzionale alla fretta di chi lo sta usando?

— Sergio Boarina

Connessione a IBM AS400/iSeries con Linux

http://www.stenoweb.it/files/blog/iseries.png In molte aziende italiane ed europee sono utilizzati i sistemi IBM iSeries, diretta evoluzione dei precedenti IBM AS/400. 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.
Ho trovato un paio di articoli a riguardo su ubuntrucchi, vediamo entrambe le soluzioni a questo problema.

tn5250

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:

COMANDO DESCRIZIONE
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.

Il pacchetto tn5250 è sicuramente la soluzione più comoda e rapida per connettersi ai sistemi IBM AS400/iSeries, in pochi passaggi è possibile avere un terminale video 5250 e un servizio di stampa funzionale ma l’ iSeries Access di IBM è sicuramente un passo molto più in avanti sia per semplicità di utilizzo sia per migliore integrazione col sistema. Vediamo come installarlo.

pensa che giorni fa volevo chiederti se avessi potuto scrivere una mia guida sulla creazione di un SBS con ubuntu server basata sulla tua per arch (che ho consigliato tante volte ad altri), con tutti gli adattamenti necessari

ma ancora devo pensarci per bene..

E pensa che ci stavo pensando pure io. Ma se lo fai tu meglio :D
Anzi, la presenza di una Ubuntu LTS "recente" e l'uscita imminente di Debian Lenny dicono che forse questo è il miglior momento.

A parte gli scherzi, in buona sostanza, basterebbe tradurre i comandi di installazione dei pacchetti (in questo Arch, avendo dipendenze poco "intricate" è molto più semplice di Debian) e poco altro, il "succo" del discorso cambierebbe ben poco.
Però, perchè sia diversa dalle tante guide che già si trovano, deve essere provata "sul campo" prendendo appunti, le guide esistenti sono spesso imprecise proprio nei dettagli. Le guide Arch SBS sono il risultato di installazioni "vere", che fanno venire allo scoperto problemi che in ambienti di test virtualizzati spesso non emergono.

Ciao e ti faccio i complimenti per il blog ;)

> Anzi, la presenza di una Ubuntu LTS "recente" e
> l'uscita imminente di Debian Lenny dicono che
> forse questo è il miglior momento.

Ehm...
Sai come ha affrontato Ubuntu la scoperta della falla (che aveno introdotto loro) in OpenSSL?
Aggiornando silenziosamente i pacchetti che usano OpenSSL ed aggiungendo $nomepacchetto-$altro-blacklist.

Risultato: i miei OpenVPN ed OpenSSH non accettavano più le chiavi "cattive", l'unico modo per tenere in piedi il tutto per avere il tempo (minimo) per ridistribuire le chiavi è stato un downgrade forzato.
Non è un bel modo di comportarsi per una distro server.

Altro che KDE4 su Arch (io ho ceduto a kdemod3... ).

@davide
Come non darti ragione ? La falla cmq è stata introdotta da mamma Debian direttamente se non sbaglio.

Anche se sinceramente io sono rimasto un po' confuso.
Io ho solo un "nonno" Dapper (di sviluppo) con openvpn e il problema mi si è prentato solo quando ho tentato di collegare il desktop con Mint 5/Ubuntu 8.04 che appunto si rifiutava di usare le chiavi "vecchie" che usavo prima con Arch (hanno introdotto un pacchetto "ad hoc" che fà il test sulle chiavi, non ricordo il nome). Gli utenti windows e linux non-ubuntu non se ne sono nemmeno accorti e funzionavano allegramente.
Ho rigenerato le chiavi sul desktop le ho messe sul server e ho ditribuito le nuove agli utenti (che per fortuna sono solo 4).
Immagino il casino nel caso di decine e decine di clients ...

Che dire, ogni distro ha i suoi cazzi a quanto pare ....

Ma siamo clamorosamente OT.

A me non partiva il server vpn dato che la sua chiave server era una di quelle fallate.
Per fortuna è bastato emettere un nuovo certificato server per tirare avanti, viva le CA e le gerarchie.

Comunque fine OT :)

tn5250 si collega perfettamente no riesco a visulizare corettamente i caratteri tipo la "à" o la "è".
Per il collegamento ho usato map=280, e normalmente i caratteri li visualizzo correttamente...

Dopo l'installazione di tn5250 ho il seguente messaggio di warning, lanciando xt5250 map=280 HOST
Warning: Cannot convert string "nil2" to type FontStruct
xt5250: unable to open font "-misc-fixed-medium-r-semicondensed-*-13-120-75-75-c-60-iso10646-1", trying "fixed"....

L'emulatore si collega ma i caratteri tipo 'è' o 'à' non vengono visualizzati correttamente.

La stessa cosa succede quando lancio tn5250 map=280 HOST.

Ottimo articolo! E' difficile trovare materiale sull'argomento così ben strutturato.
Sara