Scroll to navigation

XDM(1) General Commands Manual XDM(1)

̾Á°

xdm - X ¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã (XDMCP, ¥Û¥¹¥ÈÁªÂòµ¡Ç½ÉÕ¤­)

½ñ¼°

xdm [ -config configuration_file ] [ -nodaemon ] [ -debug debug_level ] [ -error error_log_file ] [ -resources resource_file ] [ -server server_entry ] [ -session session_program ]

ÀâÌÀ

xdm ¤Ï¥í¡¼¥«¥ë¥Û¥¹¥È¤ä¥ê¥â¡¼¥È¥Û¥¹¥È¤Ë¤¢¤ë X ¤Î¤¤¤í¤¤¤í¤Ê¥Ç¥£¥¹¥×¥ì¥¤¤Î½¸ ¹ç¤ò´ÉÍý¤¹¤ë¡£ xdm ¤ÎÀ߷פϡ¢X üËö¤ÎɬÍ×À­¤È The Open Group ɸ½à¤Î XDMCP (X Display Manager Control Protocol)¤Ë§¤Ã¤Æ¹Ô¤ï¤ì¤¿¡£ xdm ¤Ï¥­¥ã¥é¥¯¥¿Ã¼Ëö¾å¤Ç init, getty ¤È login ¤¬¹Ô¤Ê¤¦¤³ ¤È¤ÈƱ¤¸¤³¤È¡¢¤Ä¤Þ¤ê¥í¥°¥¤¥ó̾¤È¥Ñ¥¹¥ï¡¼¥É¤Î¥×¥í¥ó¥×¥È¤ò½Ð¤·¤Æ¥æ¡¼¥¶Ç§ ¾Ú¤ò¹Ô¤¤¡¢¡Ö¥»¥Ã¥·¥ç¥ó¡×¤òµ¯Æ°¤¹¤ë¡£

¡Ö¥»¥Ã¥·¥ç¥ó¡×¤ÏÅÁÅýŪ¤Êʸ»ú¥Ù¡¼¥¹¤ÎüËö¤ÎÀ¤³¦¤Ç¤ÏÆÃÄê¤Î¥×¥í¥»¥¹¤Î ¸³´ü´Ö¤È¤·¤ÆÄêµÁ¤µ¤ì¤ë¡£¤³¤ÎÆÃÄê¤Î¥×¥í¥»¥¹¤È¤Ï¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥·¥§¥ë ¤Ç¤¢¤ë¡£ xdm ´Ä¶­¤Ç¤ÏǤ°Õ¤Î¥»¥Ã¥·¥ç¥ó¥Þ¥Í¡¼¥¸¥ã¤¬ÍøÍѤǤ­¤ë¡£¤Ê¤¼¤Ê¤é¡¢¥¦¥£¥ó¥É¥¦´Ä ¶­¤Ë¤¢¤ë¤¿¤á¡¢¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥·¥§¥ë¥×¥í¥»¥¹¤ÏÀܳ¤ò¹Ô¤¦¤¿¤á¤ÎüËö¤Î¤è ¤¦¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òɬÍפȤ·¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£ ËÜÅö¤Î¥»¥Ã¥·¥ç¥ó¥Þ¥Í¡¼¥¸¥ã¤¬»È¤¨¤Ê¤¤»þ¤Ï¡¢ÉáÄÌ¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤«Ã¼ Ëö¥¨¥ß¥å¥ì¡¼¥¿¤ò¡Ö¥»¥Ã¥·¥ç¥ó¥Þ¥Í¡¼¥¸¥ã¡×¤È¤·¤ÆÍѤ¤¤ë¡£¤³¤Î¥»¥Ã¥·¥ç¥ó¥Þ ¥Í¡¼¥¸¥ã¤Î¥×¥í¥»¥¹¤¬½ªÎ»¤¹¤ë¤È¥æ¡¼¥¶¤Î¥»¥Ã¥·¥ç¥ó¤¬½ªÎ»¤¹¤ë¡£

¥»¥Ã¥·¥ç¥ó¤¬½ªÎ»¤¹¤ë»þ¡¢ xdm ¤Ï X ¥µ¡¼¥Ð¤ò¥ê¥»¥Ã¥È¤·¤Æ(»ØÄê¤Ë¤è¤Ã ¤Æ¤Ï)¤¹¤Ù¤Æ¤Î¥×¥í¥»¥¹¤òºÆµ¯Æ°¤¹¤ë¡£

xdm ¤¬ XDMCP ·Ðͳ¤Ç Indirect ¤ÎÌ䤤¹ç¤ï¤»¤ò¼õ¤±¼è¤Ã¤¿¤È¤­¡¢ xdm ¤Ï¥Ç¥£¥¹¥×¥ì¥¤¤Î¤¿¤á¤Ë chooser ¥×¥í¥»¥¹¤òµ¯Æ°¤·¤Æ XDMCP BroadcastQuery(¤Þ¤¿¤Ï»ØÄꤵ¤ì¤¿¥Û¥¹¥È¤ËÂФ¹¤ë XDMCP Query)¤ò¼Â¹Ô ¤¹¤ë¡£¤½¤·¤Æ¡¢XDMCP ¤Ë¤è¤Ã¤Æ¥Ç¥£¥¹¥×¥ì¥¤´ÉÍý¤¬¤Ç¤­¤ë¥Û¥¹¥È°ìÍ÷¤òÄ󶡤¹ ¤ë¡£ ¤³¤Îµ¡Ç½¤Ï¡¢¥Û¥¹¥È°ìÍ÷¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤ X üËö¤ò»È¤¦ºÝ¤ËÊØÍø¤Ç¤¢ ¤ë¡£

xdm ¤ÏÁªÂò¤µ¤ì¤¿¥Û¥¹¥È¤«¤é¤Î BroadcastQuery ¥á¥Ã¥»¡¼¥¸¤ò̵»ë¤¹¤ë¤è¤¦¤ËÀßÄê ¤Ç¤­¤ë¡£¤³¤ì¤Ï¡¢¤³¤Î¥Û¥¹¥È¤ò chooser ¤Þ¤¿¤Ï X üËö¤¬À¸À®¤¹¤ë¥ê¥¹¥È¤Ë½Ð¤·¤¿¤¯¤Ê¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£

xdm ¤ÏºÇ½é¤Ë¥æ¡¼¥¶¤¬¿¨¤ì¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤¹¤ë¤Î¤Ç¡¢´Êñ¤ËÍøÍѤǤ­¡¢¸Ä Ê̤Υµ¥¤¥È¤ÎÍ×˾¤Ë¹ç¤ï¤»¤Æ´Êñ¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ xdm ¤Ï¿¤¯¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¡¢¤½¤Î¤Û¤È¤ó¤É¤ÏŬÀڤʥǥե©¥ë¥ÈÃͤˤʤäƤ¤¤ë¡£ ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Î¿¤¯¤Î¥»¥¯¥·¥ç¥ó¤òÄ´¤Ù¤Æ¡¢Êѹ¹¤·¤¿¤¤Éôʬ¤òÁªÂò¤¹¤ë¤³¤È¡£ ¥»¥Ã¥·¥ç¥ó¤Î¥¹¥¿¥¤¥ë¤ÎÀßÄê¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Æ¤¤¤ë ¥»¥Ã¥·¥ç¥ó¥×¥í¥°¥é¥à ¥»¥¯¥·¥ç¥ó¤Ë¤ÏÆäËÃí°Õ¤¹¤ë¤³¤È¡£

³µÍ×

xdm ¤ÏºÙ¤«¤¯ÀßÄ꤬ÊѤ¨¤é¤ì¡¢¤Û¤È¤ó¤É¤ÎµóÆ°¤Ï¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥·¥§ ¥ë¥¹¥¯¥ê¥×¥È¤ÇÀ©¸æ²Äǽ¤Ç¤¢¤ë¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢xdm-config ¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï -config ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤«¤é¥ê¥½¡¼¥¹ ¤È¤·¤ÆÆɤ߹þ¤à¡£

xdm ¤Ç¥Ç¥£¥¹¥×¥ì¥¤¤ò´ÉÍý¤¹¤ë¤Ë¤Ï2¤Ä¤Î°Û¤Ê¤ëÊýË¡¤¬¤¢¤ë¡£¥í¡¼¥«¥ë ¥Þ¥·¥ó¤ÇÆ°ºî¤¹¤ë¥µ¡¼¥Ð¤ò Xservers ¤Ë»ØÄꤹ¤ëÊýË¡¤È¡¢¥ê¥â¡¼¥È¤Î X ¥µ¡¼¥Ð(Ä̾ï¤Ï X üËö)¤ò Xaccess ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤷ¤Æ XDMCP(XDM À© ¸æ¥×¥í¥È¥³¥ë)¤ò»È¤¦ÊýË¡¤Ç¤¢¤ë¡£

¥æ¡¼¥¶¤Î¥»¥Ã¥·¥ç¥ó³°¤Çxdm ¤¬¼Â¹Ô¤¹¤ë X ¥¯¥é¥¤¥¢¥ó¥È(¤³¤ì¤Ï xdm ¼«¿È¤Î¥í¥°¥¤¥ó²èÌ̤ò´Þ¤à)¤Î¥ê¥½¡¼¥¹¤Ï Xresources ¥Õ¥¡ ¥¤¥ë¤ÇÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¥Ç¥£¥¹¥×¥ì¥¤´ÉÍý¤òÆÀ¤ë¤¿¤á¤Î¥Û¥¹¥È°ìÍ÷¤òÍ¿¤¨¤Ê¤¤ X üËö¤ËÂФ·¤Æ¤Ï¡¢ xdm ¤Ï¼«È¯Åª¤ËÆ°ºî¤¹¤ë¥Û¥¹¥È¤ò½¸¤á¡¢¥æ¡¼¥¶¤Ë°ìÍ÷¤òÄ󶡤¹¤ë¤¿¤á¤Ë chooser ¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¡£¥Û¥¹¥È¤ËÀܳ¤·¤Æ¤¤¤ë X ¥Ç¥£¥¹¥×¥ì ¥¤¤ËÂФ·¤Æ¤ÏÄ̾盧¤Î¤è¤¦¤Ê¼ê½ç¤Ï¹Ô¤ï¤ì¤º¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¤¬¥Ç¥£¥¹¥×¥ì¥¤ ´ÉÍý¤ò¹Ô¤¦¡£

X ¥µ¡¼¥Ð¤ò¥ê¥»¥Ã¥È¤·¤¿¸å¡¢xdm ¤Ï Xsetup ¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤· ¤Æ¡¢¥æ¡¼¥¶¤¬ xlogin ¥¦¥£¥¸¥§¥Ã¥È¤Ç¸«¤ë¥¹¥¯¥ê¡¼¥ó¤ÎÀßÄê¤òÊä½õ¤¹¤ë¡£

xdm ¤¬Ä󶡤¹¤ë xlogin ¥¦¥£¥¸¥§¥Ã¥È¤Ï¡¢¤è¤¯¤¢¤ë¥¿¥¤¥×¤Î¥í¥° ¥¤¥ó¤È¥Ñ¥¹¥ï¡¼¥É¥×¥í¥ó¥×¥È¤Ç¤¢¤ë¡£

¥æ¡¼¥¶¤¬¥í¥°¥¤¥ó¤·¤¿¸å¤Ç¡¢xdm ¤Ï Xstartup ¥¹¥¯¥ê¥×¥È¤ò ¥ë¡¼¥È¸¢¸Â¤Ç¼Â¹Ô¤¹¤ë¡£

¤½¤ì¤«¤é xdm ¤Ï Xsession ¥¹¥¯¥ê¥×¥È¤ò¥æ¡¼¥¶¸¢¸Â¤Ç¼Â¹Ô¤¹¤ë¡£ ¤³¤Î¥·¥¹¥Æ¥à¥»¥Ã¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ÏÄɲäγ«»Ï½èÍý¤ò¤¤¤¯¤Ä¤«¹Ô¤¤¡¢Ä̾ï¤Ï¥æ¡¼ ¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î .xsession ¤ò¼Â¹Ô¤¹¤ë¡£ Xsession ¥¹¥¯¥ê¥×¥È¤¬½ªÎ»¤¹¤ë¤È¥»¥Ã¥·¥ç¥ó¤Ï½ªÎ»¤¹¤ë¡£

¥»¥Ã¥·¥ç¥ó¤ÎºÇ¸å¤Ë¤Ï¡¢½ªÎ»½èÍý¤ò¹Ô¤¦ Xreset ¥¹¥¯¥ê¥×¥È¤¬¼Â¹Ô¤µ¤ì¡¢ X ¥µ¡¼¥Ð¤¬¥ê¥»¥Ã¥È¤µ¤ì¡¢¥µ¥¤¥¯¥ë¤ÎºÇ½é¤ËÌá¤ë¡£

xdm ¤È Xsetup, Xstartup, Xsession, Xreset ¤¬É¸½à¥¨¥é¡¼½ÐÎϤËÁ÷¤Ã ¤¿¥¨¥é¡¼¥á¥Ã¥»¥¨¡¼¥¸¤Ï¡¢/usr/X11R6/lib/X11/xdm/xdm-errors ¥Õ¥¡¥¤ ¥ë¤Ë³ÊǼ¤µ¤ì¤ë¡£ xdm ¤Î¼Â¹ÔÃæ¤ËÌäÂ꤬ȯÀ¸¤·¤¿¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò¸«¤Æ¡¢ xdm ¤¬ÌäÂê²ò·è¤Î¼ê¤¬¤«¤ê¤ò¼¨¤·¤Æ¤¤¤ë¤«¤É¤¦¤«Ä´¤Ù¤ë¤³¤È¡£

¥ª¥×¥·¥ç¥ó

-config ¥ª¥×¥·¥ç¥ó¼«¿È¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥ê¥½¡¼¥¹¤È¤·¤Æ ÀßÄê¥Õ¥¡¥¤¥ë¤Ç¤â»ØÄê¤Ç¤­¤ë¡£

ÀßÄê¥Õ¥¡¥¤¥ë¤Î̾Á°¡£¤³¤ì¤Ï xdm ¤ÎµóÆ°¤òÀ©¸æ¤¹¤ë¥ê¥½¡¼¥¹¤ò»ØÄꤹ¤ë¡£ <XRoot>/lib/X11/xdm/xdm-config ¤¬¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¢¤ë¡£ ÀßÄê¥Õ¥¡¥¤¥ë¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£
DisplayManager.daemonMode ¥ê¥½¡¼¥¹¤ò ``false'' ¤Ë¤¹¤ë¤³¤È¤ÈƱ¤¸ ¤Ç¤¢¤ë¡£ xdm ¤Ë°ìÈ̤Υǡ¼¥â¥ó¤ÎµóÆ°¤ò¤µ¤»¤Ê¤¤¡£¥Ç¡¼¥â¥ó¤ÎµóÆ°¤È¤Ï¡¢ ¥Õ¥¡¥¤¥ë¥Ç¥¹¥¯¥ê¥×¥¿¤òÁ´¤ÆÊĤ¸¡¢¼«Ê¬¼«¿È¤òÀ©¸æüËö¤«¤éÀÚ¤êÊü¤·¡¢ ¤µ¤é¤Ëµ¯Æ°»þ¤Ë¼«Ê¬¼«¿È¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ÇÆ°ºî¤µ¤»¤ë¤³¤È¤Ç¤¢¤ë¡£
DisplayManager.debugLevel ¥ê¥½¡¼¥¹¤Ë¿ôÃͤò»ØÄꤹ¤ë¡£¥¼¥í¤Ç¤Ê¤¤¿ô Ãͤò»ØÄꤹ¤ë¤È¡¢ xdm ¤Ï¿Î̤ΥǥХå°¾ðÊó¤òüËö¤Ëɽ¼¨¤µ¤»¤ë¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¤Þ¤¿¡¢ DisplayManager.daemonMode ¥ê¥½¡¼¥¹¤ò̵¸ú¤Ë¤·¡¢ xdm ¤ò¶¯À©Åª¤ËƱ´üÆ°ºî¤µ¤»¤ë¡£¥Ç¥Ð¥Ã¥°¥á¥Ã¥»¡¼¥¸¤ò²ò¼á¤¹¤ë¤Ë¤Ï¡¢ xdm ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬É¬ÍפǤ¢¤í¤¦¡£½ÐÎϾðÊó¤Î¹çÍý²½¤äɸ½à²½¤ò¹Ô¤¦Í½Äê¤Ï¤Ê ¤¤¡£
DisplayManager.errorLogFile ¥ê¥½¡¼¥¹¤ÎÃͤò»ØÄꤹ¤ë¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï xdm ¤¬½ÐÎϤ·¤¿¥¨¥é¡¼¤ä¡¢¥»¥Ã¥·¥ç¥óÃæ¤Ë¼Â¹Ô¤µ¤ì¤¿ÍÍ¡¹¤Ê¥¹¥¯¥ê¥×¥È¤ä¥×¥í¥°¥é ¥à¤¬É¸½à¥¨¥é¡¼½ÐÎϤ˽ñ¤­½Ð¤·¤¿¥¨¥é¡¼¤¬µ­Ï¿¤µ¤ì¤Æ¤¤¤ë¡£
DisplayManager*resources ¥ê¥½¡¼¥¹¤Ë¥Õ¥¡¥¤¥ë̾¤òÀßÄꤹ¤ë¡£¤³¤Î¥Õ¥¡ ¥¤¥ë¤Ï xrdb ¤ò»È¤Ã¤Æ¥í¡¼¥É¤µ¤ì¡¢Ç§¾Ú¥¦¥£¥¸¥§¥Ã¥ÈÍѤÎÀßÄê¥Ñ¥é¥á¡¼¥¿¤ò»ØÄê¤Ë»È¤ï¤ì¤ë¡£
DisplayManager.servers ¥ê¥½¡¼¥¹¤ËÃͤòÀßÄꤹ¤ë¡£ ¤³¤Î¥ê¥½¡¼¥¹¤ÎÀâÌÀ¤Ï ¥í¡¼¥«¥ë¥µ¡¼¥Ð»ØÄê ¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£
DisplayManager.requestPort ¥ê¥½¡¼¥¹¤ËÃͤòÀßÄꤹ¤ë¡£ ¤³¤Î¥ê¥½¡¼¥¹¤Ï XDMCP ¥ê¥¯¥¨¥¹¥È¤Ë»È¤¦ xdm ¤Î¥Ý¡¼¥ÈÈÖ¹æ¤òÀßÄꤹ¤ë¡£XDMCP ¤Ï¤è¤¯ÃΤé¤ì¤¿ÅÐÏ¿ºÑ¤ß¤Î UDP ¥Ý¡¼¥È 177 ÈÖ¤ò»È¤¦¤Î¤Ç¡¢¥Ç¥Ð¥Ã¥°ÌÜŪ°Ê³°¤Ç¤Ï¤³¤Î¥ê¥½¡¼¥¹¤òÊѹ¹¤¹¤Ù¤­¤Ç¤Ê¤¤¡£ ¤³¤Î¥ê¥½¡¼¥¹¤Ë 0 ¤òÀßÄꤹ¤ë¤È¡¢xdm ¤Ï XDMCP ¥ê¥¯¥¨¥¹¥È¤â Chooser ¥ê¥¯¥¨¥¹¥È¤â´Æ»ë¤·¤Ê¤¤¡£
DisplayManager*session ¥ê¥½¡¼¥¹¤ËÃͤòÀßÄꤹ¤ë¡£ ¥æ¡¼¥¶¤¬¥í¥°¥¤¥ó¤·¤¿¸å¤Ë¥»¥Ã¥·¥ç¥ó¤È¤·¤ÆÆ°ºî¤µ¤»¤¿¤¤¥×¥í¥°¥é¥à¤ò»ØÄꤹ ¤ë¡£
¤Û¤È¤ó¤É¤Î X ¥Ä¡¼¥ë¥­¥Ã¥È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¤è¤¦¤Ë¡¢Ç¤°Õ¤Î¥ê¥½¡¼¥¹¤ò»Ø Äê¤Ç¤­¤ë¡£

