← Back to context

Comment by kccqzy

18 hours ago

It’s rude to install a terminfo on a remote machine (which you may not be the owner of). It’s a preposterous for a terminal emulator to install things on a remote machine just to make it work.

It's actually the remote machine that isn't working, but I get the frustration. What I did to fix this is to override the environment variables in your SSH config like this:

Host * SetEnv TERM=xterm-256color

If you want to use in a terminal emulator features that do not exist in any xterm variant and the remote computer does know only xterm, there is no way to do that without installing data into the terminfo database.

Otherwise, there is no need to install anything, you should just set the environment variable TERM in the remote computer to one of the xterm variants and then modern terminal emulators like kitty or ghostty will still work fine, but of course only as long as you use the xterm-compatible subset of their features.

It's not a VAX that you're physically plugging a terminal into. The remote machine is totally capable of communicating with a newer terminal, it just needs to know how. You're being nice by giving it that information. You can also just install it locally in your home directory (~/.terminfo). (You used to be able to stuff the entire entry into the TERMCAP environment variable and not install anything.)

If the remote machine doesn’t have the right support for your terminal, what do you suggest?

  • You can install stuff--with tic(1)--inside your user account (you do have one, right?) and be happy that way.