cursor stops blinking on wsl2 after running top #15186

Open
opened 2026-01-31 04:30:54 +00:00 by claunia · 0 comments
Owner

Originally created by @elsaco on GitHub (Sep 12, 2021).

Windows Terminal version (or Windows build number)

1.11.2421.0

Other Software

  • top, htop, tmux
  • this bug was first reported by @georgewheatcroft issue #11183

Steps to reproduce

  • launch top and exit

Expected Behavior

  • blinking cursor

Actual Behavior

  • cursor not blinking anymore
  • to recover "tput cvvis" command was used. This sets the cursor again to very visible (a.k.a blinking)

If setting "TERM=linux" from "TERM=xterm-256color" as suggested in #11183 a lot of functionality is being lost. Here's a comparison of both terminal profiles, notice all the NULL entries for "TERM=linux":

tux@ubuntu:~$ infocmp xterm-256color linux
comparing xterm-256color to linux.
    comparing booleans.
        eo: F:T.
        km: T:F.
        mc5i: T:F.
        npc: T:F.
        xon: F:T.
    comparing numbers.
        colors: 256, 8.
        cols: 80, NULL.
        lines: 24, NULL.
        ncv: NULL, 18.
        pairs: 32767, 64.
    comparing strings.
        acsc: '``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~', '++\,\,--..00__``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}c~~'.
        cbt: '\E[Z', NULL.
        civis: '\E[?25l', '\E[?25l\E[?1c'.
        clear: '\E[H\E[2J', '\E[H\E[J'.
        cnorm: '\E[?12l\E[?25h', '\E[?25h\E[?0c'.
        cvvis: '\E[?12;25h', '\E[?25h\E[?8c'.
        enacs: NULL, '\E)0'.
        flash: '\E[?5h$<100/>\E[?5l', '\E[?5h$<200/>\E[?5l'.
        ich1: NULL, '\E[@'.
        indn: '\E[%p1%dS', NULL.
        initc: '\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\', '\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x'.
        invis: '\E[8m', NULL.
        is2: '\E[!p\E[?3;4l\E[4l\E>', NULL.
        kDC: '\E[3;2~', NULL.
        kEND: '\E[1;2F', NULL.
        kHOM: '\E[1;2H', NULL.
        kIC: '\E[2;2~', NULL.
        kLFT: '\E[1;2D', NULL.
        kNXT: '\E[6;2~', NULL.
        kPRV: '\E[5;2~', NULL.
        kRIT: '\E[1;2C', NULL.
        kb2: '\EOE', '\E[G'.
        kcub1: '\EOD', '\E[D'.
        kcud1: '\EOB', '\E[B'.
        kcuf1: '\EOC', '\E[C'.
        kcuu1: '\EOA', '\E[A'.
        kend: '\EOF', '\E[4~'.
        kent: '\EOM', NULL.
        kf1: '\EOP', '\E[[A'.
        kf13: '\E[1;2P', '\E[25~'.
        kf14: '\E[1;2Q', '\E[26~'.
        kf15: '\E[1;2R', '\E[28~'.
        kf16: '\E[1;2S', '\E[29~'.
        kf17: '\E[15;2~', '\E[31~'.
        kf18: '\E[17;2~', '\E[32~'.
        kf19: '\E[18;2~', '\E[33~'.
        kf2: '\EOQ', '\E[[B'.
        kf20: '\E[19;2~', '\E[34~'.
        kf21: '\E[20;2~', NULL.
        kf22: '\E[21;2~', NULL.
        kf23: '\E[23;2~', NULL.
        kf24: '\E[24;2~', NULL.
        kf25: '\E[1;5P', NULL.
        kf26: '\E[1;5Q', NULL.
        kf27: '\E[1;5R', NULL.
        kf28: '\E[1;5S', NULL.
        kf29: '\E[15;5~', NULL.
        kf3: '\EOR', '\E[[C'.
        kf30: '\E[17;5~', NULL.
        kf31: '\E[18;5~', NULL.
        kf32: '\E[19;5~', NULL.
        kf33: '\E[20;5~', NULL.
        kf34: '\E[21;5~', NULL.
        kf35: '\E[23;5~', NULL.
        kf36: '\E[24;5~', NULL.
        kf37: '\E[1;6P', NULL.
        kf38: '\E[1;6Q', NULL.
        kf39: '\E[1;6R', NULL.
        kf4: '\EOS', '\E[[D'.
        kf40: '\E[1;6S', NULL.
        kf41: '\E[15;6~', NULL.
        kf42: '\E[17;6~', NULL.
        kf43: '\E[18;6~', NULL.
        kf44: '\E[19;6~', NULL.
        kf45: '\E[20;6~', NULL.
        kf46: '\E[21;6~', NULL.
        kf47: '\E[23;6~', NULL.
        kf48: '\E[24;6~', NULL.
        kf49: '\E[1;3P', NULL.
        kf5: '\E[15~', '\E[[E'.
        kf50: '\E[1;3Q', NULL.
        kf51: '\E[1;3R', NULL.
        kf52: '\E[1;3S', NULL.
        kf53: '\E[15;3~', NULL.
        kf54: '\E[17;3~', NULL.
        kf55: '\E[18;3~', NULL.
        kf56: '\E[19;3~', NULL.
        kf57: '\E[20;3~', NULL.
        kf58: '\E[21;3~', NULL.
        kf59: '\E[23;3~', NULL.
        kf60: '\E[24;3~', NULL.
        kf61: '\E[1;4P', NULL.
        kf62: '\E[1;4Q', NULL.
        kf63: '\E[1;4R', NULL.
        khome: '\EOH', '\E[1~'.
        kind: '\E[1;2B', NULL.
        kri: '\E[1;2A', NULL.
        kspd: NULL, '^Z'.
        mc0: '\E[i', NULL.
        mc4: '\E[4i', NULL.
        mc5: '\E[5i', NULL.
        nel: NULL, '\r\n'.
        oc: '\E]104\007', '\E]R'.
        rep: '%p1%c\E[%p2%{1}%-%db', NULL.
        rin: '\E[%p1%dT', NULL.
        ritm: '\E[23m', NULL.
        rmacs: '\E(B', '^O'.
        rmcup: '\E[?1049l\E[23;0;0t', NULL.
        rmkx: '\E[?1l\E>', NULL.
        rmm: '\E[?1034l', NULL.
        rmpch: NULL, '\E[10m'.
        rs1: '\Ec\E]104\007', '\Ec\E]R'.
        rs2: '\E[!p\E[?3;4l\E[4l\E>', NULL.
        setab: '\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m', '\E[4%p1%dm'.
        setaf: '\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m', '\E[3%p1%dm'.
        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', '\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;'.
        sgr0: '\E(B\E[m', '\E[m\017'.
        sitm: '\E[3m', NULL.
        smacs: '\E(0', '^N'.
        smcup: '\E[?1049h\E[22;0;0t', NULL.
        smkx: '\E[?1h\E=', NULL.
        smm: '\E[?1034h', NULL.
        smpch: NULL, '\E[11m'.
        u8: '\E[?%[;0123456789]c', '\E[?6c'.