¥ê¥½¡¼¥¹

xdm ¤ÎÆ°ºî¤ÏÀßÄê¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤ÆÀ©¸æ¤¹¤ë¤³¤È¤Ï¤¤¤í¤¤¤í¤ÊÃʳ¬¤Ç²Äǽ¤Ç¤¢¤ë¡£ ¤³¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ï X ¥ê¥½¡¼¥¹¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç½ñ¤«¤ì¤ë¡£ ¥ê¥½¡¼¥¹¤Ë¤ÏÁ´¤Æ¤Î¥Ç¥£¥¹¥×¥ì¥¤¾å¤Ç¤Î xdm ¤ÎµóÆ°¤òÊѤ¨¤ë¤â¤Î¤â¤¢¤ë¤·¡¢1¤Ä¤Î¥Ç¥£¥¹¥×¥ì¥¤¤À¤±¤ÎÆ°ºî¤òÊѤ¨¤ë¤â¤Î ¤â¤¢¤ë¡£ ÆÃÄê¤Î¥Ç¥£¥¹¥×¥ì¥¤¤ÎÆ°ºî¤Ë¸ÂÄꤹ¤ë¤Ë¤Ï¡¢``DisplayManager'' ¤È ºÇ¸å¤Î¥ê¥½¡¼¥¹Ì¾¤Î´Ö¤Ë¥Ç¥£¥¹¥×¥ì¥¤Ì¾¤òÁÞÆþ¤¹¤ë¤³¤È¡£

¥í¡¼¥«¥ë¥Ç¥£¥¹¥×¥ì¥¤¤Î¾ì¹ç¤Ï¡¢¥ê¥½¡¼¥¹Ì¾¤È¥¯¥é¥¹¤Ï Xservers ¥Õ¥¡ ¥¤¥ë¤«¤éÆɤ߹þ¤Þ¤ì¤ë¡£

¥ê¥â¡¼¥È¥Ç¥£¥¹¥×¥ì¥¤¤Î¾ì¹ç¤Ï¡¢¥ê¥½¡¼¥¹Ì¾¤Ï¥Ç¥£¥¹¥×¥ì¥¤¤Î¥¢¥É¥ì¥¹¤ò²ò·è ¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£removeDomain ¥ê¥½¡¼¥¹¤ò»²¾È¤¹¤ë¤³¤È¡£Ì¾Á°¤Ï´°Á´ ¤Ë°ìÃפ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£xdm ¤Ï»ØÄꤵ¤ì¤¿¥Ç¥£¥¹¥×¥ì¥¤¤ò¼¨¤¹¥Í¥Ã ¥È¥ï¡¼¥¯¾å¤ÎÊÌ̾¤¬Á´¤Æ¤ï¤«¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ ̾Á°¤Î²ò·è¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢Ì¾Á°¤Ç¤Ï¤Ê¤¯¥¢¥É¥ì¥¹¤ò»ÈÍѤ¹¤ë¤³¤È¡£¥ê¥½¡¼ ¥¹¥¯¥é¥¹¤Ï¥Ç¥£¥¹¥×¥ì¥¤¤Ë¤è¤êXDMCP Manage ¥ê¥¯¥¨¥¹¥È¤ÇÁ÷¤é¤ì¤ë¡£

¥ê¥½¡¼¥¹¥Þ¥Í¡¼¥¸¥ã¤Ï¥ê¥½¡¼¥¹Ì¾¤È¤½¤ÎÃͤò¶èÀڤ뤿¤á¤Ë¥³¥í¥ó¤ò»È¤¤¡¢¥ê¥½¡¼ ¥¹Ì¾¤ÎÉôʬ¤ò¶èÀڤ뤿¤á¤Ë¥É¥Ã¥È¤ò»È¤¦¤Î¤Ç¡¢ xdm ¤¬¥ê¥½¡¼¥¹Ì¾¤òÀ¸À®¤¹¤ë¤È¤­¤Ë¤Ï¥É¥Ã¥È¤È¥³¥í¥ó¤Ï²¼Àþ(¥¢¥ó¥À¥¹¥³¥¢)¤ËÃÖ¤­ ´¹¤¨¤é¤ì¤ë¡£ Î㤨¤Ð¡¢µ¯Æ°¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤¬ ``expo.x.org:0'' ¤ò¥Ç¥£¥¹¥×¥ì¥¤¤ËÄêµÁ¤·¤Æ ¤¤¤ë¤È¤­¤Ï DisplayManager.expo_x_org_0.startup ¤¬¥ê¥½¡¼¥¹Ì¾¤È¤Ê ¤ë¡£

¤³¤Î¥ê¥½¡¼¥¹¤Ï¡¢Á´¤Æ¤Î¥µ¡¼¥Ð¥¨¥ó¥È¥ê¤Î¥Õ¥¡¥¤¥ë̾¤ò¹Ô¤´¤È¤Ë1¤Ä¤º¤Ä»ØÄê ¤¹¤ë¤«(Ãͤ¬ / ¤«¤é»Ï¤Þ¤ë¾ì¹ç)¡¢1¤Ä¤Î¥µ¡¼¥Ð¥¨¥ó¥È¥ê¤ò»ØÄꤹ¤ë¡£ ¾ÜºÙ¤Ï¥í¡¼¥«¥ë¥µ¡¼¥Ð»ØÄê¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï xdm ¤¬ XDMCP ¥ê¥¯¥¨¥¹¥È¤òÂÔ¤Ä UDP ¥Ý¡¼¥ÈÈÖ¹æ¤ò»ØÄꤹ¤ë¡£¥·¥¹¥Æ¥à¤ò¥Ç¥Ð¥Ã¥° ¤¹¤ëɬÍפ¬¤Ê¤±¤ì¤Ð¥Ç¥Õ¥©¥ë¥ÈÃͤΠ177 ¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¯¤³¤È¡£
¥¨¥é¡¼½ÐÎϤÏÄ̾亮¥¹¥Æ¥à¥³¥ó¥½¡¼¥ë¤Ë½ÐÎϤµ¤ì¤ë¡£¥¨¥é¡¼½ÐÎϤò¥ê¥À¥¤¥ì¥¯¥È ¤¹¤ë¤Ë¤Ï¤³¤Î¥ê¥½¡¼¥¹¤Ë¥Õ¥¡¥¤¥ë̾¤òÀßÄꤹ¤ë¤³¤È¡£ syslog ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤ËÂФ·¤Æ¤Ï¡¢ ¤³¤ì¤é¤Î¥á¥Ã¥»¡¼¥¸¤ò syslog ¤ËÁ÷¤ëÊýË¡¤¬³«È¯¤µ¤ì¤ë¤Ù¤­¤Ç¤¢¤ë¡£¤·¤«¤·¡¢¿§¡¹¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ý¤Ä¤è ¤¦¤Ë¤¹¤ë¤È¡¢¥·¥¹¥Æ¥à¤Ë°Í¸¤·¤Ê¤¤¼ÂÁõ¤¬¤Ç¤­¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£¤³¤Î¥Õ¥¡¥¤ ¥ë¤Ï Xsetup, Xstartup, Xsession, Xreset ¥Õ¥¡¥¤¥ë¤Ë¤è¤ëɸ½à ¥¨¥é¡¼½ÐÎϤؤνÐÎϤâ´Þ¤Þ¤ì¤ë¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¤³¤ì¤é¤Î¥¹¥¯ ¥ê¥×¥È¤¬µ¯¤³¤·¤¿ÌäÂê¤âµ­½Ò¤µ¤ì¤Æ¤¤¤ë¡£
¤³¤Î¥ê¥½¡¼¥¹¤ÎÀ°¿ôÃͤ¬¥¼¥í¤è¤êÂ礭¤¤¾ì¹ç¡¢½ÐÎϤ¹¤ë¥Ç¥Ð¥Ã¥°¾ðÊó¤ÎÈϰϤ¬ Â礭¤¯¤Ê¤ë¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¡¼¥â¥ó¥â¡¼¥É¤â̵¸ú¤Ë¤¹¤ë¡£¥Ç¡¼¥â¥ó¥â¡¼¥É¤Ç¤Ï¡¢ bit-bucket ¤Ë¾ðÊ󤬥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¡¢¥ë¡¼¥È°Ê³°¤Î¥æ¡¼¥¶¤â xdm ¤ò¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¤¬¡¢¤¢¤Þ¤êÌò¤Ë¤ÏΩ¤¿¤Ê¤¤¡£ ¡ÚÌõÃí¡§bit-bucket - /dev/null ¤Ç¤·¤ç¤¦¡Û
Ä̾ xdm ¤Ï¤É¤ÎüËö¤È¤â´Ø·¸¤¬¤Ê¤¤¥Ç¡¼¥â¥ó¥×¥í¥»¥¹¤È¤·¤ÆÆ°ºî¤·¤è¤¦¤È¤¹¤ë¡£ ¤³¤ì¤Ï fork ¤ò¹Ô¤Ã¤Æ¿Æ¤ÎÊý¤Î¥×¥í¥»¥¹¤ò½ªÎ»¤µ¤»¡¢¤½¤·¤Æ¥Õ¥¡¥¤¥ë¥Ç¥¹¥¯¥ê ¥×¥¿¤òÊĤ¸¡¢À©¸æ¤·¤Æ¤¤¤ëüËö¤ò²òÊü¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¼Â¸½¤µ¤ì¤ë¡£´Ä¶­¤Ë¤è¤Ã ¤Æ¤Ï¤³¤ÎÆ°ºî¤ÏɬÍפǤϤʤ¤(Æä˥ǥХå°¤¹¤ë¤È¤­)¡£¤³¤Î¥ê¥½¡¼¥¹¤ò ``false'' ¤ËÀßÄꤹ¤ë¤È¤³¤Îµ¡Ç½¤Ï̵¸ú¤È¤Ê¤ë¡£
»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤¬À¸À®¤µ¤ì¡¢¤½¤ÎÆâÍƤ¬ ¥á¥¤¥ó¤Î xdm ¤Î¥×¥í¥»¥¹ ID ¤Î ASCII ɽ¸½¤È¤Ê¤ë¡£

xdm ¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥í¥Ã¥¯¤ò¹Ô¤¤¡¢½ÅÊ£¤·¤Æ¥Ç¡¼¥â¥ó¤¬Æ±¤¸¥Þ¥·¥ó¤Çµ¯Æ°¤·¤Æº® Í𤬵¯¤­¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£

