contour-terminal / contour

Modern C++ Terminal Emulator
http://contour-terminal.org/
Apache License 2.0
2.47k stars 107 forks source link

How do you install contours terminfo over ssh? #1318

Open ferdinandyb opened 1 year ago

ferdinandyb commented 1 year ago

For those of us who have no idea about these stuff: can you add a oneliner somewhere that installs terminfo on a remote computer? Possibly a version where one has root and where one does not.

Thanks!

whisperity commented 1 year ago

The wireframe is as follows:

contour generate terminfo to file
scp file machine:
ssh machine tic file

tic will automatically put the resulting binary into ~/.terminfo, so when you then connect with an active shell it'll already recognise it.

I have an sshrc that deals with spinning up an agent if you aren't forwarding one, I will look into extending that with the calling of terminfo and creating a local wrapper over the ssh command.

whisperity commented 1 year ago

The biggest killer here is having to come up with a script that works (can find contour, acts as if it was the ssh command, etc.) on the Windows side of things when ran as a client...

christianparpart commented 1 year ago

The binary terminfo file is packaged along with the packages (Not sure for Windows right out of my head though).

I am not sure it's good to require users to use tic to compile the contour generated terminfo source file.

It's probably a good idea to put that file into the release page for a single-file download as well (for use-cases like yours).

I think we can add an option (/a flag) to contour CLI to output the compiled terminfo file rather than the source terminfo file. But that requires a little bit of indirection during build step (not impossible).

Yaraslaut commented 6 months ago

I think that solution that @whisperity pointed out is the optimal one, you also can install contour from on server and terminfo file will be installed alongside.

ferdinandyb commented 6 months ago

I've personally gotten to use infocmp | ssh [machine] tic - for a oneliner.