Originally created by @elsaco on GitHub (Sep 12, 2021). ### Windows Terminal version (or Windows build number) 1.11.2421.0 ### Other Software - top, htop, tmux - this bug was first reported by @georgewheatcroft issue #11183 ### Steps to reproduce - launch top and exit ### Expected Behavior - blinking cursor ### Actual Behavior - cursor not blinking anymore - to recover "tput cvvis" command was used. This sets the cursor again to very visible (a.k.a blinking) If setting "TERM=linux" from "TERM=xterm-256color" as suggested in #11183 a lot of functionality is being lost. Here's a comparison of both terminal profiles, notice all the NULL entries for "TERM=linux": ``` tux@ubuntu:~$ infocmp xterm-256color linux comparing xterm-256color to linux. comparing booleans. eo: F:T. km: T:F. mc5i: T:F. npc: T:F. xon: F:T. comparing numbers. colors: 256, 8. cols: 80, NULL. lines: 24, NULL. ncv: NULL, 18. pairs: 32767, 64. comparing strings. acsc: '``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~', '++\,\,--..00__``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}c~~'. cbt: '\E[Z', NULL. civis: '\E[?25l', '\E[?25l\E[?1c'. clear: '\E[H\E[2J', '\E[H\E[J'. cnorm: '\E[?12l\E[?25h', '\E[?25h\E[?0c'. cvvis: '\E[?12;25h', '\E[?25h\E[?8c'. enacs: NULL, '\E)0'. flash: '\E[?5h$<100/>\E[?5l', '\E[?5h$<200/>\E[?5l'. ich1: NULL, '\E[@'. indn: '\E[%p1%dS', NULL. initc: '\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\', '\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x'. invis: '\E[8m', NULL. is2: '\E[!p\E[?3;4l\E[4l\E>', NULL. kDC: '\E[3;2~', NULL. kEND: '\E[1;2F', NULL. kHOM: '\E[1;2H', NULL. kIC: '\E[2;2~', NULL. kLFT: '\E[1;2D', NULL. kNXT: '\E[6;2~', NULL. kPRV: '\E[5;2~', NULL. kRIT: '\E[1;2C', NULL. kb2: '\EOE', '\E[G'. kcub1: '\EOD', '\E[D'. kcud1: '\EOB', '\E[B'. kcuf1: '\EOC', '\E[C'. kcuu1: '\EOA', '\E[A'. kend: '\EOF', '\E[4~'. kent: '\EOM', NULL. kf1: '\EOP', '\E[[A'. kf13: '\E[1;2P', '\E[25~'. kf14: '\E[1;2Q', '\E[26~'. kf15: '\E[1;2R', '\E[28~'. kf16: '\E[1;2S', '\E[29~'. kf17: '\E[15;2~', '\E[31~'. kf18: '\E[17;2~', '\E[32~'. kf19: '\E[18;2~', '\E[33~'. kf2: '\EOQ', '\E[[B'. kf20: '\E[19;2~', '\E[34~'. kf21: '\E[20;2~', NULL. kf22: '\E[21;2~', NULL. kf23: '\E[23;2~', NULL. kf24: '\E[24;2~', NULL. kf25: '\E[1;5P', NULL. kf26: '\E[1;5Q', NULL. kf27: '\E[1;5R', NULL. kf28: '\E[1;5S', NULL. kf29: '\E[15;5~', NULL. kf3: '\EOR', '\E[[C'. kf30: '\E[17;5~', NULL. kf31: '\E[18;5~', NULL. kf32: '\E[19;5~', NULL. kf33: '\E[20;5~', NULL. kf34: '\E[21;5~', NULL. kf35: '\E[23;5~', NULL. kf36: '\E[24;5~', NULL. kf37: '\E[1;6P', NULL. kf38: '\E[1;6Q', NULL. kf39: '\E[1;6R', NULL. kf4: '\EOS', '\E[[D'. kf40: '\E[1;6S', NULL. kf41: '\E[15;6~', NULL. kf42: '\E[17;6~', NULL. kf43: '\E[18;6~', NULL. kf44: '\E[19;6~', NULL. kf45: '\E[20;6~', NULL. kf46: '\E[21;6~', NULL. kf47: '\E[23;6~', NULL. kf48: '\E[24;6~', NULL. kf49: '\E[1;3P', NULL. kf5: '\E[15~', '\E[[E'. kf50: '\E[1;3Q', NULL. kf51: '\E[1;3R', NULL. kf52: '\E[1;3S', NULL. kf53: '\E[15;3~', NULL. kf54: '\E[17;3~', NULL. kf55: '\E[18;3~', NULL. kf56: '\E[19;3~', NULL. kf57: '\E[20;3~', NULL. kf58: '\E[21;3~', NULL. kf59: '\E[23;3~', NULL. kf60: '\E[24;3~', NULL. kf61: '\E[1;4P', NULL. kf62: '\E[1;4Q', NULL. kf63: '\E[1;4R', NULL. khome: '\EOH', '\E[1~'. kind: '\E[1;2B', NULL. kri: '\E[1;2A', NULL. kspd: NULL, '^Z'. mc0: '\E[i', NULL. mc4: '\E[4i', NULL. mc5: '\E[5i', NULL. nel: NULL, '\r\n'. oc: '\E]104\007', '\E]R'. rep: '%p1%c\E[%p2%{1}%-%db', NULL. rin: '\E[%p1%dT', NULL. ritm: '\E[23m', NULL. rmacs: '\E(B', '^O'. rmcup: '\E[?1049l\E[23;0;0t', NULL. rmkx: '\E[?1l\E>', NULL. rmm: '\E[?1034l', NULL. rmpch: NULL, '\E[10m'. rs1: '\Ec\E]104\007', '\Ec\E]R'. rs2: '\E[!p\E[?3;4l\E[4l\E>', NULL. setab: '\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m', '\E[4%p1%dm'. setaf: '\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m', '\E[3%p1%dm'. 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', '\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;'. sgr0: '\E(B\E[m', '\E[m\017'. sitm: '\E[3m', NULL. smacs: '\E(0', '^N'. smcup: '\E[?1049h\E[22;0;0t', NULL. smkx: '\E[?1h\E=', NULL. smm: '\E[?1034h', NULL. smpch: NULL, '\E[11m'. u8: '\E[?%[;0123456789]c', '\E[?6c'. ```
claunia added the Resolution-Duplicate label 2026-01-31 04:30:54 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#15186