¤³¤Î¥ê¥½¡¼¥¹¤Ï¡¢Ê£¿ô¤Î¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã¤¬Ë½Áö¤·¤Ê¤¤¤è¤¦¤Ë xdm ¤¬¥Õ¥¡¥¤¥ë¤Î¥í¥Ã¥­¥ó¥°¤ò¹Ô¤¦¤«¤É¤¦¤«À©¸æ¤¹¤ë¡£ System V ¤Ç¤Ï¡¢¤³¤Î¥ê¥½¡¼¥¹¤Ï lockf ¥é¥¤¥Ö¥é¥ê¥³¡¼¥ë¤ò»È¤¤¡¢BSD ¤Ç¤Ï flock ¤ò»È¤¦¡£
¤³¤ì¤Ï xdm ¤¬¥»¥Ã¥·¥ç¥ó¤ò½é´ü²½¤¹¤ë»þ¤Îǧ¾Ú¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»Ø¤¹¡£ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï <XRoot>/lib/X11/xdm ¤Ç¤¢¤ë¡£ ÆÃÄê¤Î¥Ç¥£¥¹¥×¥ì¥¤¤ËÂФ·¤Æ¤Ï DisplayManager.DISPLAY.authFile ¤Ç ¾å½ñ¤­¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
¤³¤Î¿¿µ¶ÃÍ¤Ï xdm ¤¬½ª¤ï¤Ã¤Æ¥Õ¥¡¥¤¥ë¤¬Êѹ¹¤µ¤ì¤¿¸å¤Ë¡¢¹½À®¾ðÊó¡¢¥µ¡¼¥Ð¡¢¥¢¥¯¥»¥¹À©¸æ¤Èǧ ¾Ú¥­¡¼¥Õ¥¡¥¤¥ë¤òºÆÆɤ߹þ¤ß¤¹¤ë¤«¤É¤¦¤«À©¸æ¤¹¤ë¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï ``true'' ¤Ç¤¢¤ë¡£ ¥á¥¤¥ó¥×¥í¥»¥¹¤Ë SIGHUP ¤òÁ÷¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ xdm ¤Ë¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤òºÆÅÙÆɤ߹þ¤Þ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
XDMCP ¥¯¥é¥¤¥¢¥ó¥ÈÍѤΥǥ£¥¹¥×¥ì¥¤Ì¾¤ò·×»»¤¹¤ë¤È¤­¡¢¤½¤Î̾Á°²ò·è¤Ç¤Ï´° Á´¤ËÁªÂò¤µ¤ì¤¿¥Û¥¹¥È̾¤¬À¸À®¤µ¤ì¤ë¡£¤³¤ì¤Ï»þ¡¹Ê¶¤é¤ï¤·¤¤¤³¤È¤¬¤¢¤ë¤Î¤Ç¡¢ ¤³¤ÎÊÑ¿ô¤¬¥»¥Ã¥È¤µ¤ì¤¿¾ì¹ç¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¤Î¥É¥á¥¤¥ó̾¤ÈƱ¤¸¤Ê¤é¤Ð xdm ¤Ï¥Û¥¹¥È̾¤«¤é¥É¥á¥¤¥ó̾Éôʬ¤ò¼è¤ê½ü¤¯¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤³¤ÎÃÍ¤Ï ``true'' ¤Ç¤¢¤ë¡£
XDM-AUTHENTICATION-1 ·¿¤Î XDMCP ǧ¾Ú¤Ï¥×¥é¥¤¥Ù¡¼¥È¥­¡¼¤Î xdm ¤ÈüËö¤Ë¤ª¤±¤ë¶¦Í­¤òɬÍפȤ¹¤ë¡£¤³¤Î¥ê¥½¡¼¥¹¤Ï¤³¤ÎÃͤò»ý¤Ä¥Õ¥¡¥¤¥ë¤ò»Ø Äꤹ¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Î³Æ¹àÌܤϡ¢¥Ç¥£¥¹¥×¥ì¥¤Ì¾¤È¶¦Í­¤µ¤ì¤ë¥­¡¼¤«¤é¤Ê¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ xdm ¤Ï XDM-AUTHENTICATION-1 ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡£¤½¤ÎÍýͳ¤Ï¡¢¤³¤Îǧ¾Ú¤Ï¥¢ ¥á¥ê¥«¹ç½°¹ñ¤ÎÍ¢½ÐÀ©¸Â¤Î¤¿¤á°ìÈ̤ËÇÛÉۤǤ­¤Ê¤¤ DES ¤òɬÍפȤ¹¤ë¤¿¤á¤Ç ¤¢¤ë¡£
µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤ XDMCP ¤òËɤ®¡¢XDMCP ¤Î IndirectQuery ¥ê¥¯¥¨¥¹¥È¤òžÁ÷ ¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¤³¤Î¥Þ¥·¥ó¤Ø¤ÎľÀÜ¥¢¥¯¥»¥¹¤¬µö¤µ ¤ì¤Æ¤¤¤ë¥Û¥¹¥È̾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Þ¤¿¤ÏÌ䤤¹ç¤ï¤»¤¬Å¾Á÷¤µ¤ì¤ë¤Ù¤­¥Û¥¹¥È¤Î ¥ê¥¹¥È¤ò»ý¤Ã¤Æ¤¤¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï XDMCP ¥¢¥¯¥»¥¹À©¸æ ¤Î¥»¥¯¥·¥ç¥ó¤Ç½Ò¤Ù¤ë¡£
Xsetup, Xstartup, Xsession, and Xreset ¥×¥í¥°¥é¥à¤ËÅϤ¹ÄɲäδĶ­ÊÑ¿ô¤Î¥ê¥¹¥È¡£¥ê¥¹¥È¤Ï¶õÇò¤Ç¶èÀÚ¤é¤ì¤ë¡£
ǧ¾Ú¥­¡¼¤Î¼ï¤òÀ¸À®¤¹¤ë¥Á¥§¥Ã¥¯¥µ¥à¤Î¥Õ¥¡¥¤¥ë¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤ÏÉÑÈˤËÆâÍƤ¬ÊѤï¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï /dev/mem ¤Ç¤¢¤ë¡£
ưŪ¤Ë¥í¡¼¥É²Äǽ¤Ê¥°¥ê¡¼¥Æ¥£¥ó¥°¥é¥¤¥Ö¥é¥ê¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¡¢ ¥é¥¤¥Ö¥é¥ê¤Î̾Á°¤ò»ØÄꤹ¤ë¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï <XRoot>/lib/X11/xdm/libXdmGreet.so ¤Ç¤¢¤ë¡£
¥æ¡¼¥¶¤¬ chooser ¤«¤é¥Û¥¹¥È̾¤òÁªÂò¤·¤¿¸å¤Ë¡¢¥Ç¥£¥¹¥×¥ì¥¤¤Î±þÅú¤òÂÔ¤Ä Éÿô¡£¥Ç¥£¥¹¥×¥ì¥¤¤¬¤³¤Î´Ö¤Ë XDMCP ¤Î IndirectQuery ¤òÁ÷¤ë¤È¡¢¤³¤Î¥ê¥¯ ¥¨¥¹¥È¤ÏÁªÂò¤µ¤ì¤¿¥Û¥¹¥È¤ËÁ÷¤é¤ì¤ë¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¤³¤ì¤Ï¿·¤·¤¤¥»¥Ã ¥·¥ç¥ó¤«¤éÁ÷¤é¤ì¤¿¤â¤Î¤È¤·¤Æ½èÍý¤µ¤ì¡¢ºÆ¤Ó chooser ¤¬É½¼¨¤µ¤ì¤ë¡£ ¥Ç¥Õ¥©¥ë¥ÈÃͤÏ15ÉäǤ¢¤ë¡£
¥Þ¥ë¥Á¥Û¡¼¥à¤Î¥Û¥¹¥È¤Ç¤ÎÀܳ¤ò¼õ¤±¤ë¤È¤­¤Ë¡¢¥Û¥¹¥È̾¤ò»È¤ï¤º¤Ë¿ôÃͤΠIP ¥¢¥É¥ì¥¹¤ò»ÈÍѤ¹¤ë¡£¤³¤ì¤ÏÀܳ»þ¤Ë¥À¥¦¥ó¤¹¤ë¤è¤¦¤ÊÉÔÀµ¤Ê¥¤¥ó¥¿¡¼¥Õ¥§¡¼ ¥¹¤Ç¤ÎÀܳ¤Î»î¤ß¤ò²óÈò¤¹¤ë¡£
¤³¤Î¥ê¥½¡¼¥¹¤Ï¡¢XDMCP ¤Î BroadcastQuery ¤ò¼õ¿®¤·¤¿»þ¤Ë root ¸¢¸Â¤Ç¼Â¹Ô ¤µ¤ì¤ë¥×¥í¥°¥é¥à¤ò»ØÄꤷ¡¢¤³¤Î¥Û¥¹¥È¤ÏXDMCP ¤Î¥Ç¥£¥¹¥×¥ì¥¤´ÉÍý¤òÄ󶡤¹ ¤ë¤è¤¦¤ËÀßÄꤵ¤ì¤ë¡£¤³¤Î¥×¥í¥°¥é¥à¤Î½ÐÎÏ¤Ï chooser ¤Î¥¦¥£¥ó¥É¥¦¤Ëɽ¼¨ ¤µ¤ì¤ë¡£¥×¥í¥°¥é¥à¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢Ê¸»úÎó Willing to manage ¤¬Á÷¤é¤ì¤ë¡£
¤³¤Î¥ê¥½¡¼¥¹¤Ï xrdb ¤¬¥Ç¥£¥¹¥×¥ì¥¤¤Î¥¹¥¯¥ê¡¼¥ó 0 ¤Î¥ë¡¼¥È¥¦¥£¥ó ¥É¥¦¾å¤Î¥ê¥½¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤ÆÆɤ߹þ¤à¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¡£ Xsetup ¥×¥í¥°¥é¥à¡¢Login ¥¦¥£¥¸¥§¥Ã¥È¤È chooser ¤Ï¤³¤Î¥Õ¥¡ ¥¤¥ë¤Î¥ê¥½¡¼¥¹¥»¥Ã¥È¤ò»ÈÍѤ¹¤ë¡£ ¤³¤Î¥ê¥½¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ïǧ¾Ú¼ê³¤­¤ÎľÁ°¤ËÆɤ߹þ¤Þ¤ì¤ë¤Î¤Ç¡¢¥í¥°¥¤¥ó ¥¦¥£¥ó¥É¥¦¤Î³°´Ñ¤òÀ©¸æ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤¹¤ë¤³¤È¤¬Å¬ ÀڤǤ¢¤ëÍÍ¡¹¤Ê¥ê¥½¡¼¥¹¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Æ¤¤¤ë ǧ¾Ú¥¦¥£¥¸¥§¥Ã¥È ¥»¥¯¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¹¤ë¤³¤È¡£ ¤³¤Î¥ê¥½¡¼¥¹¤Ë¤Ï¥Ç¥Õ¥©¥ë¥ÈÃͤϤʤ¤¤¬¡¢´·½¬Åª¤Ë <XRoot>/lib/X11/xdm/Xresources ¤È¤¤¤¦Ì¾Á°¤¬»È¤ï¤ì¤Æ¤¤¤ë¡£
ÆÃÊ̤ʥۥ¹¥È̾¤Ç¤¢¤ë CHOOSER ¤Ë¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤ë´ÖÀÜÌ䤤¹ç¤ï¤» (Indirect query)¤ËÂФ¹¤ë¥Û¥¹¥È¥á¥Ë¥å¡¼¤òÍ¿¤¨¤ë¤¿¤á¤Ë¼Â¹Ô¤¹¤ë¥×¥í¥°¥é¥à ¤ò»ØÄꤹ¤ë¡£ <XRoot>/lib/X11/xdm/chooser ¤¬¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¢¤ë¡£ XDMCP ¥¢¥¯¥»¥¹À©¸æ ¤È Chooser ¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£
¥ê¥½¡¼¥¹¤òÆɤ߹þ¤à¤¿¤á¤Ë»È¤¦¥×¥í¥°¥é¥à¤ò»ØÄꤹ¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï xdm ¤Ï <XRoot>/bin/xrdb ¤ò»ÈÍѤ¹¤ë¡£
xrdb ¤¬»ÈÍѤ¹¤ë C ¥×¥ê¥×¥í¥»¥Ã¥µ¤Î̾Á°¤ò»ØÄꤹ¤ë¡£
Login ¥¦¥£¥ó¥É¥¦¤ò½Ð¤¹Á°¤Ë (root ¤È¤·¤Æ) ¼Â¹Ô¤¹¤ë¥×¥í¥°¥é¥à¤ò»ØÄꤹ¤ë¡£ ¤³¤ì¤ò»È¤Ã¤Æ¡¢Login ¥¦¥£¥ó¥É¥¦¤Î¼þ¤ê¤Î¥¹¥¯¥ê¡¼¥ó¤Î³°´Ñ¤òÊѤ¨¤ë¤³¤È¤ä¡¢ ¾¤Î¥¦¥£¥ó¥É¥¦¤ò½Ð¤¹(Î㤨¤Ð¡¢¤³¤³¤Ç xconsole ¤ò¼Â¹Ô¤Ç¤­¤ë)¤³¤È¤¬ ¤Ç¤­¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥×¥í¥°¥é¥à¤Ï¼Â¹Ô¤µ¤ì¤Ê¤¤¡£¤³¤³¤Ç´·½¬Åª¤Ë»È¤ï¤ì¤Æ¤¤¤ë̾ Á°¤Ï Xsetup ¤Ç¤¢¤ë¡£ ¥×¥í¥°¥é¥à¤Î¥»¥Ã¥È¥¢¥Ã¥× ¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£
¤³¤ì¤Ïǧ¾Ú¼ê³¤­¤¬À®¸ù¤·¤¿¸å¤Ë(root ¤È¤·¤Æ)¼Â¹Ô¤¹¤ë¥×¥í¥°¥é¥à¤ò»ØÄꤹ ¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥×¥í¥°¥é¥à¤Ï¼Â¹Ô¤µ¤ì¤Ê¤¤¡£¤³¤³¤Ç´·½¬Åª¤Ë»È¤ï¤ì¤Æ¤¤ ¤ë̾Á°¤Ï Xstartup ¤Ç¤¢¤ë¡£ ¥×¥í¥°¥é¥à¤Îµ¯Æ°¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£
¤³¤ì¤Ï¥»¥Ã¥·¥ç¥ó¤¬(root °Ê³°¤Î¸¢¸Â¤Ç)¼Â¹Ô¤¹¤ë¥×¥í¥°¥é¥à¤ò»ØÄꤹ¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢<XRoot>/bin/xterm ¤¬¼Â¹Ô¤µ¤ì¤ë¡£ ´·½¬Åª¤Ë»È¤ï¤ì¤ë̾Á°¤Ï Xsession ¤Ç¤¢¤ë¡£ ¥»¥Ã¥·¥ç¥ó¥×¥í¥°¥é¥à ¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£
¤³¤ì¤Ï¥»¥Ã¥·¥ç¥ó¤¬½ªÎ»¤·¤¿¸å¤Ë(root ¤È¤·¤Æ)¼Â¹Ô¤¹¤ë¥×¥í¥°¥é¥à¤ò»ØÄꤹ ¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥×¥í¥°¥é¥à¤Ï¼Â¹Ô¤µ¤ì¤Ê¤¤¡£´·½¬Åª¤Ë»È¤ï¤ì¤ë̾Á°¤Ï Xreset ¤Ç¤¢¤ë¡£ ¥×¥í¥°¥é¥à¤Î¥ê¥»¥Ã¥È ¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£
¤³¤ì¤é¤Î¿ôÃͥ꥽¡¼¥¹¤ÏÈóÂŶ¨Åª¤Ê¥µ¡¼¥Ð¤ò¥ª¡¼¥×¥ó¤¹¤ë¤È¤­¤Î xdm ¤ÎµóÆ°¤òÀ©¸æ¤¹¤ë¡£openDelay ¤Ï·Ñ³Ū¤Ê»î¹Ô¤Î´Ö¤Î´Ö³Ö(ÉÃñ°Ì)¡¢ openRepeat ¤Ï»î¹Ô¤¹¤ë²ó¿ô¡¢openTimeout ¤Ï¼ÂºÝ¤Ë¥ª¡¼¥×¥ó¤ò »î¤ß¤ë»þ¤ÎÂÔ¤Á»þ´Ö¤ÎŤµ (¤¹¤Ê¤ï¤Á¡¢ connect(2) ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ë»È¤¦ºÇÂç¤Î»þ´Ö)¡¢startAttempts ¤Ï¤³¤Î¥µ¡¼¥Ð¾å¤Ë ÂФ·¤Æ¹Ô¤¦Á´¤Æ¤Î²áÄø¤Î²ó¿ô¤Ç¤¢¤ë¡£openRepeat ²ó¤Î»î¹Ô¤ò¹Ô¤Ã¤¿¸å¡¢ ¤Þ¤¿¤ÏÆÃÄê¤Î»î¹Ô¤Ë¤ª¤¤¤Æ openTimeout É÷вᤷ¤¿¾ì¹ç¤Ë¤Ï¡¢ xdm ¤Ï½ªÎ»¤·¤Æ¥µ¡¼¥Ð¤òºÆµ¯Æ°¤·¡¢ºÆ¤ÓÀܳ¤ò»î¤ß¤ë¡£ ¤³¤Î²áÄø¤Ï startAttempts ²ó·«¤êÊÖ¤µ¤ì¡¢¤³¤Î¾ì¹ç¤Ë¤Ï¥Ç¥£¥¹¥×¥ì¥¤ ¤¬Ää»ß¤·¤Æ¤¤¤Æ»ÈÍÑÉÔǽ¤Ç¤¢¤ë¤È¤µ¤ì¤ë¡£¤³¤ÎµóÆ°¤Ï×ó°ÕŪ¤Ë¸«¤¨¤ë¤¬¡¢·Ð¸³ Ū¤Ë·è¤á¤é¤ì¤¿¤â¤Î¤Ç¤¢¤ê¡¢¤Û¤È¤ó¤É¤Î¥·¥¹¥Æ¥à¤Ç¤¦¤Þ¤¯Æ°ºî¤¹¤ë¡£¥Ç¥Õ¥©¥ë ¥ÈÃÍ¤Ï openDelay ¤¬ 5, openRepeat ¤¬ 5, openTimeout ¤¬ 30, startAttempts ¤¬ 4 ¤Ç¤¢¤ë¡£
¥ê¥â¡¼¥È¤Î¥Ç¥£¥¹¥×¥ì¥¤¤¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿»þ¤òÃΤ뤿¤á¡¢ xdm ¤Ï»þÀÞ¡¢¤½¤ì¤é¤Ë X Àܳ¤È XSync ¥³¡¼¥ë¤ò»È¤Ã¤Æ ping ¤ò¤«¤±¤ë¡£ pingInterval ¤Ï(ʬñ°Ì¤Ç) ping ¤ò¹Ô¤¦»þ´Ö´Ö³Ö¤ò»ØÄꤷ¡¢ pingTimeout ¤Ï¥ê¥¯¥¨¥¹¥È¤ËÂФ¹¤ëüËö¤Î±þÅú¤òÂԤĺÇÂç»þ´Ö(ʬñ°Ì ¤Ç)¤ò»ØÄꤹ¤ë¡£Ã¼Ëö¤«¤é¤Î±þÅú¤¬¤Ê¤¤¾ì¹ç¡¢¥»¥Ã¥·¥ç¥ó¤Ï²õ¤ì¤¿¤È¸«¤Ê¤µ¤ì ¤Æ½ªÎ»¤¹¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤É¤Á¤é¤ÎÃͤâ 5 ʬ¤Ç¤¢¤ë¡£´ÉÍý¤·¤Æ¤¤¤ë¥Û¥¹¥È ¤«¤é³ÖÎ¥¤µ¤ì¤ë¤³¤È¤¬¤¢¤ë X üËö¤òÉÑÈˤ˻ÈÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤ÎÃͤòÁý¤ä ¤¹¤È¤è¤¤¤À¤í¤¦¡£Í£°ì¤ÎÌäÂêÅÀ¤Ï¡¢Ã¼Ëö¤¬ÆÍȯŪ¤Ë»ÈÍÑÉÔǽ¤Ë¤Ê¤Ã¤¿¸å¤Ç¤â¥»¥Ã ¥·¥ç¥ó¤¬Â¸ºß¤·Â³¤±¤ë¤³¤È¤Ç¤¢¤ë¡£ xdm ¤Ï¥í¡¼¥«¥ë¥Ç¥£¥¹¥×¥ì¥¤¤Ë¤Ï ping ¤ò¤«¤±¤Ê¤¤¡£¤³¤ì¤ÏÌäÂê¤Ê¤¤¤è¤¦¤Ç¤¢¤ë¤¬¡¢ NFS ¥µ¡¼¥Ó¥¹¤Ë¤è¤ë¥µ¡¼¥Ð¤¬¥Ï¥ó¥°¥¢¥Ã¥×¤·¡¢ping ¤Ë±þÅú¤·¤Ê¤¯¤Ê¤ë·ë²Ì¤È ¤·¤Æ¥ï¡¼¥¯¥¹¥Æ¡¼¥·¥ç¥ó¤Î¥»¥Ã¥·¥ç¥ó¤¬½ªÎ»¤·¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤Ë¤Ï¹¥¤Þ¤·¤¯¤Ê ¤¤¡£
¤³¤Î¿¿µ¶ÃͤΥ꥽¡¼¥¹¤Ï¥»¥Ã¥·¥ç¥ó¤¬(¥ê¥»¥Ã¥È¤ÎÂå¤ï¤ê¤Ë)½ªÎ»¤·¤¿¤È¤­¤Ë X ¥µ¡¼¥Ð¤¬½ªÎ»¤¹¤ë¤«¤É¤¦¤«¤ò»ØÄꤹ¤ë¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥µ¡¼¥Ð¤¬²ÔƯ»þ´Ö¤Î ºÝ¸Â¤¬¤Ê¤¤·¹¸þ¤¬¤¢¤ë¤È¤­¤Ë»ÈÍѤ·¡¢¥µ¡¼¥Ð¤¬Æ°ºî¤¹¤ë»þ´Ö¤òÀ©¸Â¤¹¤ë¤³¤È¤¬ ¤Ç¤­¤ë¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï ``false'' ¤Ç¤¢¤ë¡£
xdm ¤Ï¥»¥Ã¥·¥ç¥óÍѤΠPATH ´Ä¶­ÊÑ¿ô¤Ë¤³¤ÎÃͤòÀßÄꤹ¤ë¡£¤³¤ì¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ò ¥³¥í¥ó¤Ç¶èÀڤ俥ꥹ¥È¤Ç¤¢¤ë¡£¾Ü¤·¤¤ÀâÌÀ¤Ë¤Ä¤¤¤Æ¤Ï sh(1) ¤ò»²¾È¤¹¤ë¤³¤È¡£ ``:/bin:/usr/bin:/usr/X11R6/bin:/usr/ucb'' ¤¬Ä̾ï¤ÎÀßÄê¤Ç¤¢¤ë¡£ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï X ¤Î¹½ÃÛ»þ¤Ë X ¥·¥¹¥Æ¥àÀßÄê¥Õ¥¡¥¤¥ëÆâ¤Î DefaultUserPath ¹àÌܤǻØÄꤹ¤ë¡£
xdm ¤Ï¡¢µ¯Æ°¥¹¥¯¥ê¥×¥È¤È¥ê¥»¥Ã¥È¥¹¥¯¥ê¥×¥È¤Ç»È¤¦ PATH ´Ä¶­ÊÑ¿ô¤Ë¤³¤Î¥ê¥½¡¼ ¥¹¤ÎÃͤò¥»¥Ã¥È¤¹¤ë¡£¤³¤Î¥ê¥½¡¼¥¹¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï X ¤Î¹½ÃÛ»þ¤Ë¥·¥¹¥Æ¥à ÀßÄê¥Õ¥¡¥¤¥ë¤Î DefaultSystemPath ¹àÌܤǻØÄꤹ¤ë¡£ ÉáÄÌ¤Ï ``/etc:/bin:/usr/bin:/usr/X11R6/bin:/usr/ucb'' ¤¬»È¤ï¤ì¤ë¡£ ¤³¤Î¹àÌܤ«¤é ``.'' ¤ò¼è¤ê½ü¤¤¤Æ¤ª¤¯(ÌõÃí: ¥Ñ¥¹¤Ë¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò ´Þ¤á¤Ê¤¤)ÅÀ¤Ë¤ÏÃí°Õ¤¹¤ë¤³¤È¡£¤³¤ì¤Ï root ¤Î»Å»ö¤ÎÎɤ¤Îý½¬¤Ç¤¢¤ë¡£¤³¤ì ¤Ï°ìÈÌŪ¤Ê¥È¥í¥¤¤ÎÌÚÇϤˤè¤ë¥·¥¹¥Æ¥à¿¯Æþ·×²è¤òËɤ°¤³¤È¤¬¤Ç¤­¤ë¡£
xdm ¤Ï¡¢µ¯Æ°¥¹¥¯¥ê¥×¥È¤È¥ê¥»¥Ã¥È¥¹¥¯¥ê¥×¥È¤Ç»È¤¦ SHELL ´Ä¶­ÊÑ¿ô¤Ë¤³¤Î¥ê¥½¡¼ ¥¹¤ÎÃͤò¥»¥Ã¥È¤¹¤ë¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï /bin/sh ¤Ç¤¢¤ë¡£
¥Ç¥Õ¥©¥ë¥È¤Î¥»¥Ã¥·¥ç¥ó¤Î¼Â¹Ô¤Ë¼ºÇÔ¤·¤¿¤È¤­¡¢ xdm ¤Ï¤³¤Î¥×¥í¥°¥é¥à¤ËÌá¤í¤¦¤È¤¹¤ë¡£¤³¤Î¥×¥í¥°¥é¥à¤Ï°ú¤­¿ô¤Ê¤·¤Ç¼Â¹Ô¤¹¤ë¤¬¡¢ ¥»¥Ã¥·¥ç¥ó¤òÆ°ºî¤µ¤»¤ë¤Î¤ÈƱ¤¸´Ä¶­ÊÑ¿ô¤ò»È¤Ã¤Æ¼Â¹Ô¤µ¤ì¤ë( Session Program ¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È)¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï <XRoot>/bin/xterm ¤¬»È¤ï¤ì¤ë¡£
¥»¥­¥å¥ê¥Æ¥£¤ò¸þ¾å¤µ¤»¤ë¤¿¤á¤Ë¡¢ xdm ¤Ï¥í¥°¥¤¥ó̾¤È¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤµ¤»¤ë¤È¤­¤Ë¥µ¡¼¥Ð¤È¥­¡¼¥Ü¡¼¥É¤òÀêÍ­¤¹¤ë¡£ grabServer ¥ê¥½¡¼¥¹¤Ï¡¢¥í¥°¥¤¥ó̾¤È¥Ñ¥¹¥ï¡¼¥É¤ÎÆɤ߹þ¤ß¤Î´Ö¤Ë¥µ¡¼ ¥Ð¤òÊÝ»ý¤¹¤ë¤«¤É¤¦¤«¤ò»ØÄꤹ¤ë¡£``false'' ¤Î¾ì¹ç¤Ë¤Ï¥­¡¼¥Ü¡¼¥É¤ÎÀêÍ­¤¬ À®¸ù¤·¤¿¸å¤Ë¥µ¡¼¥Ð¤ÎÀêÍ­¤òÎ¥¤·¡¢``true'' ¤Î¾ì¹ç¤Ë¤Ï¥»¥Ã¥·¥ç¥ó¤¬»Ï¤Þ¤ë ľÁ°¤Þ¤Ç¥µ¡¼¥Ð¤ÏÀêÍ­¤µ¤ì¤ë¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï ``false'' ¤Ç¤¢¤ë¡£ grabTimeout ¥ê¥½¡¼¥¹¤Ï xdm ¤ÎÀêÍ­¤¬À®¸ù¤¹¤ë¤Þ¤ÇÂԤĺÇŤδ֤ò»ØÄꤹ¤ë¡£Â¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬ ¥µ¡¼¥Ð¤òÀêÍ­¤·¤Æ¤¤¤ë¾ì¹ç¤ä¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÃٱ䤬¤È¤Æ¤âÂ礭¤¤¤Ë¤ÏÀêÍ­¤¬¼º ÇÔ¤¹¤ë¤³¤È¤¬¤¢¤ë¡£¤³¤Î¥ê¥½¡¼¥¹¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 3 ÉäǤ¢¤ë¡£ ¥æ¡¼¥¶¤¬¥Ç¥£¥¹¥×¥ì¥¤¾å¤Î¤è¤¯»÷¤¿¥¦¥£¥ó¥É¥¦¤ËñÙ¤µ¤ì¤ë¤³¤È¤¬¤¢¤ë¤Î¤Ç¡¢¤³ ¤ÎÃͤò¹â¤¯¤¹¤ë¤È¤­¤Ë¤ÏÃí°Õ¤¹¤ë¤³¤È¡£ÀêÍ­¤Ë¼ºÇÔ¤¹¤ë¤È xdm ¤Ï¥µ¡¼¥Ð¤È¥»¥Ã¥·¥ç¥ó¤Î¥×¥í¥»¥¹¤ò»ß¤á¡¢(²Äǽ¤Ê¤é¤Ð)ºÆ¥¹¥¿¡¼¥È¤µ¤»¤ë¡£
authorize ¤Ï¡¢ ¥í¡¼¥«¥ë¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤ËÂФ·¤Æ xdm ¤¬Ç§¾Ú¤òÀ¸À®¤·¤Æ»ÈÍѤ¹¤ë¤«¤É¤¦¤«¤òÀ©¸æ¤¹¤ë¿¿µ¶ÃͤΥ꥽¡¼¥¹¤Ç¤¢¤ë¡£Ç§¾Ú ¤òÍѤ¤¤ë¾ì¹ç¡¢authName ¤Ï»ÈÍѤ¹¤ëǧ¾Úµ¡¹½¤Î¥ê¥¹¥È(¶èÀÚ¤ê¤Ï¶õÇòʸ »ú)¤Ç¤¢¤ë¡£ XDMCP Àܳ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëǧ¾Úµ¡¹½¤òưŪ¤Ë»ØÄꤹ¤ë¤Î¤Ç¡¢¤³¤Î¾ì¹ç authName ¤Ï̵»ë¤µ¤ì¤ë¡£authorize ¤¬¥Ç¥£¥¹¥×¥ì¥¤ÍѤËÀßÄꤵ ¤ì¤Æ¤¤¤ë¤¬Ç§¾Ú¤¬¤Ç¤­¤Ê¤¤¾ì¹ç¡¢¥æ¡¼¥¶¤ÏÄ̾ï¤È¤Ï°Û¤Ê¤ë¥á¥Ã¥»¡¼¥¸¤¬¥í¥°¥¤ ¥ó¥¦¥£¥¸¥§¥Ã¥È¤Çɽ¼¨¤µ¤ì¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢authorize ¤Ï``true'' ¤Ç¤¢¤ë¡£authName ¤Ï ``MIT-MAGIC-COOKIE-1'' ¤Þ¤¿¤Ï¡¢ XDM-AUTHORIZATION-1 ¤¬ÍøÍѲÄǽ¤Ç¤¢¤ì¤Ð¡¢ ``XDM-AUTHORIZATION-1 MIT-MAGIC-COOKIE-1'' ¤Ç¤¢¤ë¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥µ¡¼¥Ð ¤Î -auth ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»È¤Ã ¤Æ xdm ¤«¤é¥µ¡¼¥Ð¤Øǧ¾Ú¥Ç¡¼¥¿¤òÅÁ¤¨¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢´Êñ¤Ëºï½ü¤µ¤ì¤Æ¥µ¡¼¥Ð¤Î¥»¥­¥å¥ê¥Æ¥£µ¡¹½¤¬Ìµ¸ú²½¤µ¤ì¤Æ ¤·¤Þ¤ï¤Ê¤¤¤è¤¦¤Ë¡¢À¤³¦Ã椫¤é½ñ¤­¹þ¤à¤³¤È¤Ï¤Ç¤­¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¯¤Ù ¤­¤Ç¤¢¤ë¡£ »ØÄê¤Î¤Ê¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤Ï DisplayManager.authDir ¤È¥Ç¥£¥¹¥×¥ì¥¤¤Î ̾¤«¤éÀ¸À®¤µ¤ì¤ë¡£
¤³¤ì¤Ë ``false'' ¤òÀßÄꤹ¤ë¤È¡¢unsecureGreeting ¤¬¥í¥°¥¤¥ó ¥¦¥£¥ó¥É¥¦¤Ç»È¤ï¤ì¤Ê¤¯¤Ê¤ë¡£ ǧ¾Ú¥¦¥£¥¸¥§¥Ã¥È ¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï ``true'' ¤Ç¤¢¤ë¡£
xdm ¤¬¥µ¡¼¥Ð¤ò¥ê¥»¥Ã¥È¤¹¤ë¤¿¤á¤ËÁ÷¤ë¥·¥°¥Ê¥ë¤ÎÈÖ¹æ¤Ç¤¢¤ë¡£ ¥µ¡¼¥Ð¤ÎÀ©¸æ ¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 1(SIGHUP)¤Ç¤¢¤ë¡£
xdm ¤¬¥µ¡¼¥Ð¤ò½ªÎ»¤¹¤ë¤¿¤á¤ËÁ÷¤ë¥·¥°¥Ê¥ë¤ÎÈÖ¹æ¤Ç¤¢¤ë¡£ ¥µ¡¼¥Ð¤ÎÀ©¸æ ¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 15(SIGTERM)¤Ç¤¢¤ë¡£
¥µ¥ó¥×¥ë¥µ¡¼¥Ð¤Ë¤ª¤±¤ë¸µ¡¹¤Îǧ¾Ú¤Î¼ÂÁõ¤Ç¤Ï¡¢¥µ¡¼¥Ð¤Î¥ê¥»¥Ã¥È»þ¤ËºÇ½é¤Î Àܳ¤ò¥Á¥§¥Ã¥¯¤¹¤ëÂå¤ï¤ê¤Ëǧ¾Ú¥Õ¥¡¥¤¥ë¤òºÆÆɤ߹þ¤ß¤ò¹Ô¤¦¡£ xdm ¤Ï¥Ç¥£¥¹¥×¥ì¥¤¤ËÀܳ¤¹¤ëľÁ°¤Ëǧ¾Ú¾ðÊó¤òÀ¸À®¤¹¤ë¤Î¤Ç¡¢¸Å¤¤¥µ¡¼¥Ð¤ÏºÇ¿·¤Î ǧ¾Ú¾ðÊó¤ò¼èÆÀ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£ ¤³¤Î¥ê¥½¡¼¥¹¤òÀßÄꤹ¤ë¤È¡¢ xdm ¤Ï¥Õ¥¡¥¤¥ë¤òÀßÄꤷ¤¿¸å¤Ë¥µ¡¼¥Ð¤Ë SIGHUP ¤òÁ÷¤ë¡£¤³¤ì¤Ë¤è¤êÄɲäΥµ¡¼¥Ð ¤Ï¥ê¥»¥Ã¥È¤µ¤ì¡¢¤³¤ÎºÝ¤Ë¿·¤·¤¤Ç§¾Ú¾ðÊó¤¬Æɤ߹þ¤Þ¤ì¤ë¡£ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï ``false'' ¤Ç¤¢¤ê¡¢¤³¤ì¤ÏÁ´¤Æ¤Î MIT ¥µ¡¼¥Ð¤ÇÆ°ºî¤¹¤ë¡£
xdm ¤ÏÄ̾ï¤Î¥æ¡¼¥¶Ç§¾Ú¥Õ¥¡¥¤¥ë($HOME/.Xauthority)¤Ë½ñ¤­¹þ¤ß¤ò¹Ô¤¨¤Ê¤¤¤È¤­¡¢ ¤³¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë̾Á°¤¬½ÅÊ£¤·¤Ê¤¤¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢XAUTHORITY ´Ä¶­ÊÑ¿ô¤¬ºîÀ®¤·¤¿¥Õ¥¡¥¤¥ë¤ò»Ø¤¹¤è¤¦¤ËÀßÄꤹ¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï /tmp ¤¬»È¤ï¤ì¤ë¡£

