Characters in terminal are invisible (chrome)

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.

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.

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

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?

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.


Does the terminal on work for you in the affected browser?

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

1 Like

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

In that case, can you open an issue on GitHub - xtermjs/xterm.js: A terminal for the web 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).

this is probably related to this issue then.

1 Like

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

This is a similar issue: When input, characters are not displayed · Issue #8884 · Eugeny/tabby · GitHub

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?

1 Like

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). 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?

1 Like

Thanks, krassowski!
I have followed your sugestion here:

1 Like