  Remote X Apps mini-HOWTO
  Vincent Zweije (zweije@xs4all.nl)
  11 July 2000
  The Linux Japanese FAQ Project (JF@linux.or.jp)
  v0.6.3j1, 29 March 2001

   mini-HOWTO ̓[g X AvP[Vs@ɂĐ
  ܂B܂AX ̃vOsĂRs[^Ƃ͈قȂ
  ɕ\@łBtɂ܂ƁAX ̃vOȂ
  ʂĂRs[^ł͂ȂƂŎs@AƂȂ܂B
  mini-HOWTO ̏œ_̓ZLeBłB X AvP[V[J
  ŁAقȂ[U ID ŁAs܂ł܂B
  ______________________________________________________________________

  ڎ

  1. ͂߂
  2. ֘Aǂݕ
  3. z肷
  4. Ƃ_
  5. NCAgɎw肷
  6. T[oɎw肷
     6.1 xhost
     6.2 xauth
        6.2.1 NbL[
        6.2.2 NbL[̓]
           6.2.2.1 z[fBNg̋L
           6.2.2.2 [gVF rsh g
           6.2.2.3 Telnet g蓮ōs
           6.2.2.4 Telnet Ŏɍs@
        6.2.3 NbL[g
     6.3 SSH

  7. ʂ̃[U ID  X AvP[V
     7.1 zXg̈قȂ郆[U
     7.2 NCAg[U root

  8. [gEBhE}l[W̎s
  9. guV[eBO
  10. {ɂ

  ______________________________________________________________________

  1.  ͂߂

   mini-HOWTO ̓[g X AvP[V߂̃KChłB
  R͂񂠂܂B

  1. u[g X AvP[Vsɂ́HvƂ₪ usenet
     őB

  2. X ڑ̋Ɂuxhost +hostname gvƂAЂǂ̂ɂȂ
     uxhost + gvƂ悤ȃAhoCX񂴂肷قǖڂɂ
     Bxhost ͓rȂZLeB̖肪AƂ悢@
     B

  3. xhost ȊÔƂ悢@LqȒPȕmȂBA
     ̊ȒPȕmĂȂ璘 zweije@xs4all.nl ɋĂ
     B

  ̃hLg UNIX CNȃVXeΏۂɏĂ܂B[J
  [ĝǂ炩̃Iy[eBOVXe UNIX nłȂĂA
  ̕œ̎dg݂邩܂BȂA
  ďƂ͊ẽVXeɍ킹ĕύXȂ΂ȂȂł
  B

  ̃hLg̍ŐVł http://www.xs4all.nl/~zweije/xauth.html 
  ł܂B܂uRemote X Apps mini-HOWTOvƂ
  http://sunsite.unc.edu/LDP/HOWTO/mini/Remote-X-Apps œł
  BLinux (mini-)HOWTO  sunsite.unc.edu  http  ftp œł
  ܂B

  ̃o[W 0.6.3 łBPӂɂJĂAۏ؂łB
  āAACfBAAǉA𗧂|C^A(łԈႢ)ȂǂW
  Ă܂BłA͊̕ȒPœǂ݈ՂɕۂĂƎvĂ
  ܂Bł悢Ӗł HOWTO `łˁB /dev/null ցB

  e̍ŏIXV 2000N0611  Vincent Zweije s܂B

  2.  ֘Aǂݕ

  "What to do when Tk says that your display is insecure" Ƃ֘Ah
  Lg WWW  http://ce-toolkit.crd.ge.com/tkxauth/ ({)
  ɂ܂B Kevin Kenny ɂďꂽ̂łB̃hLg
  (xauth) ł X F؂ɂĂ̕Ɠ悤ȉ@ĂĂ
  B Kevin  xauth ̐ xdm p邱Ƃ̕𒆐SɂĂ
  悤łB

  O'Reilly and Associates  The X System Window System Vol. 8 X "Window
  System Administrator's Guide" ܂悢񌹂Ȃ̂Œӂ䂩܂B
  ɂ҂̓`FbNłĂ܂B

  ɂ̃hLg "Securing X Windows" Ƃ^Cgł
  ɂłǂ߂̂łB
  http://ciac.llnl.gov/ciac/documents/ciac2316.html ł܂B

  comp.windows.xAcomp.os.linux.x  comp.os.linux.networking  usenet
  j[XO[v`FbNĂB

  3.  z肷

  Q̃Rs[^gĂ܂BPڂŁA͂ƕ\̂߂ X EB
  hEVXegĂ܂BQڂ̏dvȃOtBbN̎d
  ɎgĂ܂BPڂ̃fBXvCɂQڂ̏o͂\B X
  EBhEVXe͂ꂪł܂B

  lbg[NڑKvłBX vgR̓lbg[NH
  ̂ŁAȂׂ̂KvłBłƂ̉䖝ƓK؂ȃv
  gRkg΁AfoRŃAvP[Vs邱Ƃł
  B X vgRkɂĂ dxpc http://www.vigor.nu/dxpc/  LBX
  http://www.paulandlesley.org/faqs/LBX-HOWTO.html
  <http://www.paulandlesley.org/faqs/LBX-HOWTO.html> (܂̖ LBX
  mini-HOWTO Ƃ) `FbNĂB

  Pڂ̃fBXvCɂQڂ̏o͂\ɂ́Aȉ̂Q̂Ƃ
  Ȃ΂Ȃ܂B

  1. [gRs[^̐ڑ󂯕t悤A[JfBXv
     C (T[o) Ɏw肷B

  2. [JfBXvCɂ̏o͂s悤A[gAvP[V
     (NCAg) Ɏw肷B

  4.  Ƃ_

  }WbN[h DISPLAY łBX EBhEVXeł́AfBXvC
   (P) L[{[hA}EXAXN[琬܂BfBXv
  C̓T[ovOɂĊǗ܂B X T[oƌĂтȂ
  Ă܂B̃T[óAT[oɐڑ鑼̃vOɕ\\͂
  ^܂B

  fBXvC͖Oŕ\܂BႦ΁F

  o  DISPLAY=light.uni.verse:0

  o  DISPLAY=localhost:4

  o  DISPLAY=:0

  fBXvC̕\L̓zXg (Ꭶ light.uni.verse  localhost)A
  R(:)Aԍ (Ꭶ 0  4 ) 琬܂BfBXvC̕\L
  zXg X T[osĂRs[^̖OłBzXg
  ƁA[JzXgƂɂȂ܂Bԍ͕ 0 ł\\P
  ̃Rs[^ɕ̃fBXvCڑĂ̂ȂAʂ̒lɂ
  邩܂B

  L̃fBXvC\L .n Y邱Ƃ܂B .n ̓XN
  [ԍwĂ܂BfBXvC͕̃XN[Ƃ
  ܂Bʂ (ԍ n=0 ) ЂƂ̃XN[Ȃ̂ŁAꂪ
  lɂȂĂ܂B

   DISPLAY ̏܂AL̏Ŗ{̖ړIsɂ͏\
  łB

  ZpIȋ̂߂ɁF

  o  hostname:D.S ̓zXg hostname ̃fBXvCԍ D ̃XN[
      S Ӗ܂\\̕\L̃fBXvĈ߂ X T[o TCP
     |[g 6000+D bX܂B

  o  host/unix:D.S ̓zXg host ̃fBXvCԍ D ̃XN[ԍ S
     Ӗ܂\\̕\L̃fBXvĈ߂ X T[o UNIX h
     C\Pbg /tmp/.X11-unix/XD bX܂ (Ȃ̂ host 炵
     Bł܂)B

  o  :D.S  host/unix:D.S ƓłB host ̓[J̃zXg
     łB

  5.  NCAgɎw肷

  NCAgvO (ƂăOtBbNAvP[V) 
  DISPLAY ϐ𒲂ׂĐڑfBXvCm܂BANC
  AgÑR}hC -display hostname:0 ^ꍇ
  ́A̐ݒD悵܂B̗Ŗ炩ɂ܂傤B

  ̃Rs[^͊OzXg light ƂČĂAhC
   uni.verse ɏĂƂ܂Bʂ X T[osĂ
  AfBXvC light.uni.verse:0 ƂĎʂ܂B dark.matt.er
  Ƃ[gRs[^ŕ`vO xfig sA[J}
  V light  xfig ̏o͂\Ǝv܂B

  łɃ[gRs[^ dark.matt.er  telnet ĂƑz肵
  B

  [gRs[^ csh gĂȂ

       dark% setenv DISPLAY light.uni.verse:0
       dark% xfig &

  Ƃ邩A邢

       dark% xfig -display light.uni.verse:0 &

  Ƃ܂B

  [gRs[^ sh gĂȂ

       dark$ DISPLAY=light.uni.verse:0
       dark$ export DISPLAY
       dark$ xfig &

  Ƃ邩A邢

       dark$ DISPLAY=light.uni.verse:0 xfig &

  Ƃ܂B

       dark$ xfig -display light.uni.verse:0 &

  łłB

  (󒍁G

       dark$ env DISPLAY=light.uni.verse:0 xfig&

  Ȃ csh ł sh łg܂ :) )

  telnet ̎ނɂẮAIɃ[gzXg DISPLAY ϐ]
  ̂悤łB telnet gpȂAfBXvC̎w
  蓮ōsȂȂĂ悢̂ŁAK^ł傤B telnet ̖wǂ TERM 
  ϐ]ނȂ̂ŌȂATERM ϐ DISPLAY ϐ
  eđp邱ƂłB

  p̂Ɠl̍lŁÂ悤Ȑs̃XNvgŎł܂B

       telnet OɁATERM  DISPLAY ̒lBtelnet B
       [gRs[^̓K؂ .*shrc t@CŁATERM 
       DISPLAY ̒lǂށB

  6.  T[oɎw肷

  T[o͂ǂ̐ڑł󂯕t킯ł͂܂BȂ̃XN
  [ɂׂĂ̐lEBhE\łȂāAȂłˁB
  Ȃ̓͂ǂ܂ꂽȂł傤\\L[{[h̓fBXvC̈ꕔ
  łƂƂYȂŉB

  fBXvCւ̃ANZXAZLeBXŇɂȂ邱Ƃ
  Ăl͂قƂǂ܂BȂ̃fBXvCɃANZXłl
  ́AXN[ǂݏłAȂ̃L[Xg[NǂނƂ}EX
  ̓ǂނƂł܂B

  قƂǂ̃T[o͐ڑ̔Fؕ@Q܂\\host Xg@\
  (xhost) ƃ}WbNNbL[@\ (xauth) łB܂ ssh(secure shell) 
  X ڑ]邱Ƃł܂B

  6.1.  xhost

  xhost  host ɂƂÂăANZX܂BT[óAڑ
   host ̃XgǗ܂Bhost ̃`FbNSɖɂ邱Ƃ
  ł܂BӂĂ\\ɂƃ`FbNȂȂ̂őS
   host ڑł܂I

  xhost vOpƃT[o host Xg𐧌ł܂BOq̗
  ł̋@\gɂ

       light$ xhost +dark.matt.er

  Ƃ܂B

  ̓zXg dark.matt.er ̐ڑׂċ܂BX NCAg
  ڑEBhE\ꂽAɈŜߐڑ
  Bɂ

       light$ xhost -dark.matt.er

  Ƃ܂B

  host ̃`FbN𖳌ɂɂ

       light$ xhost +

  Ƃ܂B

   host ̃ANZX`FbN𖳌ɂĂ̂ŁAׂĂ̐lɐڑ
  Ă܂BMpłȂ[U[lbg[N (Ⴆ΃C^[
  lbg) ł͌ăANZX`FbN𖳌ɂȂłBhost 
  `FbNēxLɂɂ

       light$ xhost -

  łł܂B

  "xhost -" ́AANZXXgS̃zXg폜킯ł͂܂
   (ȂAs֋ɂ܂܂\\ǂA[JzXg
  ڑłȂȂ܂)B

  xhost ͂ƂĂȂ@\łBxhost ̓[gzXg̃[U
  ʂł܂񂵁A host  (ۂɂ̓AhX) U邱Ƃł܂B
  MpłȂ[Ulbg[N (Ⴆ΃C^[lbgɃ_CA
  Abv PPP ANZX) ɂȂA͗ǂȂƂłB

  (󒍁FAhXU闝RBxhost ɂ X T[oێ郊Xg
  lo^Ă܂Bhost gēo^ꍇł gethostbyname
  ֐ɂ肻 IP AhXlƂȂ܂Bł̂ŁASoCg̐l
  Ȃ܂B X T[oANZX`FbN鎞Ɏgp̂́AX NC
  Ago IP pPbg̃\[X IP AhXgp̂ł͂
  Bf[^ X NCAg悹Cӂ̐lłBX NCAg
  ̃vO̍ɂ艽ł悹邱Ƃł܂B҂ȑOgp
  Ƃ̂郁[J[NXe[V́Ahostid ̒l悹Ă܂
  Bhostid ̊l inittab ̒ŁAvC} IP AhX`
  Ă邾łB̏ꍇ́ANbLOvOƂAs
  XNvgŁAuh[UA^bNs܂B)

  6.2.  xauth

  xauth ͐@mĂlɃANZX܂B̂悤ȋ@
  F؃R[h邢̓}WbNNbL[ƌĂ΂܂B̔F؃XL[̐
  Ȍď̂ MIT-MAGIC-COOKIE-1 łB

  قȂfBXvCɑ΂邻ꂼNbL[́A~/.Xauthority ɂ܂Ƃ߂
  i[܂B~/.Xauthority ̓O[v[Uё[Uɂ̓ANZX
  łȂ悤ɂȂ΂Ȃ܂ (󒍁Fchown 600 .Xauthority Ƃ
  ܂)Bxauth vO͂̃NbL[Ǘ܂B̂ɂ
  ̃XL[̃jbNl[ xauth Ƃ܂B

  ZbVn߂ہAT[o -auth ̈Ŏw肵t@CNb
  L[ǂ݂܂B̌T[o͓NbL[mNCAg̐ڑ̂
  ܂Bڑmꂽ ~/.Xauthority ̃NbL[ύXĂ
  T[o͂̕ύXo܂B

  ŋ߂̃T[o͏ƉNCAgp̃NbL[ɍ邱Ƃł
  BANbL[̓T[oɕۑꂽ܂܂ł\\NCAg
  ~/.Xauthority ɃNbL[ǉȂ ~/.Xauthority ɂ͓܂
  BDavid Wigginsɂ

       Ȃ悤ȖĂ X11R6.3 Œǉ܂BV
       ZLeBgʂāAX T[o͂ɐVNbL[
       ĕԂƂł܂BɃNbL[uMpȂv
       Ɏwł̂ŁÂ悤ȃNbL[ŐڑsAvP
       [V͎̂悤ɑ𐧌܂BႦΑ̐Mpł
       NCAg̃L[{[h/}EX̓͂EBhEɕ\
       Ăe𓐂߂ȂȂ܂BȒPłȂɂĂAȂƂ
       ̋@\gƂłVTuR}h "generate" 
       xauth ɂ܂B

  xauth  xhost ɔׂăZLeBɗDĂ܂B܂̃Rs
  [^̓̃[UɃANZX𐧌邱Ƃł܂Bxhost ̂悤
  ɋUAhX̐ڑ͂ł܂BKvȂ xauth ̌Őڑ
  ߂ xhost gƂł܂B

  6.2.1.  NbL[

  xauth ĝȂA-auth authfile tāAX T[oN
  Ȃ΂Ȃ܂ (󒍁Fauthfile ͔F؃t@Cw PATH)B startx
  XNvgĝȂAxinit ̉EɋLq܂Bȉ̂悤ɂ
  startx XNvg̒ŔF؃R[h쐬܂B

  /usr/X11R6/bin/startẍpF

       mcookie|sed -e 's/^/add :0 . /'|xauth -q
       xinit -- -auth "$HOME/.Xauthority"

  mcookie  util-linux pbP[Wɂ鏬ȃvOŁA
  ftp://ftp.math.uio.no/pub/linux/ ł܂B邢́A md5sum
  pĖ׃f[^ (Ⴆ /dev/urandom  ps -axl) NbL[`
  ϊ (massage) 邱Ƃł܂B

       dd if=/dev/urandom count=1|md5sum|sed -e 's/^/add :0 . /'|xauth -q
       xinit -- -auth "$HOME/.Xauthority"

  root ɂȂꂸ startx XNvgҏWłȂ̂ȂAVXeǗ҂
  statx XNvgK؂ɐݒ肵Ă炤A邢 xdm ݒ肵Ă
  ĂBǗ҂łȂ͂ȂȂA ~/.xserverrc XN
  vgŎł܂B̃XNvgƁA xinit ͎ۂ X T[o
  ̑ɂ̃t@Cs܂BāÃXNvg
   X T[oK؂ȈŋNł܂Bɂ́A ~/.xserverrc 
  L̃}WbNNbL[̍săNbL[点A X T[o
  Ns܂B

       #!/bin/sh
       mcookie|sed -e 's/^/add :0 . /'|xauth -q
       exec /usr/X11R6/bin/X "$@" -auth "$HOME/.Xauthority"

  X ZbV̊Ǘ xdm gȂAxauth ȒPɎgpł܂B
  /etc/X11/xdm/xdm-config ̒ DisplayManager.authDir \[X`
  ĂBxdm  X T[oN鎞 -auth n悤ɂȂ
  Bxdm ̂ƂŃOCAxdm  ~/.Xauthority ɃNbL[u
  ܂Bڂ xdm(1)  man y[WQƂĉBႦΒ҂
  /etc/X11/xdm/xdm-config ł͈ȉ̍sĂ܂B

       DisplayManager.authDir: /var/lib/xdm

  6.2.2.  NbL[̓]

  T[ozXg light.uni.verse  X ZbVJnA ~/.Xauthority
  ̒ɃNbL[܂B̓NCAgzXg dark.matt.er փNb
  L[]Kv܂Bɂ́A̕@܂B

  6.2.2.1.  z[fBNg̋L

  light  dark ̂Ȃ̃z[fBNgLĂΈԊȒP
  łB ~/.Xauthority t@C͓Ȃ̂ŁAɃNbL[͓]
  ܂BƂ܂\\~/.Xauthority  :0 ̂߂̃Nb
  L[uAdark  light ̂߂̃NbL[ƍlɎĝ߂
  NbL[ƍl܂BNbL[鎞AIȃzXggׂł
  \\ȗ邱Ƃ͂ł܂B̂悤ȁAƂ sed ̋Z
  g΁A:0  light:0 ̗̂߂ɓNbL[uƂł
  B

       #!/bin/sh
       mcookie|sed -e 's/^/add :0 . /' -e p -e "s/:/$HOST&/"|xauth -q
       exec /usr/X11R6/bin/X "$@" -auth "$HOME/.Xauthority"

  6.2.2.2.  [gVF rsh  g

  z[fBNgLĂȂ̂ȂA[gVF rsh ɂ
  @ŃNbL[]ł܂B

       light$ xauth nlist "${HOST}:0" | rsh dark.matt.er xauth nmerge -

  Ƃ܂B

  1. [J ~/.Xauthority NbL[𒊏o (xauth nlist :0)B

  2. dark.matt.er ɓ] (| rsh dark.matt.er)B

  3. ] ~/.Xauthority ɒu (xauth nmerge -)B

  s܂B

  ${HOST} ̎gɒӂĂB[JzXgƖIɊ֘AÂ
  ꂽNbL[]Kv܂B[g X AvP[V
  fBXvC̒l :0 [g}V̂̂Ɖ߂܂B͂肽
  ƂƂ͈Ⴄł傤H

  6.2.2.3.  Telnet g蓮ōs

  rsh 삵ȂƂ܂B܂ rsh ̓ZLeB̌_
  ܂ (҂̋LȂA host U܂)B rsh g
  gȂȂȉ̂悤Ɏ蓮ŃNbL[]ł܂B

  light$ echo $DISPLAY
  :0
  light$ xauth list $DISPLAY
  light/unix:0 MIT-MAGIC-COOKIE-1 076aaecfd370fd2af6bb9f5550b26926
  light$ rlogin dark.matt.er
  Password:
  dark% setenv DISPLAY light.uni.verse:0
  dark% xauth
  Using authority file /home/zweije/.Xauthority
  xauth> add light.uni.verse:0 . 076aaecfd370fd2af6bb9f5550b26926
  xauth> exit
  Writing authority file /home/zweije/.Xauthority
  dark% xfig &
  [15332]
  dark% logout
  light$

  ڂ rsh(1)Axauth(1x) QƂĉB

  6.2.2.4.  Telnet Ŏɍs@

  [gzXg telnet 鎞ɁATERM  DISPLAY ϐɃNbL[
  đp邱Ƃł܂B TERM ϐ DISPLAY ϐp
  ̂Ɠ@Ŏsłł傤BZNV 5 ́u``NCAg
  Ɏw肷''vQƂĂBɂĂ͈٘_̂
  ł傤B̕@Ŗ{ɂ܂̂ǂA邢͑ʖڂȂ
  AƂ_m肽̂ŁAۂɌ؂łlΌʂ𒘎҂
  őĂKłB

  (󒍁FNbL[͌Xlbg[N߂łBAX ̓}`vbg
  tH[Ȃ̂ŁA[ȃeXgKvłƂƂƎv
  B)

  łӁA UNIX ł́Aʂ̃[Ułϐ邱Ƃł
  Ƃ܂BȏꍇA $TERM ̒ɓꂽNbL[𑼐lɌ
  悤ɂ邷ׂ͂܂B

  6.2.3.  NbL[g

  dark.matt.er  (Oq xfig ̂悤) X AvP[V́AF؂
  gNbL[I ~/.Xauthority ǂ݂܂B

  localhost:D ǵAƂ肪܂BX NCAgAv
  P[V́ANbL[̖ړÎ߂ localhost:D  host/unix:D
  Ɖ߂܂Bۂɂ́A~/.Xauthority  localhost:D ̃NbL[u
  @͌ʂ܂B

  lĂ݂΁APɘ_ɏ]Ăɉ߂ȂƂ킩ł傤B
  localhost ̉߂́A߂}VɊSɍE܂BNFS Ȃ
  Ńz[fBNgLƁÃzXgŊeX̑̃NbL[
  SĊāAЂǂԂɊׂ邱ƂɂȂł傤B

  6.3.  SSH

  F؃R[h͈ÍꂸɃlbg[NoRđM܂BN
  ڑ̂SzȂAssh(secure shell) gĂB
  ÍꂽڑoR X ]܂Bɂ܂Aقɂ΂
  Ƃ܂B̓VXe̍\PłBssh z[y[W
  http://www.ssh.org/ ĂB
  NF؃XL[Í X ڑɂđɉmĂ܂񂩁H
  kerberosȁH

     󒍁F
        KerberosɂāA 邢A{񂩂̃Rg
        Ƃ߂܂F

        PxX̓MV_bɏoĂ閻E̎xz҃nfX̎łR
        ̓E̖ԌłB"Kerberos"  MIT 
        "Athena" v̈тƂČJ܂BRFC 1510  1993 N
        ɔsĂ܂B

        Kerberos ͐MłȂlbg[NňSȔF؁EʐMs
        ɁAMłO҂gVXełB̈Í Ώ̌
        DESg܂BDESȂ̂ł܂苭͂܂BA`Pb
        gƂdgŔF؂ŝŉ^pȒPŁASȔF؂ƒʐMł
        ܂BzzZ^[KwāAK͂ȃVXeɂΉ邱
        Ƃł悤łB

        ӂ̕@ƁANCAgT[o𗘗pƂ͑肪{
        ɖ{ł邩݂ɕ܂BŁA݂MĂ
        O҂ɐgۏ؂Ă炦΂悢ƂlɊÂĂ܂B̑
        O҂zzZ^[Ƃ̂ŁǍzzZ^[ɃT[o
        p邽߂̃`Pbg𔭍sĂ炢܂Bł`Pbg𔭍s
        Ă炦킯͂ȂNCAgƃT[ǒo^ĂKv
        ܂BzzZ^[ɔsĂ`PbǵANCA
        g(sĂ炤) ̌ňÍĂ̂ŁA𕜍
        ƂƂ́ANCAg͊mɖ{lł邱Ƃ킩
        ({lȂ΃`Pbg肾Ȃ̂ŁAT[o𗘗p
        Ƃ͂ł܂)B

        `Pbg͕ɓĂāÃ`Pbg̓T[ǒň
        Ă܂BŁuT[o`Pbg𕜍ł = T[
        omɖ{lłvƂƂɂȂ܂(ɃZb
        VĂāAȍ~̒ʐMł̃ZbVĝ
        ߁A{lȊO͑sł܂)B

        ̌_́A`Pbg̍ėpłĂ܂ƂłBU҂̓`
        Pbg̓e܂񂪁AĂ`PbgEĂ̂܂܂
        T[oɑΖ{l̂ӂł܂B̂߂ɁA^CX^
        vÍĈꏏɑ܂BÂ^CX^vt̃`Pbg
        ͎g܂BɁAT[o̓^CX^vL^Ă̂ŁA
        ܂X^v`Pbg͖łB

        VXeŜł̌_́AzzZ^[݂邱ƂłB
        Ăo^Ă̂ŁAjƈSȂɂ܂B

        XFree86 ̃}jA̖|({) JF ɂ܂B X ̔F
        ֌W̎QlɂĂB܂Ał OPEN DESIGN No.14 CQ o
        Ŏ ISBN4-7898-1806-3 C3055 \1748ÉuWWŐV̈Íɂ
        ZLeB̎vQlɂȂ܂B

        |C^F

        FreeBSDnhubÑy[
        WFhttp://www.freebsd.org/ja_JP.EUC/handbook/handbook64.html#66

        http://www.releenet.co.jp/bsd/handbook/handbook60.html

        Jun Kuwamurãy[WFhttp://stealth.rccm.co.jp/~juk/krb/

  7.  ʂ̃[U ID  X AvP[V

  root ̕KvȁAOtBJȐݒc[sƂ܂傤B
  A X ZbV͕ʂ̃AJEgŎsĂ܂Bn߂͊
  v܂񂪁AX T[o̓c[fBXvCɃANZX邱
  ܂B root ŕʂɉɁAǂΉ\łH
  Ăǂ΂̖ł܂H

  [U ID clientuser  X AvP[VN X ZbV
   serveruser ŋNĂƂAʓIȏ󋵂ɂ܂傤BNbL
  [̃ZNVǂł΁AȂ clientuser fBXvCɃANZX
  łȂ̂͂łB

       ~clientuser/.Xauthority ̓fBXvCɃANZX邽߂̐
       }WbNNbL[܂ł܂BNbL[
       ~serveruser/.Xauthority ɂ܂B

  7.1.  zXg̈قȂ郆[U

  A[g X œ삷̂́AقȂ郆[U ID  X ł
  ɓ삵܂ ([Iɂ slogin localhost -l clientuser)BNCAg
  zXgƃT[ozXg܂ܓƂłBÃzX
  gA}WbNNbL[̓]ɂ͋ߓ܂B

  [U ID ̐؂ւ su gƉ肵܂B{IɁAsȂ΂
  ȂƂ́Asu ĂԃXNvgA su ̍sR}hA
  [g X ɕKvȏsK؂ȃR[hŃbv邱ƂłBKv
  Ƃ DISPLAY ϐ̐ݒƃ}WbNNbL[̓]łB

  DISPLAY ̐ݒ͔rIȒPł\\su R}hsOɁÄ
  Ƃ DISPLAY="$DISPLAY" `邾łBȉ̂悤ɂ܂B

       su - clientuser -c "env DISPLAY=$DISPLAY clientprogram &"

  ꂾł͓삵܂BɃNbL[̓]sKv܂B
  NbL[̎擾 xauth list "$DISPLAY" gΉ\łB̃R}h
  NbL[̃Xgɗp鏑́A܂ xauth add R}hɗ^
  ۂ̏ɍvĂ܂\\傤ǕKvƂĂ̂łB

  RpCvŃNbL[nƂłBcOȂAsu ͂̕W
  ͂pX[hǂƂ̂ŁAsu R}hɃpCvœnƂ͊
  Pł͂܂BłŝƂɂ́AVFXNvg̓
  ̓t@CLqq񂷂Ƃł܂̂ŁAꂪ\ɂȂ܂B

  clientuser  clientprogram p[^ėpXNvg
  ܂Bǂ݂₷͏]ɂĊ拭ɂȂ悤ɁAXNvgP
  傤Bȉ̂悤ɂȂ܂B

  #!/bin/sh

  if [ $# -lt 2 ]
  then echo "usage: `basename $0` clientuser command" >&2
       exit 2
  fi

  CLIENTUSER="$1"
  shift

  # FD 4 becomes stdin too
  exec 4>&0

  xauth list "$DISPLAY" | sed -e 's/^/add /' | {

      # FD 3 becomes xauth output
      # FD 0 becomes stdin again
      # FD 4 is closed
      exec 3>&0 0>&4 4>&-

      exec su - "$CLIENTUSER" -c \
           "xauth -q <&3
            exec env DISPLAY='$DISPLAY' "'"$SHELL"'" -c '$*' 3>&-"

  }

  قƂǂ̏󋵂ŁAڐAƓɏ\ƍl܂Bݒ҂l錇
  _́A'$*' gĂ邽߁A command ŃVONH[gp
  su R}ḧ ('$*') Ă܂ƂłBɂȂɂ[
  ȊԈႢA҂ email ĂB

  XNvg /usr/local/bin/xsu Ƃ

       xsu clientuser 'command &'

  Ƃł܂B

  pX[hgAȏセȒPɂ͂ł܂BA(sudo) 
  g@܂ˁBłł͈܂B

  7.2.  NCAg[U root

  RAroot ł͂ȂNCAg[U root œ삷邱Ƃlɂ
  ܂BAroot ׂ͂Ă̐l ~/.Xauthority t@CǂނƂ
  ł̂ŁAroot ̏ꍇ͂ȒPłBNbL[𑗂Kv܂
  B DISPLAY ϐݒ肵AXAUTHORITY  ~serveruser/.Xauthority
  悤ɐݒ肷邾łB܂:

       su - -c "exec env DISPLAY='$DISPLAY' \
                         XAUTHORITY='${XAUTHORITY-$HOME/.Xauthority}' \
                         command"

  XNvgɏƈȉ̂悤ɂȂł傤B

       #!/bin/sh
       if [ $# -lt 1 ]
       then echo "usage: `basename $0` command" >&2
            exit 2
       fi
       su - -c "exec env DISPLAY='$DISPLAY' \
                         XAUTHORITY='${XAUTHORITY-$HOME/.Xauthority}' \
                         "'"$SHELL"'" -c '$*'"

  XNvg /usr/local/bin/xroot Ƃ

       xroot 'control-panel &'

  Ƃł܂B

  łA xsu łɐݒ肵Ă΁Â悤ɂȂ΂ȂȂ
  R͂܂B

  8.  [gEBhE}l[W̎s

  EBhE}l[W (twmAwmaker  fvwm95 ̂悤) ͑̃AvP[
  VƓlɈ܂Bʂ̎菇œ܂B

  قƂǂ̏ꍇ܂܂Bōň̃EBhE}l[W
  fBXvCŎsł܂BłɃ[JEBhE}l[Ws
  Ă̂ȂA[gEBhE}l[WN邱Ƃ͂ł܂
   (͕sIł傤)BŏɃ[JEBhE}l[
  W kill(܂͒P quit) Ȃ΂Ȃ܂B

  cOȂA X ZbVXNvg͂̂PsŏI܂B

       exec window-manager-of-choice

  āA ([J)EBhE}l[WIɁAZb
  VI邱ƂӖ܂B X VXe (xdm  xinit) ɃZb
  VIƂ݂ȂƁAۂɂ̓OAEgĂ܂
  B

  ʂȂƂsȂ΂Ȃ܂񂪁As͉\łȂɓ
  ܂BȂ~ƂɁAZbVXNvg (ʂ
  ~/.xsession  ~/.xinitrc) Ƃ邾łB

  ̏ꍇAEBhE}l[W͐VvO̎s@񋟂
  AŎsvO̓[J}VŎs邱Ƃɒ
  ĂBŌ[JƂ̓EBhE}l[WNĂ
  }Vw܂B[gŃEBhE}l[Wsꍇ́A
  [g̃AvP[VN܂B͂Ȃ̊]Ƃ͈قȂ邩
  ܂BA[gŋNvÓAˑRƂĎ茳
  fBXvCɕ\s܂B

  9.  guV[eBO

  ߂ă[g X AvP[Vs悤ƂĂA͂̂܂
  ł͓삵܂BȉQ`R̃G[bZ[WAA@
  B

       xterm Xt error: Can't open display:

  DISPLAY ϐȂA܂AvP[V -display tOw肵
  Ă܂BAvP[V͋̕z肵܂A\㖳
  B̉ɂ́ADISPLAY ϐ𐳂ݒ肵Ă܂ (VF
   setenv  export ̂ǂ炩g܂)B

       _X11TransSocketINETConnect: Can't connect: errno = 101
       xterm Xt error: Can't open display: love.dial.xs4all.nl:0

  G[ 101  "Network is unreachable" łBAvP[V̓T[o
  Ƀlbg[Nڑł܂BDISPLAY ̐ݒ肪ǂƁAT[o
  }VɃNCAg瓞Bł邩ǂ (T[oɃOCAN
  CAg telnet Ă݂Ȃ) mFĂB

       _X11TransSocketINETConnect: Can't connect: errno = 111
       xterm Xt error: Can't open display: love.dial.xs4all.nl:0

  G[ 111  "Connection refused" łBڑ悤ƂĂT[o}
  Vɂ͓B܂Aw肵T[o܂BzXgƃfBXv
  Cԍ𐳂gĂ邩mFĂB

       Xlib: connection to ":0.0" refused by server
       Xlib: Client is not authorized to connect to Server
       xterm Xt error: Can't open display: love.dial.xs4all.nl:0.0

  NCAg̓T[oɐڑ܂AT[o (F؂ĂȂ)
  NCAgfBXvCgƂ܂B}WbNNbL
  [NCAgɓ]Å؂ĂȂ (VZbV
  Jn鎞AT[o͐VNbL[g܂) mFĂB

  10.  {ɂ

  { Linux Japanese FAQ Project s܂B|Ɋւ邲ӌ
   JF vWFNg <JF@linux.or.jp> ɘAĂB

  ȉɎ܂B

     v0.3.1
        |: Tetsu Isaji <isaji@mxu.mesh.ne.jp>

        KerberosɂāF
         邢 <rui@ic.netlaputa.ne.jp>A
        { K <kokamoto@ad.vc-net.ne.jp>A
        Jun Kuwamura <juk@rccm.co.jp>

     v0.6.3
        |: {_ <hng@ps.ksky.ne.jp>

        ZF
         PÂ <fujiwara@linux.or.jp>A
         T <daisuke@terra.dti.ne.jp>A
          <takavoid@palette.plala.or.jp>A
        Toshimi Horie  <je2uff@mxa.mesh.ne.jp>A
         L <takei@webmasters.gr.jp>A
        J G <jeanne@mbox.kyoto-inet.or.jp>A
         Y <nakano@apm.seikei.ac.jp>A
        X{ ~ <morimoto@xantia.citroen.org>A
        Hiro YAMAZAKI  <hiro@linux.or.jp>A
        Tsutomu Kawashima  <kawawa@mail.interq.or.jp>A
        㓡 됰 <magotou@fubyshare.gr.jp>A
         r <kgh12351@nifty.ne.jp>A
        { K <kokamoto@ad.vc-net.ne.jp>

