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
Linux vconsole with utf-8 character broke when autosuggesting #2602
Comments
I can't reproduce this problem. Albeit I didn't use You also specify that it is necessary to close the existing fish process by typing \cD to close the terminal and then open a new terminal to the same host. What happens if you type |
@krader1961 If I Am Correct, framebuffer isn't X11 and it can't display utf8 characters.
A new terminal would just works fine, there is no reason it wouldn't work.
It wouldn't have any problems as it can display the character. I don't think it is |
Works for me. I tried both with your text here and the unicode snowman (☃). The glyph itself isn't displayed correctly (because IIRC kernel vts are limited to 256 characters), but it doesn't harm the prompt. @krader1961: He means the linux kernel terminals (you know, getty and stuff) - though I've never found an unmistakeable term for just those. |
I think usually they are called virtual console or vconsole for short. There is a term that supports UTF-8 and more goodies. See https://github.com/dvdhrm/kmscon. I spawn that one for my extra TTY:s. |
As you implied, @faho, the OP is probably talking about "linux kernel terminals"; aka virtual consoles. the linux framebuffer driver provides an abstraction for the graphics hardware and is used by the X11 subsystem. The @pickfire We really need more information such as the Linux distro, that you are in fact running your commands on the linux console, the contents of The linux virtual console driver sort of supports Unicode: see http://askubuntu.com/questions/23610/how-to-enable-unicode-support-in-a-tty for one article on this topic. I'm guessing that the default, non-UTF-8 font, used by the linux virtual console is the source of the problem. Which is to say it's probably garbling the UTF-8 sequences output by fish. Does running FWIW, My previous job was as a Linux level 3 support engineer at IBM with a specialization in kernel crash dump analysis for almost a decade. And the decade before that supporting Sequent's unique flavor of UNIX known as Dynix/3 then Dynix/PTX. In those two decades the biggest challenge in solving customer problems was usually getting a clear and concise problem statement :-) |
@faho, that steps isn't real, I just reproduce something similar based on my situation. This is a real:
|
@krader1961 There is a lot of questions, I will brake it down into small pieces, ask me anything if I had not. I am using
It should be the same, I didn't not
Because some called it framebuffer and some called it linux console. I need to use framebuffer at that moment because I want to watch video without triggering the screen locker (
No, it doesn't.
I know that by somehow ugly hack can allow framebuffer to display unicode support but as I am not using it very frequently, I don't think that is required. My fish_version is |
I agree it "should be the same". However in my 20+ years of experience working problems like this assumptions are frequently wrong. So it is important to actually collect data and confirm whether or not the assumption is correct. Based on your other answers I conclude you're using a Raspberry Pi, https://www.raspberrypi.org/. You're probably therefore running X11 on top of the framebuffer driver on top of the linux virtual console driver. Presumably fish is being launched inside a terminal emulator of some sort. But again, I'm just making a SWAG, (silly wild assed guess) because I can't really tell from your description what the environment is that fish is running within. Perhaps a screen-shot would help. |
I can't reproduce this on 4.5.0 using the text mode console ( https://en.wikipedia.org/wiki/Linux_console has a good disambiguation of the difference between the virtual terminal and the underlying device (text-mode or framebuffer). |
@pickfire: What's your If you set $LANG or LC_CTYPE to something with UTF-8 in your config.fish (e.g. "en_US.UTF-8") does that help? |
@faho, @zanchey I need to recheck this, I will see if I could reproduce it with fish 2.3. My
$LANGUAGE is unset and yeah, I am using ALARM |
On another system (arch with fish 2.3), it showed a block character (maybe indicating that it can't display it, but then when I deleted those character, the characters that I had deleted turned red (maybe it's expected). I think this is solved now, closing |
Hi, after a few updates, it seems that
fish
shows something weird when autosuggesting (grey characters). Step to reproduce:touch 'asdf — test'
touch
in a terminal, 'asdf — test' shows up behind it.^D
to close the terminalCtrl+Alt+F2
to open framebuffertouch
As you type:
4
is showed up at the end of lineThe text was updated successfully, but these errors were encountered: