Giter Site home page Giter Site logo

tn5250 / tn5250 Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 5.0 1.35 MB

A curses-based 5250 terminal client

Home Page: https://tn5250.github.io

License: GNU Lesser General Public License v2.1

Makefile 0.45% Shell 0.32% M4 0.26% C 98.57% Perl 0.40% Batchfile 0.01%
ibmi tn5250

tn5250's Introduction

tn5250

This is an implementation of the 5250 telnet protocol. It was originally an implementation for Linux, but it has been reportedly compiled on a number of other platforms. Contributed keyboard maps and termcap entries for FreeBSD are in this tarball as well (see freebsd/README for more information).

Building from Git

Skip to "Building and Installing" below if you got these sources from a .tar.gz release file.

Certain files, such as the libtool support files and some shell scripts which replace possibly missing commands on the target system are not in git because we don't maintain them. They can be installed with the following command:

./autogen.sh

This command requires current versions of the following packages, and the generated files may not work properly.

automake
autoconf
libtool

You may receive an error the first time you run this script. If so, run the script a second time to make sure you don't get an error (this is a bug with automake).

Building and Installing

To build the emulator simply type the following:

./configure
make
make install

Additional (but decidedly generic) installation instructions are available in the INSTALL file included in this distribution tarfile. Installation instructions specific to your platform exist if you are using Linux or FreeBSD -- they are in the linux/ and freebsd/ directories, respectively. Please read these before telling us that the function keys don't work ;-)

The emulator uses the ncurses library for manipulating the console. Make sure you have the ncurses development libraries installed before trying to compile the source. There have been both reports of the standard BSD curses working and not working, so you may have to install ncurses under *BSD.

X Windows

To use the emulator under X Windows, use the provided xt5250 shell script, which sets up a standard xterm (it will not work with an nxterm or an rxvt terminal).

There is one common problem which would cause xt5250 to flash once on the screen then disappear. If the termcap or terminfo entry for the "xterm-5250" terminal type does not exist, xterm will exit immediately.

Other Information

Other information is available on the web.

Enjoy!

tn5250's People

Contributors

carey avatar kadler avatar orlitzky avatar scottklement avatar sharkcz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

tn5250's Issues

Update TLS code

fc79bab added support for OpenSSL 1.1, but that is already EOL as of last month. The code needs to be made compatible with OpenSSL 3.0 at least. For sure functions like SSLv23_client_method (which no longer exist) will need to be replaced with calls to TLS_method, etc.

Might also be worth adding support for LibreSSL for the BSDs too.

Add CMake configuration

I find CMake much easier to deal with and maintain than autotools. It also supports tools like ninja.

CMake would also allow us to easily build on Windows and get rid of the custom build setup that exists over there (assuming we want to keep maintaining Windows support).

Cursor in protected area of display

Hello,

I have some trouble with the tn5250 emulator (on IBM i) in VSCODE.

When i press back space on the first screen the cursor is locked and i can't unlock it with the "CTRL" key.

Do you know how to solve the problem please ?

image
2023-11-21 18_00_28-Window

Thank you !

Fix backspace/delete on macOS

On macOS, the delete key in both iTerm2 and Terminal.app sends the following keys by default:

  • delete: 0x7F (DEL)
  • fn-delete: 0x1B 58 33 7E (^[3~)

While fn-delete does work, delete does not and the 0x7F instead is treated as a normal character and sent to the system as 0x1F (unit separator) in EBCDIC. Not only does the backspace not remove the character you wanted, but it inserted an additional garbage character (which will result in a CPD0018 from the command line if you don't remove them).

Changing the terminal to send ^H instead will make this work, but that breaks other applications.

Format source and add clang-format configuration

Due to the various authors working on different parts over the years, the source formatting is kind of all over the place. There's also some questionable formatting choices in places, eg. 3 space indentation.

undefined reference to symbol 'nodelay' - /lib64/libtinfo.so.6: error adding symbols: DSO missing from command line

tn5250 won't build on my Gentoo system:

/bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -lncurses -o tn5250 tn5250-cursesterm.o tn5250-tn5250.o ../lib5250/lib5250.la -lssl -lcrypto libtool: link: gcc -g -O2 -o .libs/tn5250 tn5250-cursesterm.o tn5250-tn5250.o -lncurses ../lib5250/.libs/lib5250.so -lssl -lcrypto /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: tn5250-cursesterm.o: undefined reference to symbol 'nodelay' /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: /lib64/libtinfo.so.6: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status

Seems related to this: https://bugs.gentoo.org/457530

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.