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:
- 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:
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 <email@example.com>