3.95¿¡ ´ëÇÑ ¿¾ ¹öÀüÀÇ ÆÐÄ¡(ÇÑ±Û sendmail°ú ¾à°£ ºñȣȯÀûÀÎ ¸éÀÌ ÀÖ´Â)
¾Æ·¡ÀÇ °÷¿¡¼ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, °¡´ÉÇϸé 3.96¿¡ ´ëÇÑ »õ·Î¿î
ÆÐÄ¡¸¦ »ç¿ëÇϽñ⸦ ±ÇÀåÇÕ´Ï´Ù.
GNU patch¿Í ȣȯµÇÁö ¾Ê´Â patch¸¦ »ç¿ëÇÏ½Ç °æ¿ì ¿©±â¼ ¿¡·¯°¡ ¹ß»ýÇÒ
°ÍÀÔ´Ï´Ù. /usr/bin¿¡ ÀÖ´Â patch´ë½Å¿¡ /usr/local/bin¿¡ ÀÖ´Â patch¸¦
»ç¿ëÇØ º¸½Ê½Ã¿À. ±×°Íµµ ½ÇÆÐÇÑ´Ù¸é, ftp://prep.ai.mit.edu ¿¡¼ GNU patch¸¦
°¡Á®´Ù ¼³Ä¡ÇÏ½Ã¸é µË´Ï´Ù. ´õ °£´ÜÇÑ ¹æ¹ýÀº Pine 3.96¿ëÀÇ ÇÑ±Û ÆÐÄ¡µÈ
strings.c¿Í send.c¸¦
¿©±â¿Í
¿©±â¿¡¼ °¢°¢
¹ÞÀ¸½Å ´ÙÀ½¿¡ pine 3.96 ¼Ò½º Æ®¸®ÀÇ pine/strings.c¿Í
pine/send.c À§¿¡ µ¤¾î ¾º¿ì´Â °ÍÀÔ´Ï´Ù.
À§¿¡¼ Å« µû¿ÈÇ¥ µÎ °³¸¦ »© ¸ÔÁö ¾Êµµ·Ï ÁÖÀÇÇϽʽÿÀ. ±×°ÍÀÌ
¾øÀ¸¸é µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù.
ÇÑ±Û sendmailÀÌ ¼³Ä¡µÇ¾î Àְųª, procmailÀ» ½á¼ ISO-2022-KR·Î
¿À´Â ¸ÞÀÏÀ» ÀÚµ¿À¸·Î EUC-KR·Î ¹Ù²ã¼ ÀúÀåÇϵµ·Ï µÈ °æ¿ì¿¡µµ
displayfilter¸¦ ¼³Á¤ÇÏ´Â
°ÍÀÌ ÁÁ½À´Ï´Ù. ¹Þ´Â ¸ÞÀÏÀº ¸ÞÀÏ ¹Ú½º¿¡ ÀúÀåµÇ±â Àü¿¡ ÇѱÛ
sendmailÀ̳ª procmail+hcode°¡ EUC-KR·Î ¹Ù²ã ³õÁö¸¸, ÀÚ½ÅÀÌ º¸³½ ¸ÞÀÏÀº
ISO-2022-KR·Î ÀúÀåµÇ±â ¶§¹®ÀÔ´Ï´Ù. ¾Æ·¡ÀÇ °í±Þ ¼³Ä¡¿¡¼ ¼³¸íÇÒ
charset¿¡ µû¸¥ ÇÊÅÍ ÁöÁ¤µµ °°ÀÌ ÇÏ´Â °ÍÀÌ multi-part ¸Þ½ÃÁö µîÀ» ´Ù·ê ¶§¸¦
À§ÇØ ÁÁ½À´Ï´Ù.
ÇÑ±Û sendmail(sendmail 8.6.x¿¡ ¹ÙÅÁÀ» µÐ)ÀÌ ÀÖ´õ¶óµµ sending filter´Â
ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, QP/Base64·Î ÀÎÄÚµåµÇ¾î ³ª°©´Ï´Ù.
ÇÊÅÍ ÁöÁ¤ ½Ã¿¡ hmconvÀÇ ¿ÏÀü °æ·Î¸¦ ½á ÁÖ¾î¾ß ÇÕ´Ï´Ù. ±×¸®°í,
.cshrc/.tcshrc³ª .bashrc(¶Ç´Â kshÀ̶ó¸é ENV µî¿¡ ÁöÁ¤µÈ ÆÄÀÏ) µîÀÇ
shell startupÆÄÀÏ¿¡¼ stty¿Í °°Àº ¸í·ÉÀº non-interactive
shellÀÏ °æ¿ì¿¡´Â ½ÇÇàµÇÁö ¾Êµµ·Ï ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. filter
¼³Á¤¿¡ ´ëÇÑ µµ¿ò¸»Àº filter¸¦ ÁöÁ¤ÇÏ´Â °÷¿¡¼ "?"¸¦ ´©¸£¸é
³ª¿É´Ï´Ù.
Pico¸¦ ¾µ °æ¿ì ÇÑ±Û ÀÔ·ÂÀÌ Àß ¾È µÈ´Ù¸é, stty ¼³Á¤¿¡ ¹®Á¦°¡
ÀÖ´Â °ÍÀÔ´Ï´Ù. ÇÑ±Û FAQÀÇ
Subject 16¸¦ Âü°íÇϽñ⠹ٶø´Ï´Ù.
¶Ç, Áß°£¿¡ ±ÛÀÚ°¡ ±úÁ® º¸À̸é, CTRL-L¸¦ ´·¯¼
Á¤¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿©±â±îÁö ÇÏ¸é ±âº» ¼³Á¤Àº ³¡³ °ÍÀÔ´Ï´Ù. ÀÌÁ¦ ÇÑ±Û ¸ÞÀÏÀÇ
¼Û¼ö½Å¿¡ ¾Æ¹«·± Àå¾Ö°¡ ¾øÀ» °ÍÀÔ´Ï´Ù.
Pine¿¡¼ ¸Þ½ÃÁö¸¦ ÀúÀåÇÑ ´ÙÀ½¿¡ (e¸¦
´·¯¼ export¸¦ Çϸé, S¸¦ ´·¯¼ saveÇÑ
°æ¿ì¿Í´Â ´Þ¸® À§¿¡¼ ÁöÁ¤ÇÑ displayfilter°¡ ÀÚµ¿À¸·Î
Àû¿ëµÇ¹Ç·Î ÇÑ±Û ÄÚµå º¯È¯À» µû·Î ÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù),
hpscat,
h2ps µîÀ» ½á¼ ÇÁ¸°Æ®ÇÒ ¼ö ÀÖ½À´Ï´Ù.ÇÏÁö¸¸,
º¸´Ù Æí¸®ÇÑ °ÍÀº PineÀÌ Á¦°øÇÏ´Â ÇÁ¸°Æ® ±â´ÉÀ»
ÀÌ¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ¾Æ·¡´Â ±× ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.
¾Æ·¡¿¡ ³ª¿À´Â hpscat
h2ps,
nh2ps µîÀ» ±¸ÇÏ´Â ¹æ¹ýÀº
ÇÑ±Û FAQ Áß ÇÑ±Û ÇÁ¸°Æ®¿¡
´ëÇÑ ºÎºÐÀ» Âü°íÇϱ⠹ٶø´Ï´Ù.
Main menu¿¡¼ 'S'À» ´©¸£°í, 'P'¸¦ ´·¯¼ printer ¼³Á¤À»
½ÃÀÛÇÕ´Ï´Ù.
personally selected printer command¸¦ ¼±ÅÃÇÑ ´ÙÀ½¿¡
'A'¸¦ ´·¯ ÇÁ¸°Å͸¦ Ãß°¡ÇÕ´Ï´Ù. Àû´çÇÑ ÇÁ¸°ÅÍ À̸§À»
ÁÖ°í, ÇÁ¸°Æ® ¸í·ÉÀ» ¹°À¸¸é ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
À§¿¡¼ ps2lj3´Â ´ÙÀ½°ú °°Àº shell scriptÀÔ´Ï´Ù.
Postscript interpreterÀÎ
gs(ghostscript)°¡
¼³Ä¡µÇ¾î ÀÖ¾î¾ßÇÕ´Ï´Ù. gsÀÇ ¸Å´º¾óÀ» Âü°íÇÏ¿©, ÀÚ½ÅÀÌ °¡Áø ÇÁ¸°ÅÍ¿¡
¸Â°Ô À§¿¡¼ DEVICE À̸§À» ¹Ù²ã ÁÖ´Â µîÀ¸·Î shell script¸¦
¸¸µé¾î HP InkJetÀ̳ª Canon BubbleJet, Epson printerµîÀ¸·Îµµ
Ãâ·ÂÀÌ °¡´ÉÇÕ´Ï´Ù.
ansiprt´Â Pine ¼Ò½ºÀÇ
contribution µð·ºÅ丮¿¡ µé¾î ÀÖ´Â °ÍÀ¸·Î ¿©±â¿¡¼
C·Î µÈ ¼Ò½º¸¦ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. hmconv¸¦ ÄÄÆÄÀÏÇØ¼ ¼³Ä¡ÇÑ
°Í°ú °°Àº ¹æ¹ýÀ¸·Î ÄÄÆÄÀÏÇØ¼ Ȩµð·ºÅ丮 ¾Æ·¡ÀÇ bin¿¡
³õ¾Æ µÓ´Ï´Ù.
Header¿Í Munjo´Â ÇÑ±Û PSÆùÆ®·Î ftp://ftp.kaist.ac.kr/pub/hangul/editor
¾Æ·¡ÀÇ ked.tar.gz¿¡ µé¾î ÀÖ½À´Ï´Ù. ÇÑ±Û PSÆùÆ®°¡ ³»ÀåµÈ
PS ÇÁ¸°ÅÍ »ç¿ëÀÚ´Â ´Ü¼øÈ÷ h2ps¸¦ hpscatÀ¸·Î¸¸
¹Ù²ãÁÝ´Ï´Ù. ´Ü, hpscatÀº ÇÑ±Û PS ÇÁ¸°ÅÍ¿ëÀ¸·Î
ÄÄÆÄÀϵǾî ÀÖ¾î¾ß ÇÕ´Ï´Ù. (ÇÑ±Û hpscatÀÇ
¼³Ä¡ ¼³¸í¼ Âü°í).
¾Æ·¡ ¸í·ÉÀ» ¾²¸é µðÆúÆ® °ªÀÌ ¼³Á¤µÈ ½Ã½ºÅÛ Àüü¿¡ ¾µ
pine.conf°¡ ¸¸µé¾îÁý´Ï´Ù. À̰ÍÀ» À§¿¡¼ pine ³»ºÎ¿¡¼
¼³Á¤À» º¯°æÇÏ¿© ¸¸µç ~/.pinerc¿Í ºñ±³ÇØ °¡¸ç
ÆíÁýÇÑ ÈÄ¿¡ /usr/local/lib/pine.conf¿¡ µÎ¸é
ÀÏ¹Ý »ç¿ëÀÚ´Â ÀÏÀÏÀÌ pine ¼³Á¤À» ÇÏÁö ¾Ê¾Æµµ
ÇÑ±Û ¸ÞÀÏ »ç¿ëÀ» ºÒÆí¾øÀÌ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
PineÀÇ ´º½º Àб⠱â´ÉÀº ¾ÆÁ÷ tin/trn/gnus µî¿¡ ºñÇØ ±²ÀåÈ÷ ¸¹ÀÌ
¶³¾îÁý´Ï´Ù.µû¶ó¼, PineÀ» ´º½º Àбâ ÇÁ·Î±×·¥À¸·Î ¾²Áö ¸» °ÍÀ»
±Ç°íÇÕ´Ï´Ù. Ȥ½Ã, ²À ¾²°íÀÚ ÇÑ´Ù¸é ÇÑ±Û ´º½º ±×·ì¿¡ ±ÛÀ» ¿Ã¸±
¶§¿¡´Â ±ÛÀ» ´Ù ÀÛ¼ºÇÑ ´ÙÀ½¿¡, 'filter-through hmconv?'¶ó´Â
Áú¹®¿¡ nÀ» ´·¯¼ À§¿¡¼ ¼³Á¤ÇÑ ÇÊÅ͸¦(sending-filter)
Àû¿ëÇÏÁö ¸»¶ó°í ÇØ¾ßÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÀÚ½ÅÀÇ ±ÛÀÌ
ISO-2022-KR·Î ÀÎÄÚµåµÇ¾î¼ ¿Ã¶ó°¡¹Ç·Î ´Ù¸¥ »ç¶÷ÀÌ ¾Ë¾Æº¼ ¼ö
¾ø½À´Ï´Ù.PineÀ» ´º½º Àбâ ÇÁ·Î±×·¥À¸·Î ¾²°í display filter¸¦
¼³Á¤ÇØ ³õÀ¸¸é º»Àο¡°Ô´Â Àß º¸À̹ǷÎ,´Ù¸¥ ÀÌÀÇ ºÒÆíÀ»
¾Ë¾ÆÃ¤Áö ¸ø ÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÑ´Ù°í ÇØµµ Á¦¸ñ µîÀÇ ÇѱÛÀ»
RFC 2047¿¡ µû¶ó B/Q encodingÀ» Çϱ⠶§¹®¿¡ MIME(Multipurpose
Internet Mail Extension)À» Á¦´ë·Î ó¸®ÇÒ ¼ö ¾ø´Â ´º½º ¸®´õ¸¦
¾²´Â À̵鿡°Ô ºÒÆíÀ» ÃÊ·¡ÇÕ´Ï´Ù. À̰ÍÀº ¶Ç ÇÑ±Û Usenet
NewsgroupÀÇ È®¸³µÈ °üÇà°úµµ ¾î±ß³³´Ï´Ù. ´Ù½Ã Çѹø
¸»ÇÏÁö¸¸, PineÀº ÁÁÀº ¸ÞÀÏ ÇÁ·Î±×·¥ÀÌÁö¸¸ ÁÁÀº ´º½º
¸®´õ´Â ¾Æ´Ï¹Ç·Î tin,trn,Emacs-Gnus µîÀÇ ´Ù¸¥ ´º½º ¸®´õ¸¦
¾µ °ÍÀ» ±Ç°íÇÕ´Ï´Ù.
Â÷·Ê
ÇöÀç »ç¿ë ÁßÀÎ ½Ã½ºÅÛ¿¡ PineÀÌ ¾ø°Å³ª ÀÖ´Ù°í ÇØµµ 3.92º¸´Ù
¿À·¡µÈ ¿¾ ¹öÀüÀ̶ó¸é ÃֽŠ3.96À» ¼³Ä¡ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
´ÙÀ½ÀÇ Àå¼Ò¿¡¼ ÃֽйöÀüÀÎ 3.96À» ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù
¼Ò½º¸¦ ±¸Çؼ ÇÑ±Û ÆÐÄ¡¸¦ Àû¿ëÇÑ ´ÙÀ½¿¡ ÄÄÆÄÀÏÇÏ´Â °ÍÀ»
±ÇÇÕ´Ï´Ù. Ȥ½Ã, ÄÄÆÄÀÏ¿¡ Àͼ÷Ä¡ ¸ø Çϰųª ´Ù¸¥ »çÁ¤À¸·Î
ÄÄÆÄÀÏÀÌ ¿©ÀÇÄ¡ ¾ÊÀº °æ¿ì¿¡´Â ¹Ì¸® ÄÄÆÄÀÏµÈ ½ÇÇà ÆÄÀÏÀ»
°¡Á®´Ù ¾²½Ç ¼öµµ ÀÖ½À´Ï´Ù. ÀÚ½ÅÀÌ ÄÄÆÄÀÏÀ» ÇÏÁö ¸ø ÇÑ´Ù¸é
½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô »õ ¹öÀüÀÇ ¼³Ä¡¸¦ ºÎŹÇϽʽÿÀ.
ÇÑ±Û ÆÐÄ¡ ¹öÀüÀÇ ¼³Ä¡´Â(´Ù¸¥ »ç¿ëÀÚ¿¡°Ô ¾Æ¹«·± ÇØ°¡
¾ø½À´Ï´Ù) ¾Æ´Ï¶óµµ ÃÖ¼ÒÇÑ ÆÐÄ¡ ¾È µÈ 3.96ÀÇ ¼³Ä¡¸¦
Çϵµ·Ï ¼³µæÇÏ´Â °ÍÀº ¾î·ÆÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.
http://ftp.kaist.ac.kr/hangul/incoming/pine396k2.tar.gz
¿¡ ÀÖ½À´Ï´Ù. Á¶¸¸°£ /hangul/mail·Î ¿Å°ÜÁú °ÍÀÔ´Ï´Ù.
% cd /tmp
% gzip -d -c pine3.96.tar.gz | tar -xvf -
% cd pine3.96
% gzip -d -c ../pine396k2.tar.gz | tar -xvf -
% cd /tmp/pine3.96
% patch -p1 < pine396k2/pine396k2.patch
% cp strings.c pine/strings.c
% cp send.c pine/send.c
./build xxx
¸¦ ½ÇÇàÇϸé
ÄÄÆÄÀÏÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©±â¼, xxx´Â
doc/pine-ports
¶õ ¹®¼¿¡ ³ª¿Â ¼¼ ±ÛÀÚ·Î µÈ OS À̸§ÀÇ
¾àÀÚ(Linux´Â lnx, Solaris´Â sol ȤÀº gso µî)ÀÔ´Ï´Ù. ÄÄÆÄÀÏÀº »ó´çÈ÷ ¿À·£
½Ã°£ÀÌ °É¸®°í, ¼ø°£ÀûÀ¸·Î µð½ºÅ© ¿ë·®ÀÌ ¼ö½Ê MB¸¦ ÇÊ¿ä·Î ÇÒ ¼öµµ
ÀÖ½À´Ï´Ù. ÀÚ½ÅÀÇ µð½ºÅ© ÄõÅͰ¡ Á¦ÇÑµÈ °æ¿ì¿¡´Â ÀÌ·± Àӽà ÀÛ¾÷À» À§ÇØ
ÇÒ´çµÇ¾î µð½ºÅ© ÄõÅÍÀÇ Á¦ÇѰú °ü°è¾øÀÌ Àӽ÷Π¸¹Àº µð½ºÅ© °ø°£À» ¾µ ¼ö
ÀÖ´Â µð·ºÅ丮¿¡¼ ÀÛ¾÷ÇϽñ⠹ٶø´Ï´Ù.
% strip bin/pine
% mv bin/pine ~/bin/pine
# csh/tcsh/zsh µîÀÇ °æ¿ì
set path=($HOME/bin $path)
#sh/bash/kshÀÇ °æ¿ì
PATH=$HOME/bin:$PATH
export PATH
ÀÌ·¸°Ô ´õÇÑ PATH´Â ´ÙÀ½¿¡ loginÇÒ ¶§ºÎÅÍ È¿·ÂÀ» ¹ßÈÖÇϹǷÎ
·Î±×¾Æ¿ô ÈÄ¿¡ ´Ù½Ã ·Î±×ÀÎÇØ¼ pineÀ̶ó°í Ä¡¸é ¹æ±Ý
ÄÄÆÄÀÏÇÑ pine(ÇÑ±Û ÆÐÄ¡ÇÑ)ÀÌ ½ÇÇàµÉ °ÍÀÔ´Ï´Ù.
% mkdir -f ~/bin
% cc -o ~/bin/hmconv hmconv.c
Ç¥ÁØ C (ANSI/ISO C) compiler°¡ ¾Æ´Ñ ±¸½ÄÀÇ C compiler¸¸ ÀÖÀ» °æ¿ì¿¡´Â
¾Æ·¡¿Í °°ÀÌ ÇÕ´Ï´Ù.´Ü, À§¿¡¼ ÀÌ °÷À» ÅëÇØ
¾òÀº ÃֽйöÀü¿¡¼´Â C compiler¿¡ °ü°è¾øÀÌ
cc -o ~/bin/hmconv hmconv.c
¸¦ ½áµµ µË´Ï´Ù.
% cc -o ~/bin/hmconv -DKNR hmconv.c
pwd
¸¦ ½ÇÇàÇÏ¸é ¾Ë ¼ö ÀÖ½À´Ï´Ù.
¸Ç ¸¶Áö¸· ¿É¼ÇÀº ÇÑ±Û À¯Áî³Ý ´º½º ±×·ì¿¡ ¿Ã¸±
¶§ QP/Base64 encodingÀ» ÇÇÇϱâ À§ÇØ ÇÊ¿äÇÕ´Ï´Ù. ÇÏÁö¸¸, PineÀº ´º½º¿¡ ¿Ã¸±
¶§¿¡µµ ÇÑ±Û Á¦¸ñÀº Base64·Î encodeÇϰí(ÀÌ·¸°Ô ÇÏ´Â °ÍÀº ´Ù±¹¾î ȯ°æ¿¡¼
º¸´Ù ¹Ù¶÷Á÷ÇÑ °ÍÀ̱â´Â ÇÏÁö¸¸, ÇÑ±Û Usenet newsgroupÀÇ È®¸³µÈ °üÇà¿¡
¾î±ß³³´Ï´Ù), ¾ÆÁ÷ threadingµµ Áö¿øÇÏÁö ¾ÊÀ¸¹Ç·Î, ´º½º ±×·ì¿¡ ±ÛÀ» ¿Ã¸±
¶§¿¡´Â Pine´ë½Å tin,trn,gnus µîÀ» ¾²½Ê½Ã¿À.
ÇÑ±Û sendmail ¼³Ä¡ ¿©ºÎ¿¡ °ü°è¾øÀÌ ÇÑ±Û ÆÐÄ¡µÈ PineÀ» ¾²´Â °æ¿ì¿¡´Â
ISO-2022-KR·Î ÇϽʽÿÀ. ÇÑ±Û ÆÐÄ¡¸¦ Àû¿ëÇÏÁö ¾ÊÀº
U.Washington¿¡¼ ³ª¿Â º»·¡ÀÇ PineÀ» ¾´´Ù¸é, ÀÌ °ªÀ»
EUC-KR·Î ÇϽʽÿÀ. ±×·¸Áö ¾ÊÀ¸¸é ¼ö½ÅÀÚ°¡ Á¦¸ñÀÇ ÇѱÛÀ»
¸ø ¾Ë¾Æº¼ ¼öµµ ÀÖ½À´Ï´Ù.
"" /home/kildong/bin/hmconv -u
h2ps | lp -d
h2ps | ps2lj3 | lp or lpr
#!/bin/sh
IN=$1
test $IN || { IN=/tmp/$$.stdin ;cat >$IN; }
gs -sDEVICE=ljet3 -sOutputFile=- -dNOPAUSE -q -- $IN
test $IN != /tmp/$$.stdin || { rm -f $IN;}
h2ps | ansiprt (PS printer°¡ ÀÖ´Â °æ¿ì)
h2ps | ps2lj3 | ansiprt (HP LJ III¸¦ ¾²´Â °æ¿ì)
( cat Header Munjo ; hpscat )
ºñ½ÁÇÑ ¹æ¹ýÀ¸·Î nh2ps¸¦ ¾µ ¼öµµ ÀÖ½À´Ï´Ù.
% pine -conf > pine.conf
¿ª»ç
½ÅÁ¤½Ä (jshin@pantheon.yale.edu)