ÀÚµ¿·Î±×ÀÎ ´Ù½Ãº¸±â

By Adrian J. Chung

Çѱ۹ø¿ª ÀüÁ¤È£

ÀÌ ±ÛÀº Çѱ۹ø¿ªÆÇÀÔ´Ï´Ù. ¿ø¹®Àº ¿©±â¿¡¼­ º¼ ¼ö ÀÖ½À´Ï´Ù.

Á¡Á¡ ¸¹Àº »ç¶÷µéÀÌ ÀÚ½ÅÀÇ PC¿¡¼­ GNU/Linux¸¦ »ç¿ëÇϱ⶧¹®¿¡ »ç¿ëÀÚ°¡ ÇѸíÀÎ °æ¿ì°¡ ´Ã°í ÀÖ´Ù. ±× °æ¿ì ¿©·¯ »ç¶÷ÀÌ ·Î±×ÀÎÇÏ´Â ±â´ÉÀ» °ÅÀÇ »ç¿ëÇÏÁö ¾Ê´Â´Ù. ±×·¡¼­ ¸¹Àº µ¥½ºÅ©Å¾ »ç¿ëÀÚµéÀº ¸®´ª½º°¡ ID³ª ¾ÏÈ£¸¦ ¹°¾îº¸Áö¾Ê°í ÀÚµ¿À¸·Î (KDE³ª GNOME°ú °°Àº) ±×·¡ÇÈ µ¥½ºÅ©Å¾ ȯ°æÀ¸·Î ºÎÆÃµÇ°Ô ¼³Á¤ÇÏ±æ ¿øÇÑ´Ù.

ÀÌ·± Áú¹®Àº ÈçÇÏÁö¸¸, ÀÌ¿¡ ´ëÇÑ HOWTO°¡ ¾ø´Â °ÍÀÌ ³î¶ø´Ù. (¾î·µç ³ª´Â ãÁö ¸øÇß´Ù.) ÀÌ ±ÛÀº ÀÌ ¿ªÇÒÀ» ¸¸Á·½Ã۴µ¥ ¿ÏÀüÇÏÁö´Â ¾ÊÁö¸¸ »ç¿ëÀÚ¿¡°Ô ¿ÇÀº ¹æÇâÀ» Á¦½ÃÇÒ °ÍÀÌ´Ù.

Prepackaged solutions