ÀßÄê¥Õ¥¡¥¤¥ë

¤Þ¤º xdm ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ÎÀßÄê¤ò¹Ô¤¦¡£ Á´¤Æ¤Î´ØÏ¢¥Õ¥¡¥¤¥ë¤òÃÖ¤¯¥Ç¥£¥ì¥¯¥È¥ê (Ä̾ï¤Ï <XRoot>/lib/X11/xdm, ¤³¤³¤Ç <XRoot> ¤Ï X11 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥Ç¥£ ¥ì¥¯¥È¥ê¤Î¥ë¡¼¥È¤ò»Ø¤¹)¤òºîÀ®¤¹¤ë¡£¼¡¤ÎÎã¤Ç¤Ï <XRoot> ¤ÎÃͤȤ·¤Æ /usr/X11R6 ¤òÍѤ¤¤ë¡£

°Ê²¼¤Ï xdm-config ¤È¤¤¤¦Ì¾Á°¤Î»È¤¤¤ä¤¹¤¤ÀßÄê¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë:

	DisplayManager.servers:	/usr/X11R6/lib/X11/xdm/Xservers
	DisplayManager.errorLogFile:	/usr/X11R6/lib/X11/xdm/xdm-errors
	DisplayManager*resources:	/usr/X11R6/lib/X11/xdm/Xresources
	DisplayManager*startup:	/usr/X11R6/lib/X11/xdm/Xstartup
	DisplayManager*session:	/usr/X11R6/lib/X11/xdm/Xsession
	DisplayManager.pidFile:	/usr/X11R6/lib/X11/xdm/xdm-pid
	DisplayManager._0.authorize:	true
	DisplayManager*authorize:	false

¤³¤Î¥Õ¥¡¥¤¥ë¤ÏÉáÄÌ¡¢Â¾¤Î¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¤¤ëÅÀ¤ËÃí°Õ¤¹¤ë¤³¤È¡£¤Þ¤¿¡¢ Í×ÁǤò¶èÀÚ¤ë ``*'' ¤ò»È¤Ã¤Æ»ØÄꤵ¤ì¤ë¥ê¥½¡¼¥¹¤â¤¢¤ëÅÀ¤Ë¤âÃí°Õ¤¹¤ë¤³¤È¡£ ¤³¤ì¤é¤Î¥ê¥½¡¼¥¹¤Ï¡¢¥Ç¥£¥¹¥×¥ì¥¤Ì¾¤ò ``*'' ¤ÇÃÖ¤­´¹¤¨¤ë¤³¤È¤Ë¤è¤Ã¤Æ°Û ¤Ê¤ë¥Ç¥£¥¹¥×¥ì¥¤¤ËÂФ·¤Æ¤Ï½Å¤Ê¤é¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤¬¡¢Ä̾ï¤Ï¤¢ ¤Þ¤êÌò¤ËΩ¤¿¤Ê¤¤¡£¾Ü¤·¤¤µÄÏÀ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥ê¥½¡¼¥¹ ¥»¥¯¥·¥ç ¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£

XDMCP ¤Î¥¢¥¯¥»¥¹À©¸æ

