| ▲ | DiabloD3 7 hours ago | |||||||||||||||||||||||||
It sounds like you simply forgot to update your terminfo on your remote system. You must do this if your chosen terminal requires settings that are not compatible with "xterm-256color". Alacritty, kitty, and wezterm also require this, as they implement features that xterm doesn't (and most likely never will), if your terminfo DB is too old to already include them. Using Alacritty as an example, you'd take a file that looks like this, https://github.com/alacritty/alacritty/blob/master/extra/ala... , and run `tic -x -o "~/.terminfo" "that.info"` on it. Its been this way for like 30 years, and it'll never change. | ||||||||||||||||||||||||||
| ▲ | Brian_K_White 4 hours ago | parent | next [-] | |||||||||||||||||||||||||
If you have to configure the host to support the client rather than the client supporting unknown existing hosts, then what you have is a terminal, not a terminal emulator. In 1970 all terminals were their own thing, tied to a single host somewhere in the same building by a dedicated serial cable. The terminal didn't move or connect to random other hosts, and the host had to be specially configured to work with any terminal connected to it. Since then, a few terminal definitions have become standardized across all hosts for decades, and terminals are emulators that emulate one of those 40 year established standard definitions, because today terminals connect to countless unknown new random and varied hosts that the terminal user didn't install and configure before connecting, and may not even have the admin rights to do so after the fact either, and even if they do, it's wildly and inexcusably awful to require that. It's entirely backwards for a terminal today to default to asserting it's own new $TERM, and to characterize the problems caused by this as "the user forgot to do this totally unreasonable thing" that no other terminal or terminal emulator has required for 40 years. It's 100% a bug. The fact that it's intentional just means it's a design goal bug. | ||||||||||||||||||||||||||
| ▲ | dwedge 6 hours ago | parent | prev [-] | |||||||||||||||||||||||||
It might be a bug in remote handling and I might have unfairly called out GhostTTY for this, but "forgetting to update terminfo on my remote system" just doesn't hold with the way I work. I work managing different systems for different clients and often login to systems for the first time. The servers aren't mine, and configuring something like Ansible to configure my home just seems like a waste of time for little benefit. It means that generally I end up using systems that are likely to be already instead - Bash not zsh, Perl, basic vim without any bindings. It might sound special but I'm sure I'm far from the only person working this way. So given this, I'd always prefer a terminal that doesn't require me to change remote servers. In this particular case I can modify $TERM in my local .zshrc and it works fine so it's a moot point, but if I had to modify the remote system it would be a no go. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||