1grab_vcsa(1) Linux console vcsa grabber grab_vcsa(1)
2
3
4
6 grab_vcsa - Linux console vcsa grabber
7
8
10 grab_vcsa
11
12
14 The Linux console allows text mode video buffer access^. For each tty
15 device (/dev/tty0..31) there exist two devices (/dev/vcs0..31) and
16 (/dev/vcsa0..31). These devices are two different representations of
17 the content of the console.
18
19 When you login on the Linux console, your tty device is changed owner
20 to you, so you can read/write it. When you logout it is takes from you.
21 This does not happen with the vcs and vcsa devices, i.e. you cannot
22 access the video buffer of your own tty.
23
24 Unfortunately there is a lot of reason to use the text mode video buf‐
25 fer. For instance, it is not possible to get access to the full 256
26 characters the VGA adapter can display without using the text mode
27 video buffer (Linux emulates the vt100 character set which does not
28 have all VGA characters). This annoyance severely limits the porting
29 possibilities to Linux of software that was written with a VGA charac‐
30 ter set in mind.
31
32 grab_vcsa is a setuid root program that, when called will change the
33 owner of the vcs and vcsa devices to you, after a series of security
34 checks have been performed.
35
36 It is not necessary to change the permissions back again (this would be
37 pointless since a user could kill a imaginary release_vcsa program
38 before it can do its work). The permissions are automatically reverted
39 on logout.
40
41 grab_vcsa is used by the Free Pascal video unit. The video unit allows
42 programmers to develop portable programs across Dos, Linux, FreeBSD,
43 Windows, OS/2 and other operating systems while they can still assume
44 being able to use the full VGA character set.
45
46
48 grab_vcsa has the following return codes:
49
50 0 Success
51
52 1 You are not running on the Linux console
53
54 2 Error while statting tty.
55
56 3 Error while executing chown.
57
58 4 Error while executing chmod.
59
60 4 You do not own your own tty.
61
62
64 Daniel Mantione <daniel.mantione@freepascal.org>
65
66
67
68Free Pascal 22 jan 2006 grab_vcsa(1)