DisplayManager.accessFile ¤Ë¤è¤Ã¤Æ»ØÄꤷ¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢ XDMCP ¥µ¡¼¥Ó¥¹¤òÍ׵᤹¤ë¥Ç¥£¥¹¥×¥ì¥¤¤«¤é¤Î¥¢¥¯¥»¥¹¤ò xdm ¤¬À©¸æ¤ò¤¹¤ë¤¿¤á¤Ë»È¤¦¾ðÊó¤òÍ¿¤¨¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï 3 ¼ïÎà¤Î¹àÌܤ¬´Þ¤Þ ¤ì¤ë: Direct ¤È Broadcast ¤ÎÌ䤤¹ç¤ï¤»¤Ë±þÅú¤¹¤ëÀ©¸æ¹àÌÜ¡¢Indirect ¤Î Ì䤤¹ç¤ï¤»¤Ë±þÅú¤¹¤ëÀ©¸æ¹àÌÜ¡¢¥Þ¥¯¥íÄêµÁ¤Ç¤¢¤ë¡£

Direct ¹àÌܤνñ¼°¤Ïñ½ã¤Ç¤¢¤ê¡¢¥Ç¥£¥¹¥×¥ì¥¤¥Ç¥Ð¥¤¥¹¤Î¥Û¥¹¥È̾¤ÈÈæ³Ó¤µ ¤ì¤ë¥Û¥¹¥È̾¤Þ¤¿¤Ï¥Ñ¥¿¡¼¥ó¤Ç¤¢¤ë¡£¥Ñ¥¿¡¼¥ó¤Ï1¤Ä°Ê¾å¤Î¥á¥¿Ê¸»ú(`*' ¤Ï 0 ¸Ä°Ê¾å¤ÎǤ°Õ¤Îʸ»ú¤Ë°ìÃפ·¡¢`?' ¤ÏǤ°Õ¤Î°ìʸ»ú¤Ë°ìÃפ¹¤ë)¤ò´Þ¤à¤³¤È¤Ë ¤è¤Ã¤Æ¥Û¥¹¥È̾¤È¤Ï¶èÊ̤µ¤ì¤ë¡£ ¹àÌܤ¬¥Û¥¹¥È̾¤Î¾ì¹ç¤Ï¡¢Á´¤Æ¤ÎÈæ³Ó¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹¤ò»È¤Ã¤Æ¹Ô¤ï¤ì ¤ë¤Î¤Ç¡¢Àµ¤·¤¤¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹¤ËÊÑ´¹¤µ¤ì¤ëǤ°Õ¤Î̾Á°¤ò»È¤¦¤³¤È¤¬¤Ç ¤­¤ë¡£ ¹àÌܤ¬¥Ñ¥¿¡¼¥ó¤Î¾ì¹ç¤Ï¡¢¥«¥Î¥Ë¥«¥ë¤Ê¥Û¥¹¥È̾¤À¤±¤¬Èæ³Ó¤Ë»È¤ï¤ì¤ë¤Î¤Ç¡¢ ¥¨¥¤¥ê¥¢¥¹¤Ë¥Þ¥Ã¥Á¤µ¤»¤è¤¦¤È¤·¤Ê¤¤¤è¤¦¤ËÃí°Õ¤¹¤ë¤³¤È¡£ ¥Û¥¹¥È̾¤Þ¤¿¤Ï¥Ñ¥¿¡¼¥ó¤ÎÁ°¤Ë `!' ʸ»ú¤ò¤Ä¤±¤ë¤È¡¢¤½¤Î¹àÌܤ˥ޥåÁ¤¹¤ë ¥Û¥¹¥È¤¬½ü³°¤µ¤ì¤ë¡£

¥Û¥¹¥È̾¤â¤·¤¯¤Ï¥Ñ¥¿¡¼¥ó¤Î Direct Ì䤤¹ç¤ï¤»¤Ë¤À¤±¤Ë±þÅú¤µ¤»¤ë¤Ë¤Ï¡¢ ¥ª¥×¥·¥ç¥ó¤Î ``NOBROADCAST'' ¥­¡¼¥ï¡¼¥É¤ò¸å¤Ë²Ã¤¨¤ë¤³¤È¡£ ¤³¤ì¤ò»È¤Ã¤Æ¡¢xdm ¥µ¡¼¥Ð¤¬ Broadcast ¤ÎÌ䤤¹ç¤ï¤»¤Ë´ð¤Å¤¯¥á¥Ë¥å¡¼¤Ë¸½ ¤ï¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

Indirect ¹àÌܤâ¥Û¥¹¥È̾¤â¤·¤¯¤Ï¥Ñ¥¿¡¼¥ó¤ò´Þ¤à¤¬¡¢¤³¤Î¹àÌܤξì¹ç¤Ï¤½¤Î ¸å¤Ë´ÖÀÜŪ¤ÊÌ䤤¹ç¤ï¤»¤òÁ÷¤ë¥Û¥¹¥È̾¤Þ¤¿¤Ï¥Þ¥¯¥í¤Î¥ê¥¹¥È¤¬Â³¤±¤é¤ì¤ë¡£

¥Þ¥¯¥íÄêµÁ¤Ï¡¢¥Þ¥¯¥í̾¤È¥Û¥¹¥È̾¤Î¥ê¥¹¥È¤È¥Þ¥¯¥í¤òŸ³«¤¹¤ë¤½¤Î¾¤Î¥Þ¥¯ ¥í¤ò´Þ¤à¡£¥Þ¥¯¥í¤È¥Û¥¹¥È̾¤ò¶èÊ̤¹¤ë¤¿¤á¡¢¥Þ¥¯¥í̾¤Ï `%' ʸ»ú¤Ç»Ï¤Þ¤ë¡£ ¥Þ¥¯¥í¤Ï¥Í¥¹¥È¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

Indirect ¹àÌܤǤϡ¢Àܳ¤Ç¤­¤ë¥Û¥¹¥È¤Î¥á¥Ë¥å¡¼¤ò½Ð¤¹¤¿¤á¤Ë xdm ¤Ë chooser ¤ò¼Â¹Ô¤µ¤»¤ë¤è¤¦¤Ë»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡£Chooser ¤Î ¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£

ÆÃÄê¤Î¥Ç¥£¥¹¥×¥ì¥¤¥Û¥¹¥È¤Ø¤Î¥¢¥¯¥»¥¹¤òÄ´ºº¤¹¤ë¤È¤­¤Ï¡¢³Æ¹àÌܤϽçÈÖ¤ËÄ´ ¤Ù¤é¤ì¡¢ºÇ½é¤Ë¥Þ¥Ã¥Á¤¹¤ë¹àÌܤDZþÅú¤¬·è¤á¤é¤ì¤ë¡£Direct ¤È Broadcast ¹à ÌÜ¤Ï Indirect ¹àÌܤòÄ´¤Ù¤ë¤È¤­¤Ë¤Ï̵»ë¤µ¤ì¤ë¡£¤½¤ÎµÕ¤âƱ¤¸¤Ç¤¢¤ë¡£

¶õÇò¹Ô¤Ï̵»ë¤µ¤ì¤ë¡£`#' ¤Ï¥³¥á¥ó¥È¶èÀÚ¤ê¤È¤·¤Æ°·¤ï¤ì¡¢¤½¤Î¹Ô¤Î»Ä¤ê¤Ï̵»ë ¤µ¤ì¤ë¡£`\newline' ¤Ï²þ¹Ô¤ò̵»ë¤µ¤ì¤ë¤è¤¦¤Ë¤·¡¢´ÖÀÜ¥Û¥¹¥È¤Î¥ê¥¹ ¥È¤òÊ£¿ô¹Ô¤ËÅϤäƵ­½Ò¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¡£

Xaccess ¥Õ¥¡¥¤¥ë¤ÎÎã¤ò¼¨¤¹:

#
# Xaccess - XDMCP ¥¢¥¯¥»¥¹À©¸æ¥Õ¥¡¥¤¥ë
#
#
# Direct/Broadcast query entries
#
!xtra.lcs.mit.edu	# xtra ¤ËÂФ¹¤ë direct/broadcast ¥µ¡¼¥Ó¥¹¤ò¶Ø»ß¤¹¤ë
bambi.ogi.edu	# ¤³¤ÎÆÃÄê¤Î¥Ç¥£¥¹¥×¥ì¥¤¤«¤é¤Î¥¢¥¯¥»¥¹¤òµö²Ä¤¹¤ë
*.lcs.mit.edu	# LCS ¥É¥á¥¤¥ó¤ÎǤ°Õ¤Î¥Ç¥£¥¹¥×¥ì¥¤¤«¤é¤Î¥¢¥¯¥»¥¹¤òµö²Ä¤¹¤ë
*.deshaw.com	NOBROADCAST	# direct ¥¢¥¯¥»¥¹¤Î¤ß¤òµö²Ä¤¹¤ë
*.gw.com			# direct ¥¢¥¯¥»¥¹¤È broadcast ¥¢¥¯¥»¥¹¤òµö²Ä¤¹¤ë
#
# Indirect Ì䤤¹ç¤ï¤»¹àÌÜ
#
%HOSTS	expo.lcs.mit.edu xenon.lcs.mit.edu \
	excess.lcs.mit.edu kanga.lcs.mit.edu
extract.lcs.mit.edu	xenon.lcs.mit.edu	# extract ¤ò xenon ¤ËÀܳ¤µ¤»¤ë
!xtra.lcs.mit.edu	dummy	#indirect ¥¢¥¯¥»¥¹¤ò¶Ø»ß¤¹¤ë
*.lcs.mit.edu	%HOSTS	#¾¤ÎÁ´¤Æ¤Î¥Û¥¹¥È¤òÁªÂò¤µ¤»¤ë

CHOOSER

Broadcast ¤Þ¤¿¤Ï Indirect Ì䤤¹ç¤ï¤»¤ò»È¤Ã¤Æ¥Û¥¹¥È¥á¥Ë¥å¡¼¤ò½Ð¤µ¤Ê¤¤ X üËö¤ËÂФ·¤Æ¤Ï¡¢chooser ¥×¥í¥°¥é¥à¤¬¥á¥Ë¥å¡¼¤ò½Ð¤¹¡£ Xaccess ¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¡¢Indirect ¥Û¥¹¥È¥ê¥¹¥ÈÆâ¤ÎºÇ½é¤Î¹àÌÜ¤Ë ``CHOOSER'' ¤ò»ØÄꤹ¤ë¤³¤È¡£chooser ¤Ï Query ¥ê¥¯¥¨¥¹¥È¤ò¥ê¥¹¥È Ãæ¤Î»Ä¤ê¤Î¥Û¥¹¥È̾¤½¤ì¤¾¤ì¤ËÁ÷¤ê¡¢±þÅú¤·¤¿Á´¤Æ¤Î¥Û¥¹¥È¤ò¥á¥Ë¥å¡¼¤Ë½Ð¤¹¡£

¥ê¥¹¥È¤Ç ``BROADCAST'' ¤È¤¤¤¦¸ì¤ò»È¤¦¤³¤È¤â¤Ç¤­¡¢¤³¤Î¾ì¹ç¤Ë¤ÏÂå¤ï¤ê¤Ë chooser ¤Ï Broadcast ¤òÁ÷¤ê¡¢±þÅú¤·¤¿Á´¤Æ¤Î¥Û¥¹¥È¤ò¥á¥Ë¥å¡¼¤Ë½Ð ¤¹¡£OS ¤Ë¤è¤Ã¤Æ¤Ï UDP ¥Ñ¥±¥Ã¥È¤ò¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¤Ç¤­¤º¡¢¤³¤Îµ¡Ç½¤¬Æ°ºî ¤·¤Ê¤¤¾ì¹ç¤¬¤¢¤ëÅÀ¤ËÃí°Õ¤¹¤ë¤³¤È¡£

chooser ¤òÍѤ¤¤ë¾ì¹ç¤Î Xaccess ¥Õ¥¡¥¤¥ë¤ÎÎã¤ò¼¨¤¹:

extract.lcs.mit.edu	CHOOSER %HOSTS	#¤³¤ì¤é¤Î¥Û¥¹¥È¤Î¥á¥Ë¥å¡¼¤ò½Ð¤¹
xtra.lcs.mit.edu	CHOOSER BROADCAST	#Á´¤Æ¤Î¥Û¥¹¥È¤Î¥á¥Ë¥å¡¼¤ò½Ð¤¹

chooser ¤ò»ÈÍѤ¹¤ë¥×¥í¥°¥é¥à¤Ï¡¢ DisplayManager.DISPLAY.chooser ¥ê¥½¡¼¥¹¤Ë¤è¤Ã¤Æ»ØÄê ¤µ¤ì¤ë¡£¤³¤ÎÃʳ¬¤ò¤è¤ê½ÀÆð¤Ë¤¹¤ë¤¿¤á¡¢chooser ¤ò¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Ë¤¹¤ë ¤³¤È¤â¤Ç¤­¤ë¡£ ¤³¤³¤Ç¡¢chooser ¤Ï¥»¥Ã¥·¥ç¥ó¥Þ¥Í¡¼¥¸¥ã¤Ç¤¢¤ê¡¢»Ò¥×¥í¥»¥¹¤Î xdm ¤ÎÂå¤ï¤ê¤Ë¥Ç¥£¥¹¥×¥ì¥¤¤ò´ÉÍý¤¹¤ë¡£

¤³¤Î¥×¥í¥°¥é¥àÍѤΥ꥽¡¼¥¹¤Ï¡¢ DisplayManager.DISPLAY.resources ¤Ë¥Õ¥¡¥¤¥ë̾¤òµ­½Ò ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¥æ¡¼¥¶¤¬¥Û¥¹¥È¤òÁªÂò¤¹¤ë¤È¤­¡¢chooser ¤ÏÁªÂò¤µ¤ì¤¿¥Û¥¹¥È(¤³¤ì¤Ï ¿Æ¤Ç¤¢¤ë xdm ¤¬¼èÆÀ¤¹¤ë)¤ò½ÐÎϤ·¤Æ½ªÎ»¤¹¤ë¡£ xdm ¤Ï X ¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤òÊĤ¸¡¢ ¥µ¡¼¥Ð¤Ï¥ê¥»¥Ã¥È¤ò¹Ô¤¤¡¢Ê̤ΠIndirect XDMCP ¥ê¥¯¥¨¥¹¥È¤òÁ÷¤ë¡£ xdm ¤Ï¥æ¡¼¥¶¤ËÁªÂò¤µ¤ì¤¿¥Û¥¹¥È¤ò (DisplayManager.choiceTimeout ÉôÖ)µ­²±¤¹¤ë¡£¤³¤ÎÁªÂò¤µ¤ì¤¿¥Û¥¹ ¥È¤Ï¤½¤Î¥Ç¥£¥¹¥×¥ì¥¤¤Ç¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¡£

¥í¡¼¥«¥ë¥µ¡¼¥Ð»ØÄê

DisplayManager.servers ¥ê¥½¡¼¥¹¤Ï¥µ¡¼¥Ð¤Î»ØÄê¤òÍ¿¤¨¤ë¡£¤¢¤ë¤¤¤Ï¡¢ ¥¹¥é¥Ã¥·¥å(/)¤Ç»Ï¤Þ¤ëÃͤξì¹ç¤Ë¤Ï¡¢¥µ¡¼¥Ð¤ò»ØÄꤷ¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î̾Á° ¤ò1¹Ô¤Ë1¤Ä¤º¤Ä»ØÄꤹ¤ë¡£

¤½¤ì¤¾¤ì¤Î»ØÄê¤Ï¡¢¾ï¤Ë´ÉÍý¤µ¤ì¤Æ¤ª¤ê XDMCP ¤ò»È¤Ã¤Æ¤¤¤Ê¤¤¥Ç¥£¥¹¥×¥ì¥¤ ¤ò¼¨¤¹¡£ ¤³¤ÎÊýË¡¤ÏÉáÄÌ¤Ï¥í¡¼¥«¥ë¥µ¡¼¥Ð¤À¤±¤Ç»È¤ï¤ì¤ë¡£¤³¤Î¥ê¥½¡¼¥¹¤Þ¤¿¤Ï¥ê¥½¡¼ ¥¹¤Ç»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤¬¶õ¤Î¾ì¹ç¤Ï¡¢xdm ¤Ï XDMCP ¥µ¡¼¥Ó¥¹¤À¤±¤òÄó ¶¡¤¹¤ë¡£

¤½¤ì¤¾¤ì¤Î»ØÄê¤ÏºÇÄã 3 ¸Ä¤ÎÉôʬ¤«¤é¹½À®¤µ¤ì¤Æ¤¤¤ë: ¤³¤ì¤Ï¥Ç¥£¥¹¥×¥ì¥¤ ̾¡¢¥Ç¥£¥¹¥×¥ì¥¤¥¯¥é¥¹¡¢¥Ç¥£¥¹¥×¥ì¥¤¥¿¥¤¥×¤Ç¤¢¤ê¡¢(¥í¡¼¥«¥ë¥µ¡¼¥Ð¤ËÂÐ ¤·¤Æ¤Ï) ¥µ¡¼¥Ð¤òµ¯Æ°¤¹¤ë¥³¥Þ¥ó¥É¹Ô¤Ç¤¢¤ë¡£ÈÖ¹æ0¤Î¥í¡¼¥«¥ë¥Ç¥£¥¹¥× ¥ì¥¤¤ËÂФ¹¤ëŵ·¿Åª¤Ê¹àÌܤϼ¡¤Î¤è¤¦¤Ë¤Ê¤ë:


:0 Digital-QV local /usr/X11R6/bin/X :0
¥Ç¥£¥¹¥×¥ì¥¤¥¿¥¤¥×¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë:
local		¥í¡¼¥«¥ë¥Ç¥£¥¹¥×¥ì¥¤: xdm ¤Ï¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤
foreign		¥ê¥â¡¼¥È¥Ç¥£¥¹¥×¥ì¥¤: xdm ¤ÏÆ°ºî¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¤ËÂФ¹¤ë X Àܳ¤ò¥ª¡¼¥×¥ó¤¹¤ë

¥Ç¥£¥¹¥×¥ì¥¤Ì¾¤Ï¡¢-display ¥ª¥×¥·¥ç¥ó¤Ç X ¥×¥í¥°¥é¥à¤ËÅϤ»¤ë¤è ¤¦¤Ê¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤³¤Îʸ»úÎó¤Ï¥Ç¥£¥¹¥×¥ì¥¤¸ÇÍ­¤Î¥ê¥½¡¼¥¹Ì¾¤ò À¸À®¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¤Î¤Ç¡¢¤½¤Î̾Á°¤È¥Þ¥Ã¥Á¤¹¤ë¤è¤¦¤ËÃí°Õ¤¹¤ë¤³¤È(Îã ¤¨¤Ð¡¢Â¾¤Î¥ê¥½¡¼¥¹¤¬ ``DisplayManager._0.session'' ¤Î¤è¤¦¤ËÀßÄꤵ¤ì¤Æ ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢``localhost:0 Sun-CG3 local /usr/X11R6/bin/X :0'' ¤Ç¤Ï¤Ê ¤¯ ``:0 Sun-CG3 local /usr/X11R6/bin/X :0'' ¤ò»ÈÍѤ¹¤ë¤³¤È)¡£ ¥Ç¥£¥¹¥×¥ì¥¤¥¯¥é¥¹Éôʬ¤â¡¢¥ê¥½¡¼¥¹¤Î¥¿¥¤¥×¤Î¤è¤¦¤Ë¥Ç¥£¥¹¥×¥ì¥¤¸ÇÍ­¤Î¥ê ¥½¡¼¥¹¤Ç»È¤ï¤ì¤ë¡£¤³¤ì¤Ï¡¢»÷¤¿¤è¤¦¤Ê¥Ç¥£¥¹¥×¥ì¥¤¤¬¤¿¤¯¤µ¤ó¤¢¤ê(X üËö ¤òʤ٤Ƥ¤¤ë¤è¤¦¤Ê¾ì¹ç)¤³¤ì¤é¤Ë¤Þ¤È¤á¤Æ¥ê¥½¡¼¥¹¤ò¥»¥Ã¥È¤·¤¿¤¤¤è¤¦¤Ê¾ì ¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£XDMCP ¤ò»È¤¦¤È¤­¤Ï¥Ç¥£¥¹¥×¥ì¥¤¤Ë¤Ï¥Ç¥£¥¹¥×¥ì¥¤¥¯¥é¥¹¤ò »ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤Ç¡¢¸ÄÊ̤ΠX üËö¤Î¥Þ¥Ë¥å¥¢¥ë¤Ë¤Ï¤½¤Î¥Ç¥Ð¥¤¥¹ ¤ËÂФ¹¤ë¥Ç¥£¥¹¥×¥ì¥¤¥¯¥é¥¹¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¢¤ë¡£¤³¤ì¤¬µ­½Ò¤µ¤ì¤Æ ¤¤¤Ê¤±¤ì¤Ð¡¢ xdm ¤ò¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Çµ¯Æ°¤·¤Æ¡¢¤½¤Î¥Ç¥Ð¥¤¥¹¤ËÂФ·¤ÆÀ¸À®¤µ¤ì¤ë¥ê¥½¡¼¥¹Ê¸»ú Îó¤ò¸«¤ë¤³¤È¡£¤³¤ì¤Ë¤Ï¥¯¥é¥¹Ê¸»úÎ󤬴ޤޤì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¢¤ë¡£

xdm ¤Ï¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¤È¤­¤Ë¡¢¥µ¡¼¥Ð¤ËÂФ¹¤ëǧ¾Ú¥Ç¡¼¥¿¤òÀßÄê ¤¹¤ë¡£¥í¡¼¥«¥ë¥µ¡¼¥Ð¤ËÂФ·¤Æ¤Ï¡¢xdm ¤Ï¥µ¡¼¥Ð¤Î¥³¥Þ¥ó¥É¹Ô¤Ç ``-auth filename'' ¤òÅϤ·¡¢Ç§¾Ú¥Ç¡¼¥¿¤Î¾ì½ê¤ò¼¨¤¹¡£ XDMCP ¥µ¡¼¥Ð¤ËÂФ·¤Æ¤Ï¡¢xdm ¤Ï Accept XDMCP ¥ê¥¯¥¨¥¹¥È¤ò·Ð ͳ¤·¤Æǧ¾Ú¥Ç¡¼¥¿¤ò¥µ¡¼¥Ð¤ËÅϤ¹¡£

¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë

Xresources ¥Õ¥¡¥¤¥ë¤Ï xrdb ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¡¢¥ê¥½¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤Æ¥Ç¥£¥¹¥×¥ì¥¤¤ËÆɤ߹þ¤Þ¤ì¤ë¡£ ǧ¾Ú¥¦¥£¥¸¥§¥Ã¥È¤Ïµ¯Æ°Á°¤Ë¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÆɤ߹þ¤à¤Î¤Ç¡¢¤³¤Î¥Õ¥¡¥¤¥ë ¤Ïǧ¾Ú¥¦¥£¥¸¥§¥Ã¥ÈÍѤΥѥé¥á¡¼¥¿¤â´Þ¤ó¤Ç¤è¤¤:

	xlogin*login.translations: #override\
		Ctrl<Key>R: abort-display()\n\
		<Key>F1: set-session-argument(failsafe) finish-field()\n\
		<Key>Return: set-session-argument() finish-field()
	xlogin*borderWidth: 3
	xlogin*greeting: CLIENTHOST
	#ifdef COLOR
	xlogin*greetColor: CadetBlue
	xlogin*failColor: red
	#endif

¥È¥é¥ó¥¹¥ì¡¼¥·¥ç¥ó¤Î¹àÌܤËÃí°Õ¤¹¤ë¤³¤È¡£¤³¤³¤Ç¤Ï¡¢¥æ¡¼¥¶¤¬¥Ç¥Õ¥©¥ë¥È¥»¥Ã ¥·¥ç¥ó¤«¤éÈ´¤±½Ð¤»¤ë(¤Þ¤¿¡¢¤³¤³¤Çµ¯¤³¤ëÌäÂê¤òÈò¤±¤ë)¤è¤¦¤Ë¤¹¤ë¤¿¤á¡¢¥¦¥£ ¥¸¥§¥Ã¥È¤Î¥È¥é¥ó¥¹¥ì¡¼¥·¥ç¥ó¤ò¤¤¤¯¤Ä¤«¿·¤¿¤Ë»ØÄꤷ¤Æ¤¤¤ë¡£ #override ¤ò»ØÄꤷ¤Ê¤¤¤Èɸ½à¤Î¥È¥é¥ó¥¹¥ì¡¼¥·¥ç¥ó¤¬¾Ãµî¤µ¤ì¡¢¿·¤·¤¤ÃÍ¤Ë ÃÖ¤­´¹¤¨¤é¤ì¤Æ¤·¤Þ¤¦¡£¥Ç¥Õ¥©¥ë¥È¤Î¥È¥é¥ó¥¹¥ì¡¼¥·¥ç¥ó¤âÈó¾ï¤ËÊØÍø¤Ê¤Î¤Ç (Î㤨¤Ð¡¢Ä̾ï¤Îʸ»úÆþÎϤ˱þÅú¤¹¤ë ``<Key>: insert-char ()'' Åù)¡¢¤³¤Î ¤è¤¦¤ÊÃÖ¤­´¹¤¨¤Ï¤¢¤Þ¤ê¹¥¤Þ¤·¤¤·ë²Ì¤Ç¤Ï¤Ê¤¤¡£

¤³¤Î¥Õ¥¡¥¤¥ë¤ÏÀßÄê¥×¥í¥°¥é¥à¤È chooser ¤ËÂФ¹¤ë¥ê¥½¡¼¥¹¤â´Þ¤ó¤Ç ¤è¤¤¡£

ÀßÄê¥×¥í¥°¥é¥à

Xsetup ¥Õ¥¡¥¤¥ë¤Ï¥µ¡¼¥Ð¤¬¥ê¥»¥Ã¥È¤µ¤ì¤¿¸å¡¢¤«¤Ä Login ¥¦¥£¥ó¥É¥¦ ¤¬½Ð¤ëÁ°¤Ëµ¯Æ°¤¹¤ë¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤ÏÉáÄ̤Ϥ˥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Ç¤¢¤ë¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥ë¡¼¥È¸¢¸Â¤Ç¼Â¹Ô¤µ¤ì¤ë¤Î¤Ç¡¢¥»¥­¥å¥ê¥Æ¥£¤Ë¤ÏÃí°Õ¤¬É¬Í×¤Ç ¤¢¤ë¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥ë¡¼¥È¥¦¥£¥ó¥É¥¦¤ÎÇطʤòÊѤ¨¤¿¤ê¡¢Login ¥¦¥£¥¸¥§¥Ã¥È ¤È°ì½ï¤Ë¥¹¥¯¥ê¡¼¥ó¤Ëɽ¼¨¤¹¤ë¾¤Î¥¦¥£¥ó¥É¥¦¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Îµ­½Ò¤ò¹Ô¤¦¡£

DisplayManager.exportList ¤Ë¤è¤ë»ØÄê¤Ë²Ã¤¨¡¢¼¡¤Î´Ä¶­ÊÑ¿ô¤¬ÅϤµ¤ì ¤ë:

	DISPLAY	´ØÏ¢¤¹¤ë¥Ç¥£¥¹¥×¥ì¥¤Ì¾
	PATH	DisplayManager.DISPLAY.systemPath ¤ÎÃÍ
	SHELL	DisplayManager.DISPLAY.systemShell ¤ÎÃÍ
	XAUTHORITY	ǧ¾Ú¥Õ¥¡¥¤¥ë¤¬¥»¥Ã¥È¤µ¤ì¤ë

xdm ¤Ï¥­¡¼¥Ü¡¼¥É¤òÀêÍ­¤¹¤ë¤Î¤Ç¡¢Â¾¤Î¥¦¥£¥ó¥É¥¦¤Ï¥­¡¼¥Ü¡¼¥ÉÆþÎϤò ¼õ¤±ÉÕ¤±¤Ê¤¤ÅÀ¤ËÃí°Õ¤¹¤ë¤³¤È¡£¤·¤«¤·¡¢¥Þ¥¦¥¹¤ÇÁàºî¤¹¤ë¤³¤È¤Ï¤Ç¤­¤ë¡£ ¥»¥­¥å¥ê¥Æ¥£¥Û¡¼¥ë¤Î²ÄǽÀ­¤ËÃí°Õ¤¹¤ë¤³¤È¡£ DisplayManager.DISPLAY.grabServer ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë ¾ì¹ç¤Ï¡¢Xsetup ¤Ï¥Ç¥£¥¹¥×¥ì¥¤¤ËÁ´¤¯Àܳ¤Ç¤­¤Ê¤¤¡£ ¤³¤Î¥×¥í¥°¥é¥àÍѤΥ꥽¡¼¥¹¤Ï DisplayManager.DISPLAY.resources ¤¬»Ø¤¹¥Õ¥¡¥¤¥ë¤Ëµ­ ½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

°Ê²¼¤Ë Xsetup ¥¹¥¯¥ê¥×¥È¤ÎÎã¤òµó¤²¤ë:

	#!/bin/sh
	# Xsetup_0 - ¥ï¡¼¥¯¥¹¥Æ¡¼¥·¥ç¥ó 1 ÂæÍѤÎÀßÄꥹ¥¯¥ê¥×¥È
	xcmsdb < /usr/X11R6/lib/monitors/alex.0
	xconsole -geometry 480x130-0-0 -notify -verbose -exitOnFail &

ǧ¾Ú¥¦¥£¥¸¥§¥Ã¥È

ǧ¾Ú¥¦¥£¥¸¥§¥Ã¥È¤Ï¥æ¡¼¥¶Ì¾/¥Ñ¥¹¥ï¡¼¥É¤ÎÁȤò¥­¡¼¥Ü¡¼¥É¤«¤éÆɤ߹þ¤à¡£¹Í ¤¨¤é¤ì¤ë¤è¤¦¤Ê¥Ñ¥é¥á¡¼¥¿¤Î¤Û¤È¤ó¤ÉÁ´¤Æ¤Ï¥ê¥½¡¼¥¹¤ÇÀ©¸æ¤Ç¤­¤ë¡£¤³¤Î¥¦¥£ ¥¸¥§¥Ã¥ÈÍѤΥ꥽¡¼¥¹¤Ï DisplayManager.DISPLAY.resources ¤¬»Ø¤¹¥Õ¥¡¥¤¥ë¤Ëµ­ ½Ò¤¹¤ë¤³¤È¡£Á´¤Æ¤Î¥ê¥½¡¼¥¹¤Ë¤Ï¤Á¤ã¤ó¤È¤·¤¿¥Ç¥Õ¥©¥ë¥ÈÃͤ¬ÀßÄꤵ¤ì¤Æ¤¤¤ë ¤Î¤Ç¡¢¤³¤ì¤é¤ËÃͤò»ØÄꤹ¤ëɬÍפϤʤ¤¡£

Ä̾Login ¥¦¥£¥¸¥§¥Ã¥È¤Î¥¸¥ª¥á¥È¥ê¤Ï¼«Æ°Åª¤Ë·×»»¤µ¤ì¤ë¡£¤³¤Î°ÌÃÖ¤òÊÑ ¤¨¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢¤³¤ì¤é¤Î¥ê¥½¡¼¥¹¤Ç»ØÄꤹ¤ë¤³¤È¡£
ÆþÎϤ·¤¿¥æ¡¼¥¶Ì¾¤Îɽ¼¨¤Ë»È¤¦¿§¡£
ÆþÎϤ·¤¿¥æ¡¼¥¶Ì¾¤Îɽ¼¨¤Ë»È¤¦¥Õ¥©¥ó¥È¡£
¤³¤Î¥¦¥£¥ó¥É¥¦¤ò¼±Ê̤¹¤ë¤¿¤á¤Îʸ»úÎó¡£ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï ``X Window System'' ¤Ç¤¢¤ë¡£
X ¤Îǧ¾Ú¤¬¤³¤Î¥Ç¥£¥¹¥×¥ì¥¤ÍѤÎÀßÄê¥Õ¥¡¥¤¥ë¤ÇÍ׵ᤵ¤ì¤Æ¤¤¤ë¤¬¡¢Á´¤¯»ÈÍÑ ¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¡¢É¸½à¤Î¥°¥ê¡¼¥Æ¥£¥ó¥°¤Ï¤³¤Î¥°¥ê¡¼¥Æ¥£¥ó¥°¤ËÃÖ¤­´¹¤¨¤é ¤ì¤ë¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï ``This is an unsecure session'' ¤Ç¤¢¤ë¡£
¥°¥ê¡¼¥Æ¥£¥ó¥°¤Îɽ¼¨¤ËÍѤ¤¤ë¥Õ¥©¥ó¥È¡£
¥°¥ê¡¼¥Æ¥£¥ó¥°¤Îɽ¼¨¤ËÍѤ¤¤ë¿§¡£
¥æ¡¼¥¶Ì¾¤Î¥×¥í¥ó¥×¥È¤Ëɽ¼¨¤¹¤ëʸ»úÎó¡£ xrdb ¤Ï¥ê¥½¡¼¥¹¤ÎÃͤÎËöÈø¤Î¶õÇòʸ»ú¤ò¼è¤ê½ü¤­¡¢¥×¥í¥ó¥×¥È¤ÎËöÈø¤Ë¶õÇò¤òÄɲà ¤·(ÉáÄ̤Ϥ³¤ì¤ÇÎɤ¤)¡¢¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤Ç¥¨¥¹¥±¡¼¥×¤·¤¿¶õÇò¤òÄɲ乤롣 ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï ``Login: '' ¤Ç¤¢¤ë¡£
¥Ñ¥¹¥ï¡¼¥É¤Î¥×¥í¥ó¥×¥È¤Ëɽ¼¨¤¹¤ëʸ»úÎó¡£ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï ``Password: '' ¤Ç¤¢¤ë¡£
ξÊý¤Î¥×¥í¥ó¥×¥È¤Îɽ¼¨¤ËÍѤ¤¤ë¥Õ¥©¥ó¥È¡£
ξÊý¤Î¥×¥í¥ó¥×¥È¤Îɽ¼¨¤ËÍѤ¤¤ë¿§¡£
ǧ¾Ú¤¬¼ºÇÔ¤·¤¿¤È¤­¤Ëɽ¼¨¤¹¤ë¥á¥Ã¥»¡¼¥¸¡£ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï ``Login incorrect'' ¤Ç¤¢¤ë¡£
ǧ¾Ú¼ºÇԤΥá¥Ã¥»¡¼¥¸¤Îɽ¼¨¤ËÍѤ¤¤ë¥Õ¥©¥ó¥È¡£
ǧ¾Ú¼ºÇԤΥá¥Ã¥»¡¼¥¸¤Îɽ¼¨¤ËÍѤ¤¤ë¿§¡£
ǧ¾Ú¼ºÇԤΥá¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ëÉÿô¡£ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 30 ÉäǤ¢¤ë¡£
¥í¥°¥¤¥ó¥¦¥£¥¸¥§¥Ã¥È¤Ç»È¤¦¥È¥é¥ó¥¹¥ì¡¼¥·¥ç¥ó¤ò»ØÄꤹ¤ë¡£¾Ü¤·¤¤ÀâÌÀ¤Ë¤Ä ¤¤¤Æ¤Ï¡¢X ¥Ä¡¼¥ë¥­¥Ã¥È¤Îʸ½ñ¤ò»²¾È¤¹¤ë¤³¤È¡£¥Ç¥Õ¥©¥ë¥È¤Î¥È¥é¥ó¥¹¥ì¡¼¥·¥ç ¥ó¥Æ¡¼¥Ö¥ë¤ò°Ê²¼¤Ë¼¨¤¹:
	Ctrl<Key>H:	delete-previous-character() \n\
	Ctrl<Key>D:	delete-character() \n\
	Ctrl<Key>B:	move-backward-character() \n\
	Ctrl<Key>F:	move-forward-character() \n\
	Ctrl<Key>A:	move-to-begining() \n\
	Ctrl<Key>E:	move-to-end() \n\
	Ctrl<Key>K:	erase-to-end-of-line() \n\
	Ctrl<Key>U:	erase-line() \n\
	Ctrl<Key>X:	erase-line() \n\
	Ctrl<Key>C:	restart-session() \n\
	Ctrl<Key>\\:	abort-session() \n\
	<Key>BackSpace:	delete-previous-character() \n\
	<Key>Delete:	delete-previous-character() \n\
	<Key>Return:	finish-field() \n\
	<Key>:	insert-char() \
    
¤³¤Î¥ê¥½¡¼¥¹¤Ë ``false'' ¤¬ÀßÄꤵ¤ì¤Æ¤ë¤È¡¢root (¤ª¤è¤Ó¥æ¡¼¥¶ ID ¤¬ 0 ¤Ç¤¢¤ëÁ´¤Æ¤Î¥æ¡¼¥¶)¤ÏľÀÜ¥í¥°¥¤¥ó¤Ç¤­¤Ê¤¤¡£ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï ``true'' ¤Ç¤¢¤ë¡£
¤³¤Î¥ê¥½¡¼¥¹¤ò ``true'' ¤ËÀßÄꤹ¤ë¤È¡¢¥¢¥«¥¦¥ó¥È¤¬¥Ñ¥¹¥ï¡¼¥É¤òÁ´¤¯É¬Í× ¤È¤·¤Ê¤±¤ì¤Ð¡¢¥Ñ¥¹¥ï¡¼¥É¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤ò½ü¤¤¤Æǧ¾Ú¤òÀ®¸ù¤È¤¹¤ë¡£ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï ``false'' ¤Ç¤¢¤ê¡¢¥Ñ¥¹¥ï¡¼¥É¤¬³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ë¥æ¡¼¥¶ ¤À¤±¤¬¥í¥°¥¤¥ó¤Ç¤­¤ë¡£

¤³¤Î¥¦¥£¥¸¥§¥Ã¥È¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¥¢¥¯¥·¥ç¥ó¤ò°Ê²¼¤Ëµó¤²¤ë:

¥«¡¼¥½¥ë¤ÎÁ°¤Îʸ»ú¤ò¾Ãµî¤¹¤ë¡£
¥«¡¼¥½¥ë¤Î¼¡¤Îʸ»ú¤ò¾Ãµî¤¹¤ë¡£
¥«¡¼¥½¥ë¤ò¸å¤í¤ËÆ°¤«¤¹¡£
¥«¡¼¥½¥ë¤òÁ°¤ËÆ°¤«¤¹¡£
(¥¹¥Ú¥ë¤ò´Ö°ã¤¨¤¿Ì¾Á°¤¬¥¢¥¯¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤¤¤Þ¤¹¡£¤¹¤ß¤Þ¤»¤ó¡£) ÊÔ½¸²Äǽ¤Ê¥Æ¥­¥¹¥È¤Î½é¤á¤Þ¤Ç¥«¡¼¥½¥ë¤ò°ÜÆ°¤µ¤»¤ë¡£
ÊÔ½¸²Äǽ¤Ê¥Æ¥­¥¹¥È¤ÎºÇ¸å¤Þ¤Ç¥«¡¼¥½¥ë¤ò°ÜÆ°¤µ¤»¤ë¡£
¥«¡¼¥½¥ë¤Î¸å¤í¤Î¥Æ¥­¥¹¥È¤ò¤¹¤Ù¤Æ¾Ãµî¤¹¤ë¡£
¤¹¤Ù¤Æ¤Î¥Æ¥­¥¹¥È¤ò¾Ãµî¤¹¤ë¡£
¥«¡¼¥½¥ë¤¬¥í¥°¥¤¥ó̾¥Õ¥£¡¼¥ë¥É¤Ë¤¢¤ë¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¥Õ¥£¡¼¥ë¥É¤Ë¿Ê¤à¡£ ¥Ñ¥¹¥ï¡¼¥É¥Õ¥£¡¼¥ë¥É¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¸½ºß¤Î¥í¥°¥¤¥ó̾¤È¥Ñ¥¹¥ï¡¼¥É¤ÎÁȤò¥Á¥§¥Ã ¥¯¤¹¤ë¡£¥í¥°¥¤¥ó̾¤È¥Ñ¥¹¥ï¡¼¥É¤ÎÁȤ¬Í­¸ú¤Ç¤¢¤ì¤Ð¡¢xdm ¤Ï¥»¥Ã¥·¥ç ¥ó¤ò³«»Ï¤¹¤ë¡£¤³¤ÎÁȤ¬Í­¸ú¤Ç¤Ê¤±¤ì¤Ð¡¢Ç§¾Ú¼ºÇԤΥá¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ¥× ¥í¥ó¥×¥È¤òºÆ¤Óɽ¼¨¤¹¤ë¡£
¥µ¡¼¥Ð¤ò½ªÎ»¤·ºÆ¥¹¥¿¡¼¥È¤µ¤»¤ë¡£
¥µ¡¼¥Ð¤ò½ªÎ»¤·¤Æ»ÈÍÑÉÔǽ¤Ë¤¹¤ë¡£¤³¤Î¥¢¥¯¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ç¤Ï¥¢ ¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ ¥·¥¹¥Æ¥à¥³¥ó¥½¡¼¥ë¾å¤Î xdm ¤òÄä»ß¤µ¤»¤ëÍýͳ¤Ï¤¤¤¯¤Ä¤«¤¢¤ë¡£ ¤³¤ÎÍýͳ¤Ë¤Ï¡¢¥·¥¹¥Æ¥à¤Î¥·¥ã¥Ã¥È¥À¥¦¥ó¤ò¤·¤¿¤¤¤È¤­¡¢xdmshell ¤ò »ÈÍѤ·¤Æ¤¤¤ë¤È¤­¡¢Â¾¤Î¥¿¥¤¥×¤Î¥µ¡¼¥Ð¤òµ¯Æ°¤¹¤ë¤¿¤á¡¢°ìÈ̤˥³¥ó¥½¡¼¥ë¤Ë ¥¢¥¯¥»¥¹¤¹¤ë¤¿¤áÅù¤¬¤¢¤ë¡£ xdm ¤Ë SIGHUP ¤òÁ÷¤ë¤È¥Ç¥£¥¹¥×¥ì¥¤¤ÏºÆ¥¹¥¿¡¼¥È¤¹¤ë¡£ XDM ¤ÎÀ©¸æ¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£
X ¥µ¡¼¥Ð¤ò¥ê¥»¥Ã¥È¤·¤Æ¡¢¿·¤·¤¤¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¡£¤³¤Î¥¢¥¯¥·¥ç¥ó¤ÏÊÑ ¹¹¤·¤¿¥ê¥½¡¼¥¹¤ò¥Æ¥¹¥È¤·¤¿¤¤¾ì¹ç¡¢¤¢¤ë¤¤¤Ï¥·¥¹¥Æ¥à¥á¥Ã¥»¡¼¥¸¤Ç²èÌ̤¬¾å ½ñ¤­¤µ¤ì¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤Ë»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
ÆþÎϤ·¤¿Ê¸»ú¤òÁÞÆþ¤¹¤ë¡£
¥»¥Ã¥·¥ç¥ó³«»Ï»þ¤Ë¥»¥Ã¥·¥ç¥ó¤ËÅϤµ¤ì¤ë1¸ì¤Î°ú¤­¿ô¤ò»ØÄꤹ¤ë¡£ ¥»¥Ã¥·¥ç¥ó¥×¥í¥°¥é¥à ¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£
¥µ¡¼¥Ð¤Î¥¢¥¯¥»¥¹À©¸æ¤ò̵¸ú¤Ë¤¹¤ë¡£¤³¤ì¤Ï xdm ¤¬ .Xauthority ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤Ç¤­¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¤³¤ì¤ò»ÈÍѤ¹¤ë¤È¤­¤Ï½½Ê¬Ãí°Õ¤¹¤ë¤³¤È¡£¤³¤ì¤ò¹Ô¤¦Á°¤Ë¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¤«¤é ¥Þ¥·¥ó¤òÀÚ¤êÊü¤·¤Æ¤ª¤¤¤¿Êý¤¬Îɤ¤¤À¤í¤¦¡£

°ìÉô¤Î¥·¥¹¥Æ¥à(OpenBSD)¤Ç¤Ï¡¢¥æ¡¼¥¶¤Î¥·¥§¥ë¤¬ /etc/shells ¤Ë½ñ¤«¤ì¤Æ¤¤¤Ê¤¤¤È xdm ·Ðͳ¤Ç¤Î¥í¥°¥¤¥ó¤Ïµö²Ä¤µ¤ì¤Ê¤¤¡£ ¥Ñ¥¹¥ï¡¼¥É¤È¥¢¥«¥¦¥ó¥È¤ÎÍ­¸ú´ü¸Â¤âÄ̾ïÄ̤ê¤ËŬÍѤµ¤ì¤ë¡£

µ¯Æ°¥×¥í¥°¥é¥à

Xstartup ¥×¥í¥°¥é¥à¤Ï¥æ¡¼¥¶¤¬¥í¥°¥¤¥ó¤·¤¿¤È¤­¤Ë root ¸¢¸Â¤Ç¼Â¹Ô ¤µ¤ì¤ë¡£ ¤³¤ì¤ÏÉáÄ̤ϥ·¥§¥ë¥¹¥¯¥ê¥×¥È¤Ç¤¢¤ë¡£ Xstartup ¤Ï root ¸¢¸Â¤Ç¼Â¹Ô¤¹¤ë¤Î¤Ç¡¢Xstartup ¤Ë¤Ä¤¤¤Æ¤Ï¥» ¥­¥å¥ê¥Æ¥£¤Ë½½Ê¬Ãí°Õ¤¹¤ë¤³¤È¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï /etc/utmp ¤Ë¥¨¥ó ¥È¥ê¡¼¤òÄɲ乤륳¥Þ¥ó¥É¤ä¥Õ¥¡¥¤¥ë¥µ¡¼¥Ð¤«¤é¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê ¤ò¥Þ¥¦¥ó¥È¤¹¤ë¥³¥Þ¥ó¥É¡¢¥í¥°¥¤¥ó¤¬µö²Ä¤µ¤ì¤Ê¤¤¾ì¹ç¤Ë¥»¥Ã¥·¥ç¥ó¤òÃæ»ß¤µ ¤»¤ë¥³¥Þ¥ó¥ÉÅù¤òµ­½Ò¤¹¤ë¡£

DisplayManager.exportList ¤Ë¤è¤ë»ØÄê¤Ë²Ã¤¨¡¢°Ê²¼¤Î´Ä¶­ÊÑ¿ô¤òÅϤ¹ ¤³¤È¤¬¤Ç¤­¤ë:

	DISPLAY	´ØÏ¢¤¹¤ë¥Ç¥£¥¹¥×¥ì¥¤Ì¾
	HOME	¥æ¡¼¥¶¤ÎºÇ½é¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê
	LOGNAME	¥æ¡¼¥¶Ì¾
	USER	¥æ¡¼¥¶Ì¾
	PATH	DisplayManager.DISPLAY.systemPath ¤ÎÃÍ
	SHELL	DisplayManager.DISPLAY.systemShell ¤ÎÃÍ
	XAUTHORITY	ǧ¾Ú¥Õ¥¡¥¤¥ë¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë

¥¹¥¯¥ê¥×¥È¤Ø¤Ï°ú¤­¿ô¤ÏÁ´¤¯ÅϤµ¤ì¤Ê¤¤¡£ xdm ¤Ï¥æ¡¼¥¶¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤¹¤ëÁ°¤Ë¡¢¤³¤Î¥¹¥¯¥ê¥×¥È¤¬½ªÎ»¤¹¤ë¤Î¤òÂԤġ£ ¤³¤Î¥¹¥¯¥ê¥×¥È¤Î½ªÎ»Ãͤ¬¥¼¥í¤Ç¤Ê¤¤¾ì¹ç¡¢ xdm ¤Ï¥»¥Ã¥·¥ç¥ó¤ò³¹Ô¤ò¹Ô¤ï¤º¡¢Â¾¤Îǧ¾Ú¥µ¥¤¥¯¥ë¤ò³«»Ï¤¹¤ë¡£

¤³¤³¤Ç¼¨¤¹¥µ¥ó¥×¥ë¤Î Xstartup ¥Õ¥¡¥¤¥ë¤Ï¡¢/etc/nologin ¥Õ¥¡ ¥¤¥ë¤¬Â¸ºß¤¹¤ë´Ö¤Ï¥í¥°¥¤¥ó¤ò¹Ô¤ï¤»¤Ê¤¤¡£ ¤³¤ì¤Ï´°Á´¤ÊÎã¤Ç¤Ï¤Ê¤¯¡¢Ã±¤ËÍøÍѤǤ­¤ëµ¡Ç½¤Î¥Ç¥â¤Ç¤¢¤ë¡£

°Ê²¼¤Ë¥µ¥ó¥×¥ë¤Î Xstartup ¤ò¼¨¤¹;

	#!/bin/sh
	#
	# Xstartup
	#
	# ¤³¤Î¥×¥í¥°¥é¥à¤Ï¥æ¡¼¥¶¤Îǧ¾Ú¸å¡¢root ¸¢¸Â¤Ç¼Â¹Ô¤µ¤ì¤ë
	#
	if [ -f /etc/nologin ]; then
		xmessage -file /etc/nologin -timeout 30 -center
		exit 1
	fi
	sessreg -a -l $DISPLAY -x /usr/X11R6/lib/xdm/Xservers $LOGNAME
	/usr/X11R6/lib/xdm/GiveConsole
	exit 0

¥»¥Ã¥·¥ç¥ó¥×¥í¥°¥é¥à

Xsession ¥×¥í¥°¥é¥à¤Ï¥æ¡¼¥¶¥»¥Ã¥·¥ç¥ó¤È¤·¤Æ¼Â¹Ô¤µ¤ì¤ë¥³¥Þ¥ó¥É¤Ç ¤¢¤ë¡£ ¤³¤ì¤Ïǧ¾Ú¤µ¤ì¤¿¥æ¡¼¥¶¤Î¸¢¸Â¤Ç¼Â¹Ô¤µ¤ì¤ë¡£

DisplayManager.exportList ¤Î»ØÄê¤Ë²Ã¤¨¡¢¼¡¤Î´Ä¶­ÊÑ¿ô¤¬ÅϤµ¤ì¤ë:

	DISPLAY	´ØÏ¢¤¹¤ë¥Ç¥£¥¹¥×¥ì¥¤Ì¾
	HOME	¥æ¡¼¥¶¤Î½é´üºî¶È¥Ç¥£¥ì¥¯¥È¥ê
	LOGNAME	¥æ¡¼¥¶Ì¾
	USER	¥æ¡¼¥¶Ì¾
	PATH	DisplayManager.DISPLAY.userPath ¤ÎÃÍ
	SHELL	¥æ¡¼¥¶¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥·¥§¥ë(getpwnam ¤Ç¼èÆÀ¤¹¤ë)
	XAUTHORITY	ɸ½à¤Ç¤Ê¤¤Ç§¾Ú¥Õ¥¡¥¤¥ë¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë
	KRB5CCNAME	Kerberos ¾ÚÌÀ½ñ¤Î¥­¥ã¥Ã¥·¥å̾¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë

X ¤òÉáÄ̤˥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¤Ë¤Ï¡¢Xsession ¤Ï $HOME ¤Ë¤¢¤ë .xsession ¤ò»²¾È¤¹¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢³Æ¥æ¡¼¥¶¤¬¥»¥Ã¥·¥ç¥ó¤È ¤·¤ÆÍøÍѤ¹¤ë¥³¥Þ¥ó¥É¤¬µ­½Ò¤µ¤ì¤ë¡£ Xsession ¤Ï¤Þ¤¿¡¢¥æ¡¼¥¶»ØÄê¤Î¥»¥Ã¥·¥ç¥ó¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¼Â¹Ô¤¹ ¤ë¥·¥¹¥Æ¥àɸ½à¤Î¥»¥Ã¥·¥ç¥ó¤â¼ÂÁõ¤·¤Æ¤¤¤ë¡£ Ä̾ï¤Î»ÈÍÑÊýË¡ ¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£

`set-session-argument' ¥¢¥¯¥·¥ç¥ó¤ò»ÈÍѤ¹¤ëǧ¾Ú¥¦¥£¥¸¥§¥Ã¥È¤«¤é¡¢¤³¤Î ¥×¥í¥°¥é¥à¤Ø°ú¤­¿ô¤òÅϤ¹¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤ì¤òÍѤ¤¤Æ°ã¤¦¥¹¥¿¥¤¥ë¤Î ¥»¥Ã¥·¥ç¥ó¤òÁªÂò¤Ç¤­¤ë¡£¤³¤Îµ¡Ç½¤ÎÊØÍø¤Ê»È¤¤Êý¤Î 1 ¤Ä¤Ï¡¢Ä̾ï¤Î ¥»¥Ã¥·¥ç¥ó¤¬¼ºÇÔ¤·¤¿¤È¤­¤Ë¥æ¡¼¥¶¤¬¤³¤Î¥»¥Ã¥·¥ç¥ó¤«¤é¥¨¥¹¥±¡¼¥×¤Ç¤­¤ë¤è ¤¦¤Ë¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£¤³¤Îµ¡Ç½¤ò»È¤¨¤Ð¡¢¥æ¡¼¥¶¤Ï .xsession ¤ÎÀßÄê ¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¡¢´ÉÍý¼Ô¤ÎÃç²ð¤¬¤Ê¤¯¤Æ¤â¼«Ê¬¤Î .xsession ¤ò½¤Àµ ¤Ç¤­¤ë¡£ ¼¡¤ÎÎã¤Ç¤³¤Îµ¡Ç½¤ò¼¨¤¹:

¤³¤ì¤ÏÆüì¤Ê¡Ö¥Õ¥§¡¼¥ë¥»¡¼¥Õ¡×¥â¡¼¥É¤ò»È¤¨¤ë¤è¤¦¤Ë¤¹¤ëÎãÂê¤Ç¤¢¤ë¡£ ¤³¤Î¥â¡¼¥É¤Ï Xresources ¥Õ¥¡¥¤¥ë¤Î¥È¥é¥ó¥¹¥ì¡¼¥·¥ç¥ó¤Ç»ØÄꤷ¡¢ Ä̾ï¤Î¥»¥Ã¥·¥ç¥ó¤«¤é¥¨¥¹¥±¡¼¥×¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¡£¤³¤ÎÎãÂê¤Ç¤Ï .xsession ¥Õ¥¡¥¤¥ë¤¬¼Â¹Ô²Äǽ¤Ç¤¢¤ë¤³¤È¤âɬÍפǤ¢¤ë¤Î¤Ç¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤¬»È¤ª¤¦¤È¤¹ ¤ë¥·¥§¥ë¤ò¿äÄꤹ¤ëɬÍפϤʤ¤¡£

	#!/bin/sh
	#
	# Xsession
	#
	# ¤³¤ì¤Ï¡¢¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã¤ËÂФ¹¤ë¥¯¥é¥¤¥¢¥ó¥È
	# ¤È¤·¤Æ¼Â¹Ô¤µ¤ì¤ë¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡£
	
	case $# in
	1)
		case $1 in
		failsafe)
			exec xterm -geometry 80x24-0-0
			;;
		esac
	esac
	
	startup=$HOME/.xsession
	resources=$HOME/.Xresources
	
	if [ -f "$startup" ]; then
		exec "$startup"
	else
		if [ -f "$resources" ]; then
			xrdb -load "$resources"
		fi
		twm &
		xman -geometry +10-10 &
		exec xterm -geometry 80x24+10+10 -ls
	fi

¥æ¡¼¥¶¤Î .xsession ¥Õ¥¡¥¤¥ë¤Ï¤³¤ÎÎã¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤À¤í¤¦¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¼Â¹Ô°À­¤ò»ý¤¿¤»¤ëɬÍפ¬¤¢¤ë¤Î¤ò˺¤ì¤Ê¤¤¤³¤È¡£

	#! /bin/csh
	# .cshrc ¤ò¼Â¹Ô¤µ¤»¤Æ  $PATH ¤ò¥»¥Ã¥È¤µ¤»¤ë¤¿¤á¡¢Á°¤Î¹Ô¤Ç -f 
	# ¥ª¥×¥·¥ç¥ó¤Ï»ØÄꤷ¤Ê¤¤¤³¤È
	twm &
	xrdb -merge "$HOME/.Xresources"
	emacs -geometry +0+50 &
	xbiff -geometry -430+5 &
	xterm -geometry -0+50 -ls

¥ê¥»¥Ã¥È¥×¥í¥°¥é¥à

Xstartup ¤ÈÂФˤʤë Xreset ¥¹¥¯¥ê¥×¥È¤Ï¡¢¥æ¡¼¥¶¥»¥Ã¥·¥ç¥ó ¤¬½ªÎ»¤·¤¿¸å¤Ë¼Â¹Ô¤µ¤ì¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï root ¸¢¸Â¤Ç¼Â¹Ô¤µ¤ì¡¢ Xstartup ¤Ç¼Â¹Ô¤µ¤ì¤¿¥³¥Þ¥ó¥É¤Î¸ú²Ì¤òÂǤÁ¾Ã¤¹¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ä¡¢ /etc/utmp ¤«¤é¤Î¹àÌܤκï½ü¡¢¥Õ¥¡¥¤¥ë¥µ¡¼¥Ð¤«¤é¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¥¢ ¥ó¥Þ¥¦¥ó¥È¤ò¹Ô¤¦¥³¥Þ¥ó¥É¤ò´Þ¤à¡£Xstartup ¤ËÅϤµ¤ì¤¿´Ä¶­ÊÑ¿ô¤Ï Xreset ¤Ë¤âÅϤµ¤ì¤ë¡£

Xreset ¥¹¥¯¥ê¥×¥È¤ÎÎã:

	#!/bin/sh
	#
	# Xreset
	#
	# ¤³¤Î¥×¥í¥°¥é¥à¤Ï¥»¥Ã¥·¥ç¥ó¤¬½ª¤ï¤Ã¤¿¸å¤Ë root ¸¢¸Â¤Ç¼Â¹Ô¤µ¤ì¤ë
	#
	sessreg -d -l $DISPLAY -x /usr/X11R6/lib/xdm/Xservers $LOGNAME
	/usr/X11R6/lib/xdm/TakeConsole
	exit 0

¥µ¡¼¥Ð¤ÎÀ©¸æ

xdm ¤Ï POSIX ¥·¥°¥Ê¥ë¤òÍѤ¤¤Æ¥í¡¼¥«¥ë¥µ¡¼¥Ð¤òÀ©¸æ¤¹¤ë¡£SIGHUP ¤Ç¤Ï¡¢¥µ¡¼¥Ð ¤¬¥ê¥»¥Ã¥È¤µ¤ì¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¤¥¢¥ó¥È¤ÎÀܳ¤Î¥¯¥í¡¼¥º¤ä¾¤Î¸å½èÍý¤¬¹Ô¤ï ¤ì¤ë¤³¤È¤¬´üÂÔ¤µ¤ì¤ë¡£SIGTERM ¤Ç¤Ï¥µ¡¼¥Ð¤¬½ªÎ»¤¹¤ë¤³¤È¤¬´üÂÔ¤µ¤ì¤ë¡£ ¤³¤ì¤é¤Î¥·¥°¥Ê¥ë¤¬´üÂÔ¤µ¤ì¤ëÆ°ºî¤ò¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ DisplayManager.DISPLAY.resetSignal, DisplayManager.DISPLAY.termSignal ¥ê¥½¡¼¥¹¤Ç¾¤Î¥·¥° ¥Ê¥ë¤òÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

XDMCP ¤ò»È¤ï¤Ê¤¤¥ê¥â¡¼¥ÈüËö¤òÀ©¸æ¤¹¤ë¤¿¤á¡¢ xdm ¤Ï¥Ç¥£¥¹¥×¥ì¥¤¤Î¥¦¥£¥ó¥É¥¦¤Î³¬Áع½Â¤¤ò¸¡º÷¤·¡¢¼¡¤Î¥»¥Ã¥·¥ç¥ó¤Î¤¿¤á¤Ëü Ëö¤òÊҤŤ±¤ë¤¿¤á¤Ë KillClient ¥×¥í¥È¥³¥ë¥ê¥¯¥¨¥¹¥È¤òÍѤ¤¤ë¡£¤³¤ì¤Ï¼ÂºÝ ¤Ë¤ÏÁ´¤Æ¤Î¥¯¥é¥¤¥¢¥ó¥È¤òÇË´þ¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¥¦¥£¥ó¥É¥¦¤òÀ¸À®¤·¤¿¥¯¥é¥¤ ¥¢¥ó¥È¤À¤±¤¬ÄÌÃΤò¼õ¤±¤ë¡£XDMCP ¤Ï¤è¤ê³Î¼Â¤ËÆ°ºî¤¹¤ëµ¡¹½¤òÄ󶡤·¤Æ¤¤¤ë¡£ xdm ¤¬ºÇ½é¤ÎÀܳ¤òÊĤ¸¤¿¤È¤­¡¢¤½¤Î¥»¥Ã¥·¥ç¥ó¤Ï½ªÎ»¤·¡¢Ã¼Ëö¤Ë¤Ï¾¤Î¤¹¤Ù¤Æ¤Î Àܳ¤òÊĤ¸¤ë¤³¤È¤¬Í׵ᤵ¤ì¤ë¡£

XDM ¤ÎÀ©¸æ

xdm ¤ÏÆó¤Ä¤Î¥·¥°¥Ê¥ë SIGHUP ¤È SIGTERM ¤Ë±þÅú¤¹¤ë¡£SIGHUP ¤òÁ÷¤ë¤È xdm ¤ÏÀßÄê¥Õ¥¡¥¤¥ë¡¢¥¢¥¯¥»¥¹À©¸æ¥Õ¥¡¥¤¥ë¤È¥µ¡¼¥Ð¥Õ¥¡¥¤¥ë¤òºÆÆɤ߹þ¤ß¤¹¤ë¡£ ¥µ¡¼¥Ð¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Ï¡¢¹àÌܤÎÄɲääºï½ü¤¬¤¢¤ì¤ÐÄÌÃΤ¬¤Ê¤µ¤ì¤ë¡£¿·¤· ¤¤¹àÌܤ¬Äɲ䵤줿¤é¡¢ xdm ¤ÏÂбþ¤¹¤ë¥Ç¥£¥¹¥×¥ì¥¤¤Î¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¡£ºï½ü¤µ¤ì¤¿¹àÌܤϨºÂ¤Ë̵ ¸ú¤Ë¤µ¤ì¤ë¡£¤³¤ì¤ÏÄÌÃÎ̵¤·¤Ë¿Ê¹ÔÃæ¤Î¥»¥Ã¥·¥ç¥ó¤¬½ªÎ»¤·¡¢¿·¤·¤¤¥»¥Ã¥·¥ç ¥ó¤¬³«»Ï¤µ¤ì¤ë¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£

SIGTERM ¤òÁ÷¤ë¤È¡¢ xdm ¤Ï¿Ê¹ÔÃæ¤Î¤¹¤Ù¤Æ¤Î¥»¥Ã¥·¥ç¥ó¤ò½ªÎ»¤µ¤»¡¢¼«¿È¤â½ªÎ»¤¹¤ë¡£¤³¤ì¤Ï¥·¥¹¥Æ¥à ¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤È¤­¤Ë»ÈÍѤ¹¤ë¡£

xdm ¤Ï¥³¥Þ¥ó¥É¹Ô°ú¤­¿ô¥ê¥¹¥È¤òŬµ¹½¤Àµ¤·¤Æ¡¢ ps(1) ¤Î¤¿¤á¤Ë³Æ¼ï¥µ¥Ö¥×¥í¥»¥¹¤Ë°õ¤ò¤Ä¤±¤è¤¦¤È¤¹¤ë¡£ xdm ¤Ï¤³¤Îºî¶È¤Î¤¿¤á¤ËÄɲäγä¤êÅö¤Æ¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢ xdm ¤ò½½Ê¬¤ÊŤ¤¥³¥Þ¥ó¥É¹Ô(¥Õ¥ë¥Ñ¥¹Ì¾¤Ç½½Ê¬¤À¤í¤¦)¤ò»È¤Ã¤Æµ¯Æ°¤¹¤ë¤È¤è ¤¤¡£ ¥Ç¥£¥¹¥×¥ì¥¤¤òÄ󶡤·¤Æ¤¤¤ë¤½¤ì¤¾¤ì¤Î¥×¥í¥»¥¹¤Ë¤Ï¡¢ -display ¤Î°õ¤¬ÉÕ¤±¤é¤ì¤ë¡£

ÄÉ²Ã¤Î¥í¡¼¥«¥ë¥Ç¥£¥¹¥×¥ì¥¤

¥í¡¼¥«¥ë¥Ç¥£¥¹¥×¥ì¥¤¤òÄɲ乤ë¤Ë¤Ï¡¢Xservers ¥Õ¥¡¥¤¥ë¤Ë°ì¹ÔÄɲà ¤¹¤ë¡£ (¥í¡¼¥«¥ë¥µ¡¼¥Ð¤Î»ØÄꥻ¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£)

xdm-config Æâ¤Î¥Ç¥£¥¹¥×¥ì¥¤¸ÇÍ­¤Î¥ê¥½¡¼¥¹¤òÄ´¤Ù(Î㤨¤Ð¡¢ DisplayManager._0.authorize)¡¢¤É¤Î¥ê¥½¡¼¥¹¤ò¿·¤·¤¤¥Ç¥£¥¹¥×¥ì¥¤ÍÑ ¤Ë¥³¥Ô¡¼¤¹¤ë¤«¹Í¤¨¤ë¤³¤È¡£ ¥Ç¥Õ¥©¥ë¥È¤Î xdm-config ¤Ë¤Ï :0 ¤È :1 ¤ËÂФ¹¤ëŬÀÚ¤Ê »ØÄ꤬¤¢¤ë¡£

¾¤Î²ÄǽÀ­

4.3 init ¥ª¥×¥·¥ç¥ó¤ò»È¤¤¡¢xdm ¤ÇƱ»þ¤Ë1¤Ä¤Î¥»¥Ã¥·¥ç¥ó¤ò¼Â ¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤Þ¤¿¡¢¥³¥Þ¥ó¥É¹Ô¤Ç¥µ¡¼¥Ð¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢ ¾¤ÎŬÀڤʥǡ¼¥â¥ó¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

	xdm -server ":0 SUN-3/60CG4 local /usr/X11R6/bin/X :0"

¤¢¤ë¤¤¤Ï¡¢¥Õ¥¡¥¤¥ë¥µ¡¼¥Ð¤È²¿Âæ¤â¤Î X üËö¤¬¤¢¤ë¤â¤Î¤È¤¹¤ë¡£¤³¤Î¾ì¹ç¤Î ÀßÄê¥Õ¥¡¥¤¥ë¤Ï¡¢Xservers ¥Õ¥¡¥¤¥ë¤¬¼¡¤Î¤è¤¦¤Ë¤Ê¤ëÅÀ°Ê³°¤ÏÁ°½Ò¤Î Îã¤ÈƱ¤¸¤Ç¤¢¤ë:

	extol:0 VISUAL-19 foreign
	exalt:0 NCD-19 foreign
	explode:0 NCR-TOWERVIEW3000 foreign

¤³¤ì¤Ï¡¢ xdm ¤ò¤³¤ì¤é¤Î3Âæ¤ÎüËöÁ´¤Æ¤Î¥»¥Ã¥·¥ç¥ó¤ò´ÉÍý¤¹¤ë¤³¤È¤ò»Ø¼¨¤¹¤ë¡£ init(8) ¤ÈƱ¤¸¤è¤¦¤Ë¥·¥°¥Ê¥ë¤ò»È¤Ã¤Æ¤³¤ì¤é¤ÎüËö¤òÍ­¸ú/̵¸ú¤Ë¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ ¤Ï¡¢XDM ¤ÎÀ©¸æ ¥»¥¯¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤³¤È¡£

À©¸Â»ö¹à

xdm ¤È¾¤Î¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¤È¤Î¶¦Â¸¤Ï¤¢¤Þ¤ê¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¡£Æ±¤¸¥Ï¡¼¥É¥¦¥§ ¥¢¤ÇÊ£¿ô¤Î¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¤ò»È¤¦¾ì¹ç¤Ë¤Ï¡¢ xinit ¤ò»È¤¦Êý¤¬Îɤ¤¤À¤í¤¦¡£

¥Õ¥¡¥¤¥ë

<XRoot>/lib/X11/xdm/xdm-config
¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¥Õ¥¡¥¤¥ë
$HOME/.Xauthority
xdm ¤¬¥¯¥é¥¤¥¢¥ó¥È¤ËÂФ¹¤ë¥­¡¼¤Î³ÊǼ¡¢¼èÆÀ¤ò¹Ô¤¦¥æ¡¼¥¶Ç§¾Ú¥Õ¥¡¥¤¥ë
<XRoot>/lib/X11/xdm/chooser
¥Ç¥Õ¥©¥ë¥È¤Î chooser
<XRoot>/bin/xrdb
¥Ç¥Õ¥©¥ë¥È¤Î¥ê¥½¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹Æɤ߹þ¤ß¥×¥í¥°¥é¥à
<XRoot>/bin/X
¥Ç¥Õ¥©¥ë¥È¤Î¥µ¡¼¥Ð
<XRoot>/bin/xterm
¥Ç¥Õ¥©¥ë¥È¤Î¥»¥Ã¥·¥ç¥ó¥×¥í¥°¥é¥à¤È¥Õ¥§¡¼¥ë¥»¡¼¥Õ¥¯¥é¥¤¥¢¥ó¥È
<XRoot>/lib/X11/xdm/A<display>-<suffix>
ǧ¾Ú¥Õ¥¡¥¤¥ë¤Î¥Ç¥Õ¥©¥ë¥È¤Î°ÌÃÖ
/tmp/K5C<display>
Kerberos ¤Î¾ÚÌÀ½ñ¥­¥ã¥Ã¥·¥å

Ãí°Õ: <XRoot> ¤Ï X11 ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ä¥ê¡¼¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò¼¨¤¹¡£

´ØÏ¢¹àÌÜ

X(7), xinit(1), xauth(1), Xsecurity(7), sessreg(1), Xserver(1),
X Display Manager Control Protocol

Ãø¼Ô

Keith Packard, MIT X Consortium

Release 6.5 X Version 11