From: Nadav Har'El <nyh@math.technion.ac.il>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [Bug 1407808] [NEW] virtual console gives strange response to ANSI DSR
Date: Mon, 05 Jan 2015 21:54:24 -0000 [thread overview]
Message-ID: <20150105215424.22410.18753.malonedeb@gac.canonical.com> (raw)
In-Reply-To: 20150105215424.22410.18753.malonedeb@gac.canonical.com
Public bug reported:
With "-serial vc" (which is the default), qemu make strange responses to
the ANSI DSR escape sequence (\033[6n) which can confuse guests.
Terminal emulators supporting the ANSI escape sequences usually support
the "Device Status Report" escape sequence, \033[6n, to which as a
response the terminal injects as input the response \033[n;mR,
containing the current cursor position. An application running in the
guest can use this escape sequence to, for example, figure out the size
of the terminal it is running under, which can be useful as the guest
has no other standard way to figure out a "size" for the serial port.
Unfortunately, it seems that qemu when run with "-serial vc" (which
appears to be the default), when qemu gets the \033[6n escape sequence
on the serial port, it just responds with a single \033, and that's it!
This can confuse an application, could concievably assume that a
terminal either supports this escape sequence and injects the correct
response (\033[n;mR), or doesn't support it and injects absolutely
nothing as input - but not something in between.
This caused a problem on one shell implementation on OSv that tried to
figure out the terminal's size, and had to work around this unexpected
behavior (see https://github.com/cloudius-
systems/osv/commit/b79223584be40459861d1c12e1cb67e3e49e2a12).
** Affects: qemu
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1407808
Title:
virtual console gives strange response to ANSI DSR
Status in QEMU:
New
Bug description:
With "-serial vc" (which is the default), qemu make strange responses
to the ANSI DSR escape sequence (\033[6n) which can confuse guests.
Terminal emulators supporting the ANSI escape sequences usually
support the "Device Status Report" escape sequence, \033[6n, to which
as a response the terminal injects as input the response \033[n;mR,
containing the current cursor position. An application running in the
guest can use this escape sequence to, for example, figure out the
size of the terminal it is running under, which can be useful as the
guest has no other standard way to figure out a "size" for the serial
port.
Unfortunately, it seems that qemu when run with "-serial vc" (which
appears to be the default), when qemu gets the \033[6n escape sequence
on the serial port, it just responds with a single \033, and that's
it! This can confuse an application, could concievably assume that a
terminal either supports this escape sequence and injects the correct
response (\033[n;mR), or doesn't support it and injects absolutely
nothing as input - but not something in between.
This caused a problem on one shell implementation on OSv that tried to
figure out the terminal's size, and had to work around this unexpected
behavior (see https://github.com/cloudius-
systems/osv/commit/b79223584be40459861d1c12e1cb67e3e49e2a12).
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1407808/+subscriptions
next parent reply other threads:[~2015-01-05 22:00 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-05 21:54 Nadav Har'El [this message]
2020-08-07 17:52 ` [Bug 1407808] Re: virtual console gives strange response to ANSI DSR Thomas Huth
2020-08-10 8:56 ` Nadav Har'El
2020-08-12 6:29 ` Thomas Huth
2021-03-22 19:22 ` Peter Maydell
2021-04-30 8:21 ` Thomas Huth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150105215424.22410.18753.malonedeb@gac.canonical.com \
--to=nyh@math.technion.ac.il \
--cc=1407808@bugs.launchpad.net \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.