mirror of
https://github.com/KDE/konsole.git
synced 2026-05-06 13:43:15 -04:00
89 lines
3.7 KiB
Plaintext
89 lines
3.7 KiB
Plaintext
Konsole and the Linux console
|
|
|
|
|
|
From a technical point of view, the Linux console differes
|
|
so substantially from any other terminal, that it impossible
|
|
to fully emulate it. This is because the Linux console lives
|
|
in kernel space and interfaces by kernel means, which cannot
|
|
be simulated by any user space application.
|
|
|
|
Contrary to this fact, konsole can be configured to appear
|
|
and function console like to a degree that makes it virtually
|
|
undistinguishable from the original. So if you enjoy to run
|
|
KDE on a HAL/9 while flying to Jupiter, but always wondered
|
|
how the Linux console really looks like, switch off the
|
|
menubar, scrollbar and frame, select the Linux colors and
|
|
font and set the full screen mode.
|
|
|
|
You should get a pixel identical display then, despite the
|
|
fact that you're still running an X terminal. In case you're
|
|
getting confused whether running console or konsole then,
|
|
note that the mouse cursor looks different. Use the right
|
|
mouse button menu to switch between fullscreen and regular
|
|
mode. You might find the ALT-Tab and CTRL-Tab keys helpful
|
|
then, too.
|
|
|
|
|
|
* What make the Linux console so unique?
|
|
|
|
The central differences between the Linux console and xterm
|
|
like emulations are:
|
|
|
|
1) The Linux console uses some special devices (vcs,vcsa)
|
|
and ioctls for some purposes, for which no correspondent
|
|
escape codes exist.
|
|
2) The Linux console uses gpm for the mouse.
|
|
3) The Linux console does not have an application screen.
|
|
Xterm like application switch from a primary screen to
|
|
the application screen when running in full screen mode,
|
|
keeping the shell session apart from the application.
|
|
Application like MC emulation the application screen on
|
|
the Linux console using the devices mentioned in 1).
|
|
4) The Linux console may use a character map different from
|
|
the one used in X11.
|
|
5) The TERM environment variable is "linux"
|
|
6) A few key codes (F1-F5) differ.
|
|
7) The Linux console occupies the whole display.
|
|
|
|
Clearly, 1) to 3) makes the Linux console so distinct that
|
|
an explicit Linux console simulation cannot exist.
|
|
|
|
|
|
* Running Konsole in true Linux console mode:
|
|
|
|
To some degree, one can run application with Linux console
|
|
emulation, too (BUT THERE SHOULD BE NO NEED TO DO SO):
|
|
|
|
- export TERM=linux to trigger ncurses aware applications
|
|
to expect a linux console.
|
|
- set the appropriate charmap (this is cp437 on my installation)
|
|
to get graphical and international characters properly.
|
|
- set the Linux keymap for the F1-F5 function keys.
|
|
[TODO: to control the the above two points via menu settings
|
|
is work in progress, meaning not available in user space yet.]
|
|
|
|
Please note that these applications then may not react properly
|
|
on changing the window size anymore. Often they ignore it
|
|
completely or behave strange in other ways. I even saw one
|
|
application dying from the shock of noticing that the linux
|
|
console has simply changed it's size (Debian's dselect). Since
|
|
the Linux console can be resized, this behavior is to be
|
|
considered a bug of these applications, i cannot help it.
|
|
|
|
Mouse-aware application will most probably not recognize
|
|
mouse events (especially mc) since they might try to get
|
|
these events from gpm instead from the console.
|
|
|
|
MC will not be able to access the special console devices
|
|
then and cannot simulate a secondary screen, treating the
|
|
emulation as "dummy" with respect to it (^O).
|
|
|
|
The linux console can some funny quirks with special graphic
|
|
characters and i will not teach Konsole all of them. In rare
|
|
cases, they might display differently. Affected to my knowledge
|
|
are especially non-VT100 extensions taken from the AT&T 4410v1,
|
|
these are arrow symbols, a full block and a checker board. Most
|
|
other tricks that the linux console is able to do with character
|
|
sets are eventually not even used in a single instance, so you
|
|
will hardly be disturbed by it.
|