Äְܼ£ À̵¿ÀÇ ±âº» Å°´Â Alt-Fn ¶Ç´Â Ctrl-Alt-FnÀÌ´Ù. X
ȯ°æÀ̳ª
ÃÖ±Ù ¹öÀüÀÇ dosemu
¿¡¼´Â Ctrl-Alt-Fn ¸¸ÀÌ Á¦´ë·Î ÀÛµ¿ÇÒ °ÍÀÌ´Ù.
¸¹Àº keymaps¿¡¼ Alt-¿À¸¥È»ì Å°¿Í Alt-¿ÞÈ»ì Å°·Î ÇÒ´çµÈ Äְܼ£ÀÇ
¼øȯ½Ä À̵¿À» Çã¿ëÇÑ´Ù.
XFree86 1.3Àº X À©µµ¿ì·Î À̵¿ÇÒ ¶§, Alt Å°°¡ ´·Á ÀÖ´Â °ÍÀ» ÀνÄÇÏÁö ¸øÇÑ´Ù. µû¶ó¼ ´Ù¸¥ VT·Î Áï°¢ µÇµ¹¾Æ°¡Áö ¸øÇÏ°í, Alt Å°¸¦ ¶¼¾î¾ß ¹ÝÀÀÀ» ÇÑ´Ù. ´Ù¸¥ °÷¿¡¼´Â Àß ÀÛµ¿µÈ´Ù. Ä¿³ÎÀº Ç×»ó ¸ðµç Å°ÀÇ ´©¸§/¶À »óȲÀ» ÃßÀûÇÑ´Ù. (¹°·Ð °¡´ÉÇÑ ÇÑ ±×·¸´Ù´Â À̾߱â´Ù. ¸î¸î Å°º¸µåÀÇ ¾î¶² Å°µéÀº ´¸®°Å³ª(FOCUS 9000ÀÇ PFn Å°) ¶¿ ¶§(¸¹Àº Å°º¸µåÀÇ Pause Å°) ½ºÄµÄڵ带 º¸³»Áö ¾Ê¾Æ ¾î¿ ¼ö ¾ø´Â °æ¿ìµµ ÀÖ´Ù.)
XFree86 1.3Àº óÀ½ ½ÃÀÛµÉ ¶§, ¹®ÀÚ ROM¿¡ ·ÎµåµÈ ÆùÆ®¸¦ ÀúÀåÇصΰí
Äְܼ£ À̵¿À» ÇÒ ¶§, ±×°ÍÀ» ²¨³»¾î »ç¿ëÇÑ´Ù. µû¶ó¼ VT¿¡¼ setfont
¸¦
»ç¿ëÇϸé X·Î À̵¿Çß´Ù°¡ µÇµ¹¾Æ¿À¸é ÀÌÀü °ªÀ¸·Î º¹±ÍµÈ´Ù.
X ȯ°æ¿¡¼ setfont
¸¦ »ç¿ëÇϸé ÀÌ»óÇÑ ÀϵéÀÌ »ý±ä´Ù.
chvt
¸í·ÉÀ» »ç¿ëÇϸé ÇÁ·Î±×·¥ »ç¿ëÁß¿¡µµ VT¸¦ ¹Ù²Ü ¼ö ÀÖ´Ù.
ÀÌ Áú¹®Àº ¾ÆÁ÷µµ °¡²û ³ª¿ÀÁö¸¸ »ç½Ç µðÆúÆ®·Î ¼³Á¤µÈ °¹¼öÀ¸·Îµµ
ÃæºÐÇÏ´Ù. Ä¿³Î 1.1.54ÀÌÈÄ·Î 1ºÎÅÍ 63 »çÀÌÀÇ °¡»ó ÄܼÖÀÌ Á¸ÀçÇÑ´Ù.
»õ·Î¿î °¡»ó ÄܼÖÀº »ý¼ºµÇ¸é¼ ¿¸°´Ù. deallocvt
¶ó´Â À¯Æ¿¸®Æ¼¸¦
»ç¿ëÇÏ¸é ¾ø¾Ù ¼ö ÀÖ´Ù. (±×·¯³ª ¾ø¾Ù·Á¸é ¿©±â¿¡ ¿¬°áµÈ ÇÁ·Î¼¼½º°¡
Çϳªµµ ¾ø°í, selection
À̳ª gpm
°°Àº ÇÁ·Î±×·¥ÀÌ ÀÌ Äֿܼ¡
ÀÖ´Â ÅؽºÆ®¸¦ ¼±ÅÃÇÏ°í ÀÖÁö ¾Ê¾Æ¾ß ÇÑ´Ù.)
À̺¸´Ù ÀÌÀü ¹öÀüÀÇ Ä¿³ÎÀÎ °æ¿ì¶ó¸é include/linux/tty.h
¿¡
ÀÖ´Â
#define NR_CONSOLES 8
¸¦ ¹Ù²Ù¾îÁÖ°í Ä¿³ÎÀ» ÄÄÆÄÀÏÇÏ¸é µÈ´Ù. (ÀÌ ¼ýÀÚ¸¦ 63º¸´Ù Å©°Ô ÇÏÁö´Â ¸» °Í.)
°¡»ó ÄܼÖÀÌ ¾Æ¿¹ ¾ø´Â °æ¿ì¶ó¸é MAKEDEV
¶Ç´Â mknod tty
N
c 4
N (¿©±â¼ NÀº tty ¹øÈ£¸¦ ÁöÁ¤)·Î tty µð¹ÙÀ̽º¸¦ ¸¸µé ¼ö ÀÖ´Ù.
¿¹¸¦ µé¾îº¸¸é
for i in 9 10 11 12; do mknod /dev/tty$i c 4 $i; done
Á» ´õ ÁÁÀº ¿¹·Î´Â (ÀÌ ¹æ¹ýÀÌ »ç¿ëÀÚ¿Í Çã°¡±Ç¿¡ À¯ÀÇÇÑ´Ù.),
for i in 9 10 11 12; do /dev/MAKEDEV tty$i; done
getty
¸¦ µ¹¸± VC°¡ »õ·Î ÇÊ¿äÇÏ´Ù¸é /etc/inittab
¿¡ ¶óÀÎÀ»
Ãß°¡ÇÏ¸é µÈ´Ù. (ÇÏÁö¸¸ »ç¿ëÇÏ°í ÀÖ´Â getty
°¡ µÎ°³¸¸ ÀÖ´Â °ÍÀÌ
ÁÁ´Ù. ±×¸®°í Ãß°¡·Î ´õ ÇÊ¿äÇØÁö¸é µ¿ÀûÀ¸·Î »ý¼ºÇÏ¸é µÈ´Ù. »ç¿ëÀÚ°¡
¸ðµç ÄܼÖÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é ÀÌ ¹æ½ÄÀÌ º¸´Ù ¸¹Àº ¸Þ¸ð¸®¸¦ »ç¿ëÇÒ ¼ö
ÀÖ´Ù. /etc/inittab
¸¦ ¿¾î¼ ÃÖÃÊÀÇ µÎ°³¸¦ Á¦¿ÜÇÑ ¸ðµç
getty
¸¦ ÁÖ¼®À¸·Î ¸·¾Æ µÎ¾î¶ó.)
ÄܼÖÀ» µ¿ÀûÀ¸·Î ÇÒ´ç¹ÞÀ» ¶§´Â getty
°¡ Çϳª³ª µÎ°³ Á¤µµ¸¸ µ¹µµ·Ï ÇÏ´Â °ÍÀÌ
°¡Àå ½±´Ù. open -l -s bash
¶ó°í ÇÏ¸é ´õ ¸¹ÀÌ ¿ ¼ö ÀÖ´Ù.
(¿¬°áµÈ ÇÁ·Î¼¼½º°¡ ¾ø´Â) »ç¿ëÇÏÁö ¾Ê´Â ÄܼÖÀº deallocvt
(¿¹Àü¿¡´Â
disalloc
)À» »ç¿ëÇÏ¿© ¾ø¾Ù ¼ö ÀÖ´Ù. ±×·¯³ª ÀÛ¾÷Áß¿¡ °©ÀÚ±â ÄܼÖÀÌ
´õ ÇÊ¿äÇØÁ®¼ ´çÀå open
¸í·ÉÀ» ³»¸± bash ÇÁ·ÒÇÁÆ®°¡ ¾ø´Ù¸é ¾î¶»°Ô
Çϴ°¡? ´ÙÇàÀ̵µ ÇöÀç Äֿܼ¡¼ ¹«½¼ ÀÏÀ» ÇÏ°Ç, ÇÑ Å¥·Î »õ·Î¿î ÄܼÖÀ» ¸¸µå´Â
¹æ¹ýÀÌ ÀÖ´Ù.
kbd-0.95.tar.gz
¿¡ ÀÖ´Â spawn_login
À» ¼³Ä¡ÇÏ°í
/etc/rc.local
¿¡ ´ÙÀ½°ú °°ÀÌ ³Ö¾î µÎ¾î¶ó.
loadkeys << EOF
alt keycode 103 = Spawn_Console
EOF
spawn_login &
±× ´ÙÀ½¿¡ Alt-À§È»ì Å°¸¦ ´©¸£¸é login
À» µ¹¸®°í ÀÖ´Â »õ·Î¿î VC°¡
»ý¼ºµÉ °ÍÀÌ´Ù. (¹°·Ð »ý¼ºµÇ¾î¼ ±×°÷À¸·Î À̵¿µÈ´Ù.)
spawn_login &
´ë½Å¿¡ spawn_console &
¸¦ ¼³Ä¡Çß´Ù¸é
¾Æ¸¶µµ »õ Äֿܼ¡ bash°¡ µ¹°í ÀÖÀ» °ÍÀÌ´Ù. open-1.4.tgz
¿Í
dynamic-vc-1.1.tar.gz
¸¦ Âü°íÇ϶ó.
ÃֽŠ¹öÀüÀÇ init
¸¦ °¡Áö°í ÀÖ´Ù¸é /etc/inittab
ÀÇ
kbrequest
¾Æ·¡¿¡¼ Spawn_Console Å°°¡ ´·ÈÀ» ¶§ ¹«½¼ ÀÛµ¿À»
ÇÏ´ÂÁö ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. inittab(5)¸¦ Âü°íÇÒ °Í.
(ÀÌ µ¿ÀÛÀº ¿ÏÀüÈ÷ ´Ù¸¥ °ÍÀ¸·Î ¼³Á¤µÇ¾î ÀÖÀ» ¼ö ÀÖ´Ù. Spawn_Console Å°´Â
³»°¡ »ç¿ëÇϱ⠶§¹®¿¡ ºÎ¸£´Â À̸§ÀÏ »ÓÀÌ´Ù. ´Ù¸¥ ¸ñÀûÀ¸·Î »ç¿ëÇÑ´Ù¸é
´ú Çò°¥¸®µµ·Ï ´Ù¸¥ À̸§À» ºÙÀÌ´Â °ÍÀÌ ÁÁÀ» °ÍÀÌ´Ù. ¾î¶² »ç¶÷µéÀº
/etc/inittab
¿¡
kb::kbrequest:/sbin/shutdown -h now
¶ó°í ³Ö¾îµÎ°í, keymap¿¡´Â
control alt keycode 79 = KeyboardSignal
control alt keycode 107 = KeyboardSignal
¸¦ ³Ö¾îµÎ°í¼ Ctrl-Alt-End¸¦ ½Ã½ºÅÛ ¼Ë´Ù¿î Å°·Î »ç¿ëÇϱ⵵ ÇÑ´Ù.
·çÆ® ±ÇÇÑÀ¸·ÎÀÇ Á¢¼ÓÀº /etc/securetty
¿¡ µî·ÏµÇ¾î ÀÖ´Â Å͹̳ο¡¼¸¸
°¡´ÉÇÏ´Ù. /etc/ttys
¿Í /etc/ttytype
ÈÀÏ¿¡¼ Å͹̳Π¼³Á¤°ªÀ»
Àд ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù. ÀÌ·± ÈÀÏÀ» °¡Áø »ç¿ëÀÚ°¡ Ãß°¡·Î ÄܼÖÀ» »ý¼ºÇß´Ù¸é
ÀÌ ÄÜ¼Ö Ç׸ñÀ» ÀÌ ÈÀÏ¿¡ Ãß°¡ÇÏ´Â °Íµµ ±¦ÂúÀº »ý°¢ÀÌ´Ù.