Testers wanted: xterm-style emulator!

Ed Schouten ed at 80386.nl
Fri Sep 25 14:28:53 UTC 2009

Hi folks,

I just committed a small patch for the Syscons terminal emulator that
allows you all to test an xterm-style terminal emulator without
requiring any recompilation of your kernel (just make sure you run HEAD
at r197481 or later).

I am considering making the xterm-style emulator the default somewhere
in the future, because it has the following advantages:

- Even though a larger set of instructions is a pain to implement, it
  does reduce bandwidth. When you use the xterm-style emulator,
  applications can use things like scrolling regions to scroll selected
  parts of the screen. This means that applications like screen(1),
  minicom(1), vi(1) (read: apps with status lines at the top/bottom)
  don't need to generate massive amounts of data each time you need to

- Because 99% of all graphical terminal emulators use xterm-style
  emulation as well, you can finally use tools like dtach(1) between the
  console and X11 without any problems. dtach(1) doesn't perform any
  terminal emulation. It just forwards data.

- You can finally SSH/telnet/rlogin/cu/etc. to devices such as switches
  and other operating systems without getting artifacts or termcap

- It makes it easier for us to eventually get Unicode working. cons25
  and Unicode is hard, because at least our termcap entry uses things
  like 8-bit CP437 box drawing (ACS).

There are still some small things broken with the xterm-style emulator,
but it shouldn't be too bad. I've been using it for more than half a
year or so. Known issues are:

- The cursor keys, F1 to F12, insert, delete, home, end, page up, page
  down, etc. may not always work as expected. I'll look into this soon.

- Box drawing *should* work the way it did before, but if you load
  different fonts, it may display the incorrect glyphs. I don't consider
  this to be a real bug, because this problem also exists when using

How to help out:

- Make sure you run FreeBSD HEAD r197481 or later.

- Log in on the console.

- Run the following commands:

	printf '\033[=T'
	export TERM=xterm

- Just do the stuff you normally do and report any rendering issues that
  show up. Please give a detailed explanation of the programs you ran
  and what you had to do to trigger the issue. You can also use
  applications like tee(1) to capture display output.

- If you want to stop testing:

	printf '\033[=1T'
	export TERM=cons25

You can also activate the xterm-style emulation by default. All you need
to do, is compile your kernel with options TEKEN_XTERM set. Be sure to
update your /etc/ttys to list xterm instead of cons25.


 Ed Schouten <ed at 80386.nl>
 WWW: http://80386.nl/

More information about the freebsd-current mailing list