# Characters in terminal are invisible (chrome)

**URL:** <https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625>\
**Category:** JupyterLab\
**Tags:** jupyterlab, how-to, help-wanted\
**Created:** [September 26, 2023, 1:13am UTC](https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625 "2023-09-26T01:13:06Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![agarrubio](https://avatars.discourse-cdn.com/v4/letter/a/977dab/32.png) [@agarrubio](https://discourse.jupyter.org/u/agarrubio)\
**Post date:** [September 26, 2023, 1:13am UTC](https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625/1 "2023-09-26T01:13:06Z")

</div>

When I type in the terminal, nothing is shown until I have typed several characters (3 to 6). This happens only in chrome, not in firefox. My Jupyter lab is Version 4.0.6, my OS is Ubuntu 20.04, Chrome is Version 117.0.5938.92 (Official Build) (64-bit).  
Command outputs (ls, for instance) is show normaly.  
Changing the font size or family has no positive effect.  
In Firefox, the font is ugly, but typing is normal.

---

<div class="post-metadata">

**Author:** ![spookster](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/spookster/32/8939_2.png) [@spookster](https://discourse.jupyter.org/u/spookster)\
**Post date:** [September 26, 2023, 5:16am UTC](https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625/2 "2023-09-26T05:16:38Z")

</div>

I had this once a while back. Try disabling all your browser extensions and try again. If the terminal works as expected, reenable them one by one and check which one confuses the terminal. I have forgotten which one it was. Probably some kind of dark thingy.

---

<div class="post-metadata">

**Author:** ![agarrubio](https://avatars.discourse-cdn.com/v4/letter/a/977dab/32.png) [@agarrubio](https://discourse.jupyter.org/u/agarrubio)\
**Post date:** [September 26, 2023, 7:52pm UTC](https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625/3 "2023-09-26T19:52:49Z")

</div>

Many thanks! Still the same problem with all extensions off.

---

<div class="post-metadata">

**Author:** ![spookster](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/spookster/32/8939_2.png) [@spookster](https://discourse.jupyter.org/u/spookster)\
**Post date:** [September 26, 2023, 9:03pm UTC](https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625/4 "2023-09-26T21:03:56Z")

</div>

hmmm. i had exactly the same problem couple of months back… did you by any chance change anything under chrome://flags ? or change chrome’s startup flags? something like… force-dark?

---

<div class="post-metadata">

**Author:** ![agarrubio](https://avatars.discourse-cdn.com/v4/letter/a/977dab/32.png) [@agarrubio](https://discourse.jupyter.org/u/agarrubio)\
**Post date:** [September 27, 2023, 12:21am UTC](https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625/5 "2023-09-27T00:21:12Z")

</div>

Thanks for your suggestion.  
I hadn’t changed any flags. And setting all to defaults did not solve the problem.  
I had dissabled GPU aceleration, but enabling it had no effect.

Funny that this happens in my home computer. If I use my home jupyter from work (port forwarding), I don’t have that issue, even though both chromes are exactly the same version, and it is exactly the same jupyter session.

Greetings

---

<div class="post-metadata">

**Author:** ![krassowski](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/krassowski/32/1685_2.png) [@krassowski](https://discourse.jupyter.org/u/krassowski)\
**Post date:** [September 27, 2023, 9:38am UTC](https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625/6 "2023-09-27T09:38:14Z")

</div>

Does the terminal on [http://xtermjs.org/](http://xtermjs.org/) work for you in the affected browser?

---

<div class="post-metadata">

**Author:** ![agarrubio](https://avatars.discourse-cdn.com/v4/letter/a/977dab/32.png) [@agarrubio](https://discourse.jupyter.org/u/agarrubio)\
**Post date:** [September 27, 2023, 7:55pm UTC](https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625/7 "2023-09-27T19:55:43Z")

</div>

Thanks for your suggestion. Interestingly, it has the same issue.

---

<div class="post-metadata">

**Author:** ![spookster](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/spookster/32/8939_2.png) [@spookster](https://discourse.jupyter.org/u/spookster)\
**Post date:** [September 27, 2023, 9:01pm UTC](https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625/8 "2023-09-27T21:01:06Z")

</div>

another thing that comes to mind is ozone-platform in chrome://flags try different settings and see if it helps anything.

---

<div class="post-metadata">

**Author:** ![krassowski](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/krassowski/32/1685_2.png) [@krassowski](https://discourse.jupyter.org/u/krassowski)\
**Post date:** [September 28, 2023, 10:51am UTC](https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625/9 "2023-09-28T10:51:11Z")

</div>

In that case, can you open an issue on [GitHub - xtermjs/xterm.js: A terminal for the web](https://github.com/xtermjs/xterm.js) and then link to it here so we can follow? Maintainers of xterm will be in much better position to suggest what may be the problem (or maybe even that this is a bug).

---

<div class="post-metadata">

**Author:** ![spookster](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/spookster/32/8939_2.png) [@spookster](https://discourse.jupyter.org/u/spookster)\
**Post date:** [September 28, 2023, 5:37pm UTC](https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625/10 "2023-09-28T17:37:23Z")

</div>

this is probably related to this [issue](https://github.com/xtermjs/xterm.js/issues/4665) then.

---

<div class="post-metadata">

**Author:** ![agarrubio](https://avatars.discourse-cdn.com/v4/letter/a/977dab/32.png) [@agarrubio](https://discourse.jupyter.org/u/agarrubio)\
**Post date:** [September 28, 2023, 8:47pm UTC](https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625/11 "2023-09-28T20:47:55Z")

</div>

The behaviour is the same. So it could be related.

---

<div class="post-metadata">

**Author:** ![agarrubio](https://avatars.discourse-cdn.com/v4/letter/a/977dab/32.png) [@agarrubio](https://discourse.jupyter.org/u/agarrubio)\
**Post date:** [September 28, 2023, 8:51pm UTC](https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625/12 "2023-09-28T20:51:04Z")

</div>

This is a similar issue: [When input, characters are not displayed · Issue #8884 · Eugeny/tabby · GitHub](https://github.com/Eugeny/tabby/issues/8884#issuecomment-1706675883)

It is solved by changing the frontend from “xterm (WebGL)” to “xterm (canvas)”.

However, I don’t know how to see or change my frontend. Any suggestion?

---

<div class="post-metadata">

**Author:** ![krassowski](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/krassowski/32/1685_2.png) [@krassowski](https://discourse.jupyter.org/u/krassowski)\
**Post date:** [September 28, 2023, 10:12pm UTC](https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625/13 "2023-09-28T22:12:56Z")

</div>

JupyterLab 4.0 defaults to WebGL if supported, then canvas if supported, then pure HTML ([Upgrades Xterm to v. 5 by JasonWeill · Pull Request #13685 · jupyterlab/jupyterlab · GitHub](https://github.com/jupyterlab/jupyterlab/pull/13685)). Between this and a similar Firefox issue I now think that it would be a good idea to add a setting allowing user to choose between WebGL/canvas/HTML/auto (i.e. current behaviour). Would you like to open a feature request on [Issues · jupyterlab/jupyterlab · GitHub](https://github.com/jupyterlab/jupyterlab/issues/)?

---

<div class="post-metadata">

**Author:** ![agarrubio](https://avatars.discourse-cdn.com/v4/letter/a/977dab/32.png) [@agarrubio](https://discourse.jupyter.org/u/agarrubio)\
**Post date:** [September 30, 2023, 12:29am UTC](https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625/14 "2023-09-30T00:29:54Z")

</div>

Thanks, krassowski!  
I have followed your sugestion here:

> <https://github.com/jupyterlab/jupyterlab/issues/15183>
>
> \<!--
> Thanks for thinking of a way to improve JupyterLab. If this solves a probl…em for you, then it probably solves that problem for lots of people! So the whole community will benefit from this request.
> 
> 
> Before creating a new feature request please search the issues for relevant feature requests.
> \--\>
> 
> \### Problem
> In my setup, the characters I type in the terminal are not shown untill I type 4 to 6 more characters. It appear to be related to the WebG frontend, since other people with similar issues in Xterm sove it by changing to the canvas frontend.
> 
> https://github.com/Eugeny/tabby/issues/8884#issuecomment-1706675883
> 
> \<!-- Provide a clear and concise description of what problem this feature will solve. For example:
> 
> \* I'm always frustrated when \[...\] because \[...\]
> \* I would like it if \[...\] happened when I \[...\] because \[...\]
> \--\>
> 
> \### Proposed Solution
> 
> It would be a good idea to let the user select the frontend, between WebGL/canvas/HTML/auto.
> 
> \<!-- Provide a clear and concise description of a way to accomplish what you want. For example:
> 
> \* Add an option so that when \[...\] \[...\] will happen
> --\>
> 
> \### Additional context
> This issue has been dicussed here:
> 
> https://discourse.jupyter.org/t/characters-in-terminal-are-invisible-chrome/21625/11
> 
> \<!-- Add any other context or screenshots about the feature request here. You can also include links to examples of other programs that have something similar to your request. For example:
> 
> \* Another project \[...\] solved this by \[...\]
> \--\>
