
                CygTerm+  -  yet another Cygwin console

                ^[~iEG~[^ Cygwin gB

                (C) 2006- TeraTerm Project
                https://ttssh2.osdn.jp/

                Based on CygTerm by Original developer:
                Copyright (C) 2000-2006 NSym
                nsym@dd.iij4u.or.jp


//     //

    CygwinR\[łDOS^[~iEG~[^ŒuւĂ݂悤A
    Ƃ݂łB w[gOĈ݂𗘗pɁxƂ
    OłB  inetd Ƃ in.telnetd Ƃ login ͎gp܂B

// l   //

    ^[~iEG~[^CygwiñVFNA҂𒆌pB
    svO΂悢B

// d l //

    1. ̃vOsƁA^[~iEG~[^オA
       ɃVF̃vvgACygwinR\[ƂĎg邱ƁB

    2. N^[~iEG~[^ƃVF͑I\ł邱ƁB

    3. VF̉ʐ䂪ɓ삵A^[~iEG~[^
       ʃTCYύXɂǐ邱ƁB

//  v //

    cygterm.exe ڍ

      [1] TELNETڑ҂󂯂郊Xi[\PbgpӂB
          \PbgɊ蓖Ă関gp|[gԍ͎w͈͓ToB

      [2] ʃXbhŃ^[~iEG~[^NB
          ̂ƂN IPAhX 127.0.0.1  [1]̃|[gԍw肷B

      [3] ^[~iEG~[^̐ڑ󂯓B
          ZLeB[ 127.0.0.1 ȊO̐ڑ͋pB

      [4] fork()qvZXAPTY([[)X[uŃVFNB

      [5] [3] TELNETڑ\Pbg [4] PTY}X^[̓o͂nB

    TELNETvgRւ̑Ή (option negotiation)

        ^[~iEG~[^^[~i^Cv̒ʒm󂯁A
        VF TERM ϐɃZbgB

        ^[~iEG~[^^[~iTCY̒ʒm󂯁A
        PTỸEBhETCY𓯃TCYɕύXB

         Go Ahead gȂ̋^[~iG~[^ɗvB

        ^[~iG~[^ Go Ahead gpȂ悤ɗvB

        ^[~iG~[^̑MeGR[obN鋖vB

        [Q: RFC854 TELNET PROTOCOL SPECIFICATION]

    cygterm.exe ̓EBhEȂ Win32AvƂĎB

// \ [ X //

    README-j     -  ̃t@C
    README       -  README-jp
    COPYING      -  GNU General Public License (GPL) Version 2
    Makefile     -  CNt@C
    cygterm.cc   -  \[XR[h
    cygterm.cfg  -  ݒt@C

     Free Software Foundation s GNU General Public License (GPL)
       ɏt[\tgEFAƂĔzz܂B
       COPYING QƁB(https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

       ⑫: vO CygTerms`(cygterm.exe)NʐM
             gp邱Ƃ́AꂪGPLvȌꍇł܂B

// C  X g [  //

    Cygwin make install s܂B

     CXg[fBNg Makefile  BINDIR Őݒ肵Ă܂B
       BINDIR  cygterm.exe  cygterm.cfg CXg[܂B
       cygterm.cfg ͏㏑܂B

// 샂[h //

    cygterm.exe ƓtH_ portable.ini ꍇ|[^uł
    ē삵܂Bportable.ini Ȃꍇ͒ʏłƂē삵܂B

//   t @ C  //

    cygterm.cfg ͐ݒt@CłB gp[G~[^̃R}hC
    NVF̃R}hCݒ肵܂B

    cygterm.cfg ͎̏œǂ݂܂B

    - exeƓtH_ cygterm.cfg
    - /etc/cygterm.conf
    - $APPDATA/teraterm5/cygterm.cfg
    - ~/.cygtermrc

    $SHELL  $USER ́Aݒt@CǂݍݑOɐݒ肳܂B
    ォǂݍ񂾒lŏ㏑܂B
    ݒt@Cǂݍ񂾂̂R}hCIvVŎwŏ㏑܂B

    |[^uł̂Ƃ́Ãt@Ĉ݂ǂݍ݂܂B

    - $APPDATA/teraterm5/cygterm.cfg

    cygterm.cfg ̗
      +-----------------------------------------------------------------------
      | TERM = C:\program files\ttermpro\ttermpro.exe %s %d /KR=SJIS /KT=SJIS
      | TERM_TYPE = vt100
      | PORT_START = 20000
      | PORT_RANGE = 40
      | SHELL = /bin/bash

    ݒt@C̕R[hUTF-8łB
    (Cygwin 1.5ł Shift_JIS łB)

    TERM
    ----
        ^[~iEG~[^̋NR}hCłB
        R}h WindowsŃpXʂĂȂ΃tpXŏ܂B
        zXgŵƂ %s ƂA|[gŵƂ %d Ƃ܂B

    TERM_TYPE
    ---------
        ^[~iEG~[^^[~i^Cv^ĂȂ
        ꍇɍ̗p^[~i^CvłB (ftHg:vt100)
        VFAϐ TERM ɃZbg܂B

    PORT_START
    ----------
        gn߂ (gĂ悢ŏ) |[gԍłB (ftHg:20000)

    PORT_RANGE
    ----------
        gĂ悢|[gԍ̌łB (ftHg:40)

        PORT_START ` PORT_START+PORT_RANGE ͈̔͂ŋ󂫃|[gT܂B
        ̐sł邱ƂɂȂ܂B

    SHELL
    -----
        CygwinVF (ʏ /bin/bash) ̋NR}hCłB
        (ftHg: /etc/passwd̏gp)
        R}h̃tpXA"AUTO"w肵܂B

    LOGIN_SHELL
    -----------
        VFOCVFƂċN邩ǂw肵܂B
        ftHg͖łB

        ʓIȃVFł̓OCVFƂċNƁA.profile
        .loginȂǂ̃OĈݓǂݍރX^[gAbvt@Cs
        ܂B
        ̃t@Cł́AʏAȉ̂悤Ȏs܂B
        EPATHUSER̊eϐ̐ݒs
        E[̐ݒK؂ɍs
        EJgfBNg[Ũz[fBNgɕύXB

        ꕔ̃VF(tclshȂ)VFȊÕvONꍇ
        ʂ܂B

    HOME_CHDIR
    ----------
        patch level 01 Ɋ܂܂"z[fBNgւ̈ړ"@\邩
        ǂw肵܂BftHg͖łB

    SOCKET_TIMEOUT
    --------------
        ^[~iEG~[^telnetڑ҂󂯂\Pbg
        ^CAEg܂ł̎Ԃw肵܂B (ftHg: 5b)

    SSH_AGENT_PROXY
    ---------------
        sshF؃G[WFg]@\񋟂邩w肵܂B
        LɂƁAOpenSSHsshF؃G[WFgɑΉvOA
        CygTerm+ʂPageantɃANZXł悤ɂȂ܂B
        ftHg͖łB

    ENV_X
    -----
        VFNɐݒ肵ĂϐłBuϐ=lv̌`
        (putenv`) ŋLq܂B ENV_ Ŏn߂΂łLqł܂B


// N   @ //

    R}hCEIvV

        cygterm.exe [-t 'terminal-emulator'] [-p port-number] [-dumb]
                    [-s 'shell'] [-ls | -nols] [-cd | -nocd] [-a | -A]
                    [-v 'env-var' ...] [-d 'directory'] [-o 'parameter']

        -t 'terminal-emulator'
                ^[~iEG~[^w肵܂B
                w`͐ݒt@C TERM ƓłB
                󔒕܂ޏꍇ͕KNH[gň݂͂܂B

        -p port-number
                ^[~iEG~[^N̂ł͂ȂA
                [JzXĝ̃|[gԍւ̐ڑ݂܂B
                ̃AvP[VEvO -p IvVgāA
                cygterm.exe oR Cygwin𗘗pAl܂B

        -dumb
                TELNETIvVElSVG[Vs܂B
                 TELNETR}hMĂĂ܂B
                VF̊ϐ TERM  'dumb' ƂȂ܂B

        -s 'shell'
                CygwiñVFw肵܂B
                w`͐ݒt@C SHELL ƓłB
                󔒕܂ޏꍇ͕KNH[gň݂͂܂B
                KVFR}hłKv͂܂B

        -ls
                VFOCVFƂċN܂B

        -nols
                VF(OCVFł͂Ȃ)ʏ̃VFƂċN܂B

        -cd
                JgfBNgz[fBNgɈړĂ
                VFN܂B

        -nocd
                JgfBNgړɃVFN܂B

        -A
                sshF؃G[WFg]@\Lɂ܂B

        -a
                sshF؃G[WFg]@\𖳌ɂ܂B

        -v 'env-var'
                VFNɐݒ肵Ăϐw肵܂B
                w`͐ݒt@C ENV_X ƓłB
                󔒕܂ޏꍇ͕KNH[gň݂͂܂B
                -v IvV͂łwł܂B

        -d 'directory'
                JgfBNgw肳ꂽfBNgɈړĂ
                VFN܂B

        -o 'parameter'
                ^[~iEG~[^ւ̒ǉ̃p[^w肵܂B
                TERMςɒǉ̃p[^w肵Ɏg܂B

    ^[~iEG~[^͐ڑ|[gԍA CygwinVF
    w肪ŒKvƂȂ܂B 炪R}hCEIvVɂ
    ^Ȃ΁Aݒt@C cygterm.cfg Ăsł܂B

    cygterm.exe  cygwin1.dll 𗘗p Win32AvP[VłB
    Cygwinォs邱ƂAWindows̃V[gJbgs邱Ƃ
    ł܂B

     Windowsォsɂ cygwin1.dll ̃fBNgpX
       Windowsϐ PATH ɒǉĂKv܂B
       (ʏ Cygwin[gfBNg\bin)

//     //

    * Tera Termgp̒

    ^[~iEG~[^ Tera Term ̏ꍇAcygterm.exe Nꂽ
    ԂŐݒۑ [Setup][Save setup] sȂ悤ӂĂB
    TCP/IPݒ Telnet|[gԍ 23 ȊOŕۑAʏ TelnetړI
    sɐڑłAQĂ邱ƂɂȂĂ܂܂B
    TCP/IP Port#  23 w肵ĐݒۑΌɖ߂܂B

//  X   //
v1.07_30 2022/02/06
        * ǂݍސݒt@Cǉ
          $APPDATA/teraterm5/cygterm.cfg
        * UnicodeΉ
        * |[^uőΉ

v1.07_29 2016/11/26 (by maya)
        * ACRύXB

v1.07_28 2016/02/17 (by doda)
        * fobO[hǉB

v1.07_27 2016/02/09 (by doda)
        * -cd IvV(HOME_CHDIR=y)  -d IvVł̃fBN
          gwD悷悤ɂB
        * -ls IvV(LOGIN_SHELL=y) ̎w莞 -d IvVw
          ꍇACHERE_INVOKING=y Zbg悤ɂB

v1.07_26 2015/12/14 (by doda)
        * ssh F؃G[WFg]ŕRlNVɑΉB

v1.07_25 2015/02/21 (by doda)
        * TERM ϐݒ肳悤ɂB

v1.07_24 2013/08/15 (by maya)
        * 64bit Cygwin ł삷悤ɂB (cyglaunch)

v1.07_23 2011/04/18 (by doda)
        * -d IvVŎw肳ꂽfBNgւ̈ړsA
          G[bZ[W\悤ɂB

v1.07_22 2011/03/03 (by maya)
        * CXg[N`FbN邽߂ mutex 폜B

v1.07_21 2011/02/28 (by maya)
        * CXg[N`FbN邽߂ mutex ǉB

v1.07_20 2010/10/20 (by doda)
        * '-d' IvVł̃fBNgύX̃^C~Ox点B
          (security fix)

v1.07_19 2010/01/28 (by doda)
        * '-s' IvV̈ 'AUTO' 󂯕t悤ɂB

v1.07_18 2010/01/19 (by doda)
        * '-d' IvV̈dp폜悤ɂB

v1.07_17 2009/06/16 (by doda)
        * TELNET SGA/ECHOIvṼlSVG[Vs悤ɂB

v1.07_16 2008/11/21 (by doda)
        * ssh F؃G[WFg]@\LɂIvV '-a' 
          '-A' ɕύXB
        * ssh F؃G[WFg]@\𖳌ɂIvV '-a' ǉB

v1.07_15 2008/11/01 (by doda)
        * ssh F؃G[WFg]@\T|[gB

v1.07_14 2007/12/17 (by doda)
        * ^[~iEG~[^̒ǉ̃p[^w肷IvV
          '-o' ǉB

v1.07_13 2007/08/03 (by maya)
        * JnfBNgw肷 '-d' IvVǉB

v1.07_12 2007/06/10 (by doda)
        * telnet ̑҂󂯃\Pbg̃^CAEgݒ肷IvV
          SOCKET_TIMEOUT ǉB

          SOCKET_TIMEOUT = b

v1.07_11 2007/01/31 (import from cygterm v1.07)
        * gcc 3.4 ł WinMainCRTStartup() Ē`G[
        * Ao͎łL[{[h荞݂悤ɁB

v1.06_11 2006/09/29 (by maya)
        * ϐ /etc/passwd  HOME gȂ悤ɂB
          Cygwin ɂăZbgꂽ HOME pB֘A /etc/profile
        * ݒt@C̗D揇ʂύXB
          R}hC > ~/.cygtermrc > /etc/cygterm.conf > cygterm.cfg
          > /etc/passwd

v1.06_10 2006/09/28 (by doda)
        * [U𓾂̂ɁAϐ USERNAME ̑ getlogin() g
          悤ɂB

v1.06_09 2006/09/25 (by doda)
        * SHELLݒ肳ĂȂꍇ́A/etc/passwd VF̏𓾂
          悤ɂB

v1.06_08 2006/08/30 (by maya)
        * cygterm.cfg ݒt@C̒ōŗD悳悤ɂB

v1.06_07 2006/08/19 (by maya)
        * Windows  ϐ HOME ݒ肳ĂΎg悤ɂB

v1.06_06 2006/08/18 (by doda)
        * -s-tIvṼp[^̒𐧌B

v1.06_05 2006/08/18 (by maya)
        * CXg[N`FbN邽߁Amutex 쐬B

v1.06_04 2006/08/15 (by doda)
        * VFOCVFƂČĂяoIvV LOGIN_SHELL 
          ǉB

          LOGIN_SHELL: yes | no

v1.06_03 2006/08/15 (by doda)
        * z[fBNgŋN̂IIvV HOME_CHDIR 
          ǉB

          HOME_CHDIR: yes | no

v1.06_02 2006/02/09 (by babydamons@yahoo.co.jp)
        * CygTerm̃ACR쐬܂Bi"DotWork 2.50"ɂč쐬j
          "DotWork 2.50" ͉ELURL\łB
          http://www5a.biglobe.ne.jp/~suuta/
          ΂炵\tgEFAJĂA
          "suuta at hamal dot freemal dot ne dot jp"ɊӒv܂B

        * Makefile C܂B"clean" ^[Qbg cygterm.ico 폜
          Ȃ悤ɁB

v1.06_01 2006/02/08 (by babydamons@yahoo.co.jp)
        * ȉ̐ݒt@C̓ǂݍ݂T|[g:
            + /etc/cygterm.conf
            + ~/.cygtermrc

        * VF[Ũz[fBNgŋN悤ɁB

        * AJEg̐ݒ /etc/passwd  getpwnam(3) œǂݍނ悤ɁB
          AJEg͊ϐ USERNAME getenv(3) Ŏ擾Ă܂B

        * Makefile CFfBtHgŃACR .exe rh܂B

v1.06 2004/01/24
        * R}hCEIvVǉB
            -t 'terminal-emulator' (^[~iEG~[^w)
            -p port-number (ڑ|[gԍw)
            -dumb (_^[~iw)
            -s 'shell' (VFw)
            -v 'env-var' (ϐw)

        * MakefileC
          make install  BINDIR ݂Ȃ΃G[ɂȂ悤ɁB

        * \[Xt@Cp (cygterm.cc, README.txt)

v1.05 2003/01/14
        * Ctrl+SPACE(NUL)Mł悤ɏCB
          sR[h CR+NUL @ƂĒP NUL𖳎Ă
          ߁ACtrl+SPACE ł NUL MȂB

v1.04 2002/12/08
        * ^[~iEG~[^уVF̋NɎsƂ
          G[bZ[W\悤ɂB

        * MakefileC
          make install  cygterm.cfg ㏑Ȃ悤ɁB
          gccIvV -fno-exceptions ǉAGCC-3̃NG[B

v1.03 2002/07/24
        * ^[~iEG~[^ʒmĂ^[~i^CvɁA啶
          ܂܂Ă΁Aɕϊ悤ɏCB
          ^[~iEG~[^ɂĂ͊ϐ TERM ̒l 'ANSI' 'VT100'
          ̂悤ɑ啶Ȃ terminfo Ƀ}b`Ȃ߁B
          (Windows 2000 telnet.exe )

v1.02 2002/07/22
        * ^[~iEG~[^R\[EAvP[V̂ƂɋN
          łȂ̂CB(Windows 2000 telnet.exe )
          CreateProcess()ďo~XB

        * ^[~iEG~[^ CR+LF Ă LF ͓]Ȃ
          悤ɂAsQ񔭐̂CB(Windows 98 telnet.exe )

        * o[Wԍ cygterm.exe ɖߍނ悤ɂB
          mF@ $ strings cygterm.exe | grep version

v1.01 2002/07/19
        * zsh, tcsh œ삵Ȃ̂CB[[̃I[v@A
          zsh, tcsh ł͋NƂƂɓ͂ubNꂽB

v1.00 2000/12/17
        * o[W

