resizecons
change kernel idea of the console size
see also :
setfont - stty
Synopsis
resizecons
COLSxROWS
resizecons -lines ROWS
add an example, a script, a trick and tips
examples
source
There is a security hole in RedHat 2.1, which installs the
program
/usr/bin/resizecons suid root. The resizecons program
allows a user
/usr/bin/resizecons suid root. The resizecons program
allows a user
to change the videmode of the console. During this process, it
runs
description
The
resizecons command tries to change the videomode of
the console. There are several aspects to this: (a) the
kernel must know about it, (b) the hardware must know about
it, (c) user programs must know about it, (d) the console
font may have to be adapted.
(a) The kernel
is told about the change using the ioctl VT_RESIZE. This
causes the kernel to reallocate console screen memory for
all virtual consoles, and might fail if there is not enough
memory. (In that case, try to disallocate some virtual
consoles first.) If this ioctl succeeds, but a later step
fails (e.g., because you do not have root permissions), you
may be left with a very messy screen.
The most
difficult part of this is (b), since it requires detailed
knowledge of the video card hardware, and the setting of
numerous registers. Only changing the number of rows is
slightly easier, and resizecons will try to do that
itself, when given the -lines option. (Probably, root
permission will be required.) The command resizecons
COLSxROWS will execute restoretextmode -r
COLSxROWS (and hence requires that you have svgalib
installed). Here COLSxROWS is a file that was created
earlier by restoretextmode -w COLSxROWS. Again,
either root permissions are required, or
restoretextmode has to be suid root.
In order to
deal with (c), resizecons does a ’stty rows
ROWS cols COLS’ for each active console (in the range
tty0..tty15), and sends a SIGWINCH signal to
selection if it finds the file
/tmp/selection.pid.
Finally, (d) is
dealt with by executing a setfont command. Most
likely, the wrong font is loaded, and you may want to do
another setfont yourself afterwards.
bugs
resizecons
does not work on all hardware. For example, it cannot be
used on platforms other than x86 and x86_64. See the
fbset(1) program if you are looking for an
alternative.
This command
used to be called resize, but was renamed to avoid
conflict with another command with the same name.
see also
setfont ,
stty , selection,
restoretextmode, disalloc,
fbset