alacritty: tmux doesn't recognize alacritty
First, thank you for this superb terminal đ
Which operating system does the issue occur on? Iâm using macOS Mojave 10.14.5
After I install alacritty terminfo as mentioned here, I canât open tmux anymore. I killed all tmux session, restarted the machine also, but it didnât work.
This message shows up when I run tmux inside alacritty:
open terminal failed: missing or unsuitable terminal: alacritty
It seems that I installed the terminfo correctly because I can run imfocmp inside alacritty and get the following result. (click on Details to expand).
~ âŻâŻâŻ infocmp
# Reconstructed via infocmp from file: /usr/share/terminfo/61/alacritty
alacritty|alacritty terminal emulator,
am, bce, ccc, hs, km, mc5i, mir, msgr, npc, xenl,
colors#256, cols#80, it#8, lines#24, pairs#32767,
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=^M,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
cud=\E[%p1%dB, cud1=^J, 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, dsl=\E]2;\007, ech=\E[%p1%dX,
ed=\E[J, el=\E[K, el1=\E[1K, flash=\E[?5h$<100/>\E[?5l,
fsl=^G, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH,
ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J,
indn=\E[%p1%dS,
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=^H,
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,
rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM,
rin=\E[%p1%dT, ritm=\E[23m, rmacs=\E(B, rmam=\E[?7l,
rmcup=\E[?1049l\E[23;0;0t, rmir=\E[4l, rmkx=\E[?1l\E>,
rmm=\E[?1034l, 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,
setb@, setf@,
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\E[22;0;0t, smir=\E[4h, smkx=\E[?1h\E=,
smm=\E[?1034h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
tsl=\E]2;, u6=\E[%i%d;%dR, u7=\E[6n,
u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%i%p1%dd,
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 4
- Comments: 31 (20 by maintainers)
@dinhtungdu
tmux
requiresscreen-256color
ortmux-256color
terminfo ( other terminfo can work, but thereâs no guaranty about it) . As far as I remember macOs lacks tmux-256color.screen-256color
lacks italics support btw. You can try addingin your
.tmux.conf
. ( ifalacritty:RGB
fails tryalacritty:Tc
)Iâm thinking this issue should be closed, maybe with a terminfo entry added to the FAQ? I donât see any action we need to take in the codebase. Am I missing something?
Just to see how bad things are, I
ssh
âd into a server without thealacritty
terminfo entry and tried a few commands:Fixing the issue was trivial (as others have mentioned):
Just set
TERM
inalacritty.yml
or doenv TERM=xterm-256color ssh
or installterminfo
on remote server yourself withtic
, I donât see an issue here.This is not a solution, you were using xterm-256color terminfo, what stops you to continue using it in config? Like I donât get your problem, sorry.
This issue breaks tmux/htop/⌠over SSH
Yes.
Alacritty is not XTerm. And neither is gnome-terminal, Kitty, or any other terminal emulator. Pretending you are just leads to problems, since XTerm supports features which Alacritty doesnât support and Alacritty supports features which XTerm doesnât support. In fact, there is no terminal emulator which supports 100% of what XTerm does, so using its terminfo will lead to issues. Not everyone might notice them, but they definitely exist.
Whatâs even more problematic with this, is that no program running inside of a terminal emulator can rely on terminfos being correct, when everyone is using xterm-256color. Which in the end just leads to dirty hacks like reading environment variables to see if the terminal is VTE or not.
There is no winning with this, it takes years and years for a new terminfo entry to be available almost everywhere. OS X still doesnât have
tmux
and it was added to terminfo in 2015. RHEL7 will probably never have it, and it isnât EOL until 2024. I have no idea about AIX or Solaris.You either use the new one and require users to work around it if it is missing or live for >10 years with all the annoyances that come from having the wrong entry.
Personally I think Alacritty has made the right choice here, it should not be a huge burden on the typical user to work around this.
He has mentioned before that he uses i3. Since itâs a tiling window manager, he likely just starts up new terminals as needed and reorganizes if necessary.
I switched back to iTerm (and I donât use
tmux
anymore), but Iâll try to reproduce the issue when I have time.Because you canât reproduce, letâs close this, for now.
Well, it was not outdated considering I was on latest stable (6.1.7). It seems like alacritty was added some times ago, but in the master: itâs mentioned as new
terminfo
definition in the 6.2 changelog (see https://invisible-island.net/ncurses/announce.html) which is dated from february 12th, 2020.So yeah, itâs probably now an âoldâ change that got triggered by the arrival of alacrittyâs definition in ncurses 6.2âs
terminfo
.Now with some explanations I also understand and think the choice is the right one. However, documenting the issue might be a good idea I think. Sorry for the confusion or if the way I expressed things was unclear regarding that đ
The difference is that
xterm-256color
is for the version of the terminal emulator for the X Window System that supports 256 colors. Thealacritty
terminfo is thus for the Alacritty terminal emulator. It describes âthe capabilities of hundreds of different display terminals. This allows external programs to be able to have character-based display output, independent of the type of terminal.â (Per the Wikipedia article: https://en.wikipedia.org/wiki/Terminfo).The way I see it, it is the job of every terminal emulator to include or provide some sort of terminfo at some point during its development.
@chrisduerr Sorry, itâs been too long since I reported this issue, but Iâm sure that it doesnât relate to
ssh
in my original report. itâs the issue of starting new tmux session when terminfo is set toalacritty
.@nixpulvis There has been a lot of noise in this issue unfortunately, but as far as I understand it, @dinhtungdu issue does not involve any
ssh
.Running
tmux
locally with thealacritty
terminfo set at Alacritty startup should work. The only thing that doesnât work locally is to havealacritty
terminfo inside of tmux, but I donât think thatâs the case here?Maybe some clarification from @dinhtungdu could be useful. If weâre talking about
ssh
oralacritty
terminfo inside oftmux
, then this issue can be closed since there is no issue present.Thank @kchibisov and @chrisduerr!
FYI, I ended up with aliasing tmux to
TERM=xterm-256color tmux
whileterminfo
is set toalacritty
.There are simpler ways to be considered:
TERM
in config file toxterm-256color
.alacritty
terminfo if youâre using tmux.@chrisduerr: How do you manage multiple session with alacritty without tmux?
Yeah, as far as I understood it the problem here is that tmux does not launch from Alacritty if the term outside is set to Alacritty.
@kchibisov I donât use tmux myself, but thatâs inside of tmux, not outside of it, right? It should start just fine with the Alacritty terminfo.