ÀÚµ¿·Î±×ÀÎÀÇ ÇØ°áÃ¥Àº ÀÌ¹Ì Á¦¾ÈµÇ¾ú°í, ±×Áß ÇÑ ¹æ¹ýÀº Linux Gazette¿¡¼­ Àü¿¡ (http://www.linuxgazette.com/issue27/kodis.html) ¼Ò°³µÇ¾ú´Ù. ÀÌ ¹æ¹ýÀº ºÎÆÃ½Ã init°¡ ½ÇÇàÇÏ´Â /sbin/mingetty ÇÁ·Î±×·¥À» ÆÐÄ¡ÇØ¾ß ÇÑ´Ù. (ÆÐÄ¡¿Í Àû¿ë ¹æ¹ýÀº http://users.jagunet.com/~kodis/autologin/autologin.htmlÀ» Âü°íÇ϶ó.) ±×·¯³ª °¡»óÄֿܼ¡¼­ ÀÚµ¿·Î±×ÀÎÀº ÇØ°áµÇÁö¸¸ ÀÚµ¿À¸·Î ±×·¡ÇÈ µ¥½ºÅ©Å¾À» ½ÇÇàÇÏÁö´Â ¾Ê´Â´Ù. ÀÌ ¹æ¹ýÀ» ¾Æ·¡¼­ ¼³¸íÇÑ´Ù.

¾Æ´Ï¸é autologin ÆÐŰÁö¸¦ (http://www.linux-easy.com/development/autologin/) ¼³Ä¡ÇÒ ¼öµµ ÀÖ´Ù. ÀÌ´Â ºÎÆÃ½Ã ±×·¡ÇÈ µ¥½ºÅ©Å¾À» ½ÇÇàÇÑ´Ù. ¸ðµç GNU/Linux ¹èÆ÷º»¿¡ ±âº»À¸·Î Æ÷ÇÔµÇÀÖÁö´Â ¾Ê´Â´Ù.

ÃÖ±Ù ¹öÀüÀÇ kdmÀº (KDE ½ºÅ¸ÀÏÀÇ xdm -- X11 ·Î±×ÀÎ ¸Å´ÏÀú) ÀÚµ¿·Î±×ÀÎÀ» Áö¿øÇÑ´Ù. /etc/kde2/kdmrc¿¡¼­ ´ÙÀ½ ÁÙµéÀÇ ÁÖ¼®À» Á¦°ÅÇÑ´Ù.

AutoLoginEnable=true
AutoLoginUser=fred

±×·¯¸é kdm´Â ½ÃÀ۽à ÀÚµ¿À¸·Î fred·Î ·Î±×ÀÎÇÏ¿© fredÀÇ ±×·¡ÇÈ µ¥½ºÅ©Å¾ ȯ°æÀ» ÀÚµ¿À¸·Î ½ÇÇàÇÑ´Ù. Mandrake´Â ÀÌ·± kdm ±â´ÉÀ» Ȱ¼ºÈ­½ÃŰ´Â GUI¸¦ Á¦°øÇؼ­ ÆÄÀÏÀ» Á÷Á¢ ÆíÁýÇÒ ÇÊ¿ä´Â ¾ø´Ù.

±×·¯³ª kdm ¼³Ä¡¸¦ ¿øÇÏÁö ¾Ê´Â »ç¶÷ÀÌ ÀÖÀ» °ÍÀÌ´Ù. (¾Æ¸¶µµ µð½ºÅ© °ø°£ÀÌ ºÎÁ·Çϰųª, ¿À·¡µÈ PC¿¡¼­ kdmÀº ¸Å¿ì ¹ö°Å¿î ÇÁ·Î±×·¥ÀÌ´Ù.) ´ÙÇàÈ÷µµ ÆÐÄ¡³ª ´Ù¿î·Îµå¾øÀÌ ºÎÆÃÈÄ °¡»óÄܼÖÁß Çϳª·Î ÀÚµ¿·Î±×ÀÎÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù. ÀÌ °úÁ¤Àº ´Ù¼Ò º¹ÀâÇÒ ¼ö ÀÖÁö¸¸, GNOME, KDE, QTÀÇ ¹«°Å¿î kdm ¾øÀÌ ÃÖ¼ÒÇÑÀÇ GNU/Linux¿¡¼­µµ Àß µ¿ÀÛÇÑ´Ù. °Ô´Ù°¡ X°¡ ¾ø´Ù¸é ºÎÆÃ½Ã ¸í·ÉÇà ÇÁ·ÒÇÁÆ®(ȤÀº ´ëÈ­ÀûÀÎ ÄÜ¼Ö ÇÁ·Î±×·¥)·Î ÀÚµ¿·Î±×ÀÎÀº ¸Å¿ì ½±´Ù.

¹æ¹ý

ÆíÁý±â·Î autologinfred.c ÆÄÀÏÀ» ¸¸µé°í ³»¿ëÀ¸·Î ¾Æ·¡ ªÀº C ÇÁ·Î±×·¥À» ÀÔ·ÂÇÑ´Ù.

int main() {
   execlp( "login", "login", "-f", "fred", 0);
}

execlp ½Ã½ºÅÛÄÝÀº ÇöÀç ÇÁ·Î±×·¥À» "login -f fred" ¸í·É¾î·Î ´ëüÇÑ´Ù. login manpage´Â -f ¿É¼ÇÀ» ¼³¸íÇÑ´Ù. ÀÌ C ÇÁ·Î±×·¥À» GNU C ÄÄÆÄÀÏ·¯·Î ÄÄÆÄÀÏÇÑ´Ù.

$ gcc -o autologinfred autologinfred.c

(su¸¦ »ç¿ëÇÏ¿©) root ±ÇÇÑÀ¸·Î ½ÇÇàÆÄÀÏÀ» º¹»çÇÑ´Ù.

# cp autologinfred /usr/local/sbin/

ÀÌÁ¦ /etc/inittabÀ» »ìÆìº¸ÀÚ. ÀÌ ÆÄÀÏÀº ¸®´ª½º°¡ ÃʱâÈ­ÇÒ¶§ °¡Àå ¸ÕÀú ½ÃÀÛÇÏ´Â ÇÁ·Î¼¼½ºÀÎ initÀÇ ¼³Á¤ÆÄÀÏÀÌ´Ù. ´ÙÀ½°ú ºñ½ÁÇÑ ÁÙÀÌ º¸ÀÏ °ÍÀÌ´Ù.

1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3

/etc/inittabÀÇ Á¤È®ÇÑ ³»¿ëÀº ¹èÆ÷º»¸¶´Ù Â÷À̰¡ ³­´Ù. Debian¿¡¼­´Â ´ÙÀ½°ú °°´Ù.

1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3

"1:2345"·Î ½ÃÀÛÇÏ´Â ÁÙÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.

1:2345:respawn:/sbin/getty -n -l /usr/local/sbin/autologinfred 38400 tty1

±×·¯¸é ù °¡»óÄֿܼ¡¼­ fred°¡ ÀÚµ¿À¸·Î ·Î±×ÀεȴÙ. (RedHat°ú °°Àº) ¾î¶² GNU/Linux ¹èÆ÷º»¿¡¼­´Â ´ë½Å /sbin/agetty¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. gettyÀÇ -l <alternative login> ¿É¼ÇÀº ±âº» /sbin/login ÇÁ·Î±×·¥ ´ë½Å Àü¿¡ ÄÄÆÄÀÏÇÑ ÇÁ·Î±×·¥À» »ç¿ëÇÏ°Ô ÇÑ´Ù. -n ¿É¼ÇÀº getty°¡ »ç¿ëÀÚ ID¸¦ ¹°¾îº¸Áö¾Ê°Ô ÇÑ´Ù.

·Î±×Àνà µ¥½ºÅ©Å¾ ½ÇÇàÇϱâ

¸®ºÎÆÃÇϸé init ÇÁ·Î¼¼½º´Â ÀÚµ¿À¸·Î ù¹øÂ° °¡»óÄֿܼ¡ fred·Î ·Î±×ÀÎÇÏ¿© ½©À» ½ÇÇàÇÑ´Ù. »ç¿ëÀÚ fred´Â ±×·¡ÇÈ µ¥½ºÅ©Å¾À» ½ÇÇàÇÏ´Â startx ¸í·É¾î¸¦ ½ÇÇàÇØ¾ß ÇÑ´Ù. À̰͵µ ÀÚµ¿È­½Ãų ¼ö ¾øÀ»±î?

fredÀÇ ·Î±×Àν©ÀÌ /bin/bash¶ó¸é, ~fred/.bash_profile ÆÄÀÏ¿¡ ÀÖ´Â ¸í·É¾î°¡ óÀ½À¸·Î ½ÇÇàµÈ´Ù. ¿ì¸®´Â startx ¸í·É¾î¸¦ ÀÌ ÆÄÀÏ¿¡ Ãß°¡ÇÒ ¼ö ÀÖÁö¸¸, .bash_profileÀÌ µÎ¹øÂ° °¡»óÄֿܼ¡ ·Î±×ÀÎÇϰųª xtermÀ» ¿©´Â µî ´Ù¸¥ »óȲ¿¡¼­µµ ½ÇÇàµÇ¹Ç·Î ¹®Á¦°¡ »ý±ä´Ù. ´ë½Å ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.


if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then
  startx
fi

ù¹øÂ° °¡»óÄֿܼ¡¼­ ½ÃÀÛÇÑ ·Î±×Àν©Àº ÀÚµ¿À¸·Î ±×·¡ÇÈ µ¥½ºÅ©Å¾À» ½ÃÀÛÇÒ °ÍÀÌ´Ù. ÁÖÀ§ÀÇ if¹®Àº ù¹øÂ° ÀÌ¿ÜÀÇ °¡»óÄܼÖÀ̳ª µ¥½ºÅ©Å¾¿¡¼­ ·Î±×Àν©ÀÌ ½ÇÇàµÈ´Ù¸é »õ·Î¿î GUI µ¥½ºÅ©Å¾À» ½ÇÇàÇÏÁö ¾Ê°Ô ÇÑ´Ù. /bin/sh »ç¿ëÀÚ´Â À§ÀÇ ³»¿ëÀ» ~fred/.profile¿¡ Ãß°¡Çϰí, tcsh »ç¿ëÀÚ´Â À§ÀÇ ³»¿ëÀ» °°Àº ÀǹÌÀÇ csh ½ºÅ©¸³Æ®·Î º¯°æÇØ¾ß ÇÑ´Ù.

(xdm, gdm, kdm µîÀ» ÅëÇØ) ÀÌ¹Ì GUI µ¥½ºÅ©Å¾ÀÌ ½ÇÇàµÇ°í ÀÖ´Ù¸é ´ë½Å startx -- :1À» ½ÇÇàÇÑ´Ù. ±×·¯¸é µÎ¹øÂ° GUI µ¥½ºÅ©Å¾ÀÌ »ý±ä´Ù. ¿ÀÁ÷ ÇÑ µ¥½ºÅ©Å¾¸¸ ½ÇÇàµÇ°Ô ÇÏ·Á¸é (RedHat¿¡¼­) run levelÀ» ³·Ã߰ųª (Debian¿¡¼­) /etc/rc?.d/S99?dm ½ÃÀÛ ¼³Á¤ÆÄÀÏÀ» Áö¿ö¼­ ±âÁ¸ÀÇ Xserver ÇÁ·Î±×·¥À» ºñȰ¼ºÈ­ÇÑ´Ù.

ÀÀ¿ë

ÀÌÁ¦ ºÎÆÃ¶§¸¶´Ù ¾ÏÈ£¸¦ ¹°¾îº¸Áö¾Ê°í ÀÚµ¿À¸·Î fred°¡ ù¹øÂ° °¡»óÄַܼΠ·Î±×Àεǰí bash ·Î±×Àν©ÀÌ ½ÃÀÛÇÏ¿© (~/.bash_profileÀ» Àаí) startx°¡ ½ÇÇàµÈ´Ù. ÁÁÁö¾Ê³ª?

¿ì¸®´Â ¿©±â¼­ ´õ³ª°¡ ƯÁ¤ µ¥½ºÅ©Å¾ ÇÁ·Î±×·¥À» ½ÇÇà½Ã۱âÀ§ÇØ ~/.xinitrc¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. (ÀÚ¼¼ÇÑ ³»¿ëÀº man startx) ÁÁ¾ÆÇÏ´Â °ÔÀÓÀ» Ãß°¡ÇØµÎ¸é ¸®´ª½º¸¦ ¹Ý¦¹Ý¦ È­·ÁÇÏÁö´Â ¾ÊÁö¸¸ ¿À¶ô½Ç ±â°èó·³ »ç¿ëÇÒ ¼ö ÀÖ´Ù. Ogg Vorbis Àç»ý±âÀÇ ½Ã°¢(visualisation) ±â´ÉÀ» »ç¿ëÇÏ¿© À½¾Ç ¸Ó½®À¸·Î »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

ÀÚµ¿·Î±×ÀÎÀº ºñ±×·¡ÇÈ È¯°æ¿¡¼­µµ À¯¿ëÇÏ´Ù. ¾î¶² »ç¶÷Àº /usr/bin/topÀ» ·Î±×Àν©·Î »ç¿ëÇϴ Ưº°ÇÑ »ç¿ëÀÚ·Î ·Î±×ÀÎÇÏ°Ô Çϱ⵵ ÇÑ´Ù. ±×·¯¸é ÇÑ °¡»óÄܼÖÀº ´ëÈ­ÀûÀÎ ÇÁ·Î¼¼½º ¸ñ·ÏÀ» Àü´ãÇÑ´Ù. °¡´É¼ºÀº ¹«ÇÑÇÏ´Ù.

°á·Ð

¿©·¯ »ç¿ëÀÚ ¿î¿µÃ¼Á¦ÀÎ GNU/Linux´Â Á¡Á¡´õ »ç¿ëÀÚ°¡ ÇѸíÀΠȯ°æ¿¡¼­ »ç¿ëµÇ°í ÀÖ´Ù. ÀÌ °æ¿ì »ç¿ëÀÚ ·Î±×ÀÎ °úÁ¤ÀÌ ÇÊ¿ä¾øÀ» ¼ö°¡ ÀÖ´Ù. ÀÌ ±ÛÀº UNIX Ç÷Åë¶§¹®¿¡ ¸®´ª½º¸¦ ÀÌ·± Ưº°ÇÑ ¿µ¿ª¿¡¼­ »ç¿ëÇÒ ¼ö ¾øÁö ¾Ê´Ù´Â °ÍÀ» º¸¿©ÁØ´Ù. °£´ÜÇÑ ¼³Á¤ º¯È­¿Í ÀÛÀº ÇÁ·Î±×·¥À¸·Î ´ëºÎºÐÀÇ GNU/Linux ¹èÆ÷º»¿¡¼­ ÀÚµ¿·Î±×ÀÎÀÌ °¡´ÉÇϸç, ¸¹Àº Ȱ¿ë ¹æ¹ýµéÀÌ ÀÖ´Ù.

Adrian J Chung

(Äɸ®ºñ¾ÈÇØÀÇ) Æ®¸®´Ï´ÙµåÅä¹Ù°íÀÇ West Indies ´ëÇп¡¼­ ÇкλýÀ» °¡¸£Å°Áö ¾ÊÀ» ¶§¸é AndrianÀº À¥¸ÞÀÏ ´Ù¿î·Îµå¸¦ ÀÚµ¿È­ÇÏ´Â ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇϰí Á÷Á¢ ¸¸µç ±×·¡ÇÈ ·»´õ·¯¿Í ÀÚ·á ½Ã°¢È­ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ¿© ´Ù¾çÇÑ ½ºÅ©¸³Æ® ȯ°æÀ» °æÇèÇÑ´Ù.


Copyright © 2001, Adrian J. Chung.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 72 of Linux Gazette, November 2001