Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with "indn" terminfo capability support #32

Open
rcx opened this issue Feb 8, 2019 · 4 comments
Open

Problem with "indn" terminfo capability support #32

rcx opened this issue Feb 8, 2019 · 4 comments

Comments

@rcx
Copy link

rcx commented Feb 8, 2019

Hello, I have been experiencing issues with terminal output mangling on newer distributions (namely 18.04). I have attached two terminfo files: screen-256color-NEW, copied from an installation of WSL Ubuntu 18.04, and screen-256color-OLD, copied from a Ubuntu 16.04 host. The screen-256color-NEW terminfo file causes broken output, whereas screen-256color-OLD produces correct output.

It took me a lot of time, but I narrowed this issue down to differences in terminfo. The use case is bash or zsh within tmux. Fish shell works perfectly, but bash and zsh are broken. Bash does not refresh the top line on Ctrl-L, and zsh seems to have an off-by-one issue refreshing the console. Moreover, vim and nano seem badly broken.

Steps to reproduce.

cp screen-256color-NEW /lib/terminfo/s/screen-256color-NEW
export TERM=screen-256color-NEW
tmux
zsh 
# then press enter a few times

I am using connector, and my Windows is 1809 Build 17763.

terminfo.zip

@rcx rcx changed the title Mangled output in bash, zsh when presented with newer screen-256color terminfo Mangled output in when dealing with newer screen-256color terminfo Feb 8, 2019
@rcx
Copy link
Author

rcx commented Feb 8, 2019

Try TERM=xterm or TERM=xterm-256color. It's broken inside tmux. Then, try TERM=xterm-color. No breakage. There must be something in xterm compared to xterm-color which is breaking it.

@rcx
Copy link
Author

rcx commented Feb 8, 2019

I looked at xterm-256color terminfo.

#	Reconstructed via infocmp from file: /lib/terminfo/x/xterm-256color
xterm-256color|xterm with 256 colors,
	am,
	bce,
	ccc,
	km,
	mc5i,
	mir,
	msgr,
	npc,
	xenl,
	colors#0x100,
	cols#80,
	it#8,
	lines#24,
	pairs#0x7fff,
	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
	bel=^G,
	blink=\E[5m,
	bold=\E[1m,
	cbt=\E[Z,
	civis=\E[?25l,
	clear=\E[H\E[2J,
	cnorm=\E[?12l\E[?25h,
	cr=\r,
	csr=\E[%i%p1%d;%p2%dr,
	cub=\E[%p1%dD,
	cub1=^H,
	cud=\E[%p1%dB,
	cud1=\n,
	cuf=\E[%p1%dC,
	cuf1=\E[C,
	cup=\E[%i%p1%d;%p2%dH,
	cuu=\E[%p1%dA,
	cuu1=\E[A,
	cvvis=\E[?12;25h,
	dch=\E[%p1%dP,
	dch1=\E[P,
	dim=\E[2m,
	dl=\E[%p1%dM,
	dl1=\E[M,
	ech=\E[%p1%dX,
	ed=\E[J,
	el=\E[K,
	el1=\E[1K,
	flash=\E[?5h$<100/>\E[?5l,
	home=\E[H,
	hpa=\E[%i%p1%dG,
	ht=^I,
	hts=\EH,
	ich=\E[%p1%d@,
	il=\E[%p1%dL,
	il1=\E[L,
	ind=\n,
	indn=\E[%p1%dS, # PROBLEMATIC LINE
	initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
	invis=\E[8m,
	is2=\E[!p\E[?3;4l\E[4l\E>,
	kDC=\E[3;2~,
	kEND=\E[1;2F,
	kHOM=\E[1;2H,
	kIC=\E[2;2~,
	kLFT=\E[1;2D,
	kNXT=\E[6;2~,
	kPRV=\E[5;2~,
	kRIT=\E[1;2C,
	kb2=\EOE,
	kbs=^?,
	kcbt=\E[Z,
	kcub1=\EOD,
	kcud1=\EOB,
	kcuf1=\EOC,
	kcuu1=\EOA,
	kdch1=\E[3~,
	kend=\EOF,
	kent=\EOM,
	kf1=\EOP,
	kf10=\E[21~,
	kf11=\E[23~,
	kf12=\E[24~,
	kf13=\E[1;2P,
	kf14=\E[1;2Q,
	kf15=\E[1;2R,
	kf16=\E[1;2S,
	kf17=\E[15;2~,
	kf18=\E[17;2~,
	kf19=\E[18;2~,
	kf2=\EOQ,
	kf20=\E[19;2~,
	kf21=\E[20;2~,
	kf22=\E[21;2~,
	kf23=\E[23;2~,
	kf24=\E[24;2~,
	kf25=\E[1;5P,
	kf26=\E[1;5Q,
	kf27=\E[1;5R,
	kf28=\E[1;5S,
	kf29=\E[15;5~,
	kf3=\EOR,
	kf30=\E[17;5~,
	kf31=\E[18;5~,
	kf32=\E[19;5~,
	kf33=\E[20;5~,
	kf34=\E[21;5~,
	kf35=\E[23;5~,
	kf36=\E[24;5~,
	kf37=\E[1;6P,
	kf38=\E[1;6Q,
	kf39=\E[1;6R,
	kf4=\EOS,
	kf40=\E[1;6S,
	kf41=\E[15;6~,
	kf42=\E[17;6~,
	kf43=\E[18;6~,
	kf44=\E[19;6~,
	kf45=\E[20;6~,
	kf46=\E[21;6~,
	kf47=\E[23;6~,
	kf48=\E[24;6~,
	kf49=\E[1;3P,
	kf5=\E[15~,
	kf50=\E[1;3Q,
	kf51=\E[1;3R,
	kf52=\E[1;3S,
	kf53=\E[15;3~,
	kf54=\E[17;3~,
	kf55=\E[18;3~,
	kf56=\E[19;3~,
	kf57=\E[20;3~,
	kf58=\E[21;3~,
	kf59=\E[23;3~,
	kf6=\E[17~,
	kf60=\E[24;3~,
	kf61=\E[1;4P,
	kf62=\E[1;4Q,
	kf63=\E[1;4R,
	kf7=\E[18~,
	kf8=\E[19~,
	kf9=\E[20~,
	khome=\EOH,
	kich1=\E[2~,
	kind=\E[1;2B,
	kmous=\E[M,
	knp=\E[6~,
	kpp=\E[5~,
	kri=\E[1;2A,
	mc0=\E[i,
	mc4=\E[4i,
	mc5=\E[5i,
	meml=\El,
	memu=\Em,
	oc=\E]104\007,
	op=\E[39;49m,
	rc=\E8,
	rev=\E[7m,
	ri=\EM,
	rin=\E[%p1%dT,
	ritm=\E[23m,
	rmacs=\E(B,
	rmam=\E[?7l,
	rmcup=\E[?1049l,
	rmir=\E[4l,
	rmkx=\E[?1l\E>,
	rmso=\E[27m,
	rmul=\E[24m,
	rs1=\Ec\E]104\007,
	rs2=\E[!p\E[?3;4l\E[4l\E>,
	sc=\E7,
	setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m,
	setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
	sgr0=\E(B\E[m,
	sitm=\E[3m,
	smacs=\E(0,
	smam=\E[?7h,
	smcup=\E[?1049h,
	smir=\E[4h,
	smkx=\E[?1h\E=,
	smso=\E[7m,
	smul=\E[4m,
	tbc=\E[3g,
	u6=\E[%i%d;%dR,
	u7=\E[6n,
	u8=\E[?1;2c,
	u9=\E[c,
	vpa=\E[%i%p1%dd,

Removing this cap indn=\E[%p1%dS,, recompiling with tic resolves this issue. I am not sure why.

From man terminfo:

parm_index          indn           SF       scroll forward #1 lines (P)

Is this cap not implemented by connector? Not using the connector avoids this issue.

@rcx rcx changed the title Mangled output in when dealing with newer screen-256color terminfo Problem with "indn" terminfo capability support Feb 8, 2019
@rcx
Copy link
Author

rcx commented Feb 8, 2019

Workaround here. Unfortunately, I have to install it on every server, but much better than before.

@QrchackOfficial
Copy link

This! Thanks, that saved my day. The workaround works beautifully

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants