Terminal: ๊ธฐ์กด ํƒญ๊ณผ ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ƒˆ ํ„ฐ๋ฏธ๋„ ํƒญ ์—ด๊ธฐ(OSC 7?)

์— ๋งŒ๋“  2019๋…„ 10์›” 11์ผ  ยท  39์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: microsoft/terminal

์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ/๊ฐœ์„  ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์„ค๋ช…

์ƒˆ ํƒญ์„ ์—ด๊ธฐ ์œ„ํ•ด ๋‹จ์ถ•ํ‚ค๋ฅผ ๋ˆ„๋ฅธ ์ฐฝ์˜ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ƒˆ ํ„ฐ๋ฏธ๋„ ํƒญ์„ ์—ฌ๋Š” ์˜ต์…˜(๋˜๋Š” ๊ธฐ๋ณธ๊ฐ’)์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋Œ€๋ถ€๋ถ„์˜ Linux ํ„ฐ๋ฏธ๋„์ด ์ž‘๋™ํ•˜๋Š” ํ‘œ์ค€ ๋ฐฉ์‹์ด๋ฉฐ ๊ฐ€์žฅ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ข…์ข… ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐœ๋ณ„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์ž‘ํ•ด์•ผ ํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ž‘์—…ํ•˜๋Š”๋ฐ ๋งค๋ฒˆ ๋””๋ ‰ํ† ๋ฆฌ์— CD๋ฅผ ๋‹ค์‹œ ๋„ฃ์–ด์•ผ ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ œ์•ˆ๋œ ๊ธฐ์ˆ  ๊ตฌํ˜„ ์„ธ๋ถ€ ์ •๋ณด(์„ ํƒ ์‚ฌํ•ญ)

์ƒˆ ํƒญ ๋‹จ์ถ•ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ƒˆ ํ„ฐ๋ฏธ๋„์ด ์ด์ „๊ณผ ๋™์ผํ•œ ํด๋”์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Area-Settings Area-VT In-PR Issue-Feature Product-Conpty Product-Powershell Product-Terminal

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด๊ฒƒ์€ ์ค‘์š”ํ•œ ๋ˆ„๋ฝ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  39 ๋Œ“๊ธ€

ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•œ ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์˜ ๋ฏฟ์Œ์„ ์„ค์ •ํ•˜๋Š” "ํ‘œ์ค€" ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค(OSC 7 ; URI ST)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ macOS Terminal.app์—์„œ ์‹œ์ž‘๋˜์—ˆ์œผ๋ฉฐ ๋‚˜์ค‘์— GNOME Terminal๊ณผ ๋‚ด๊ฐ€ ์•„๋Š” ํ•œ Konsole์„ ํฌํ•จํ•œ ๋‹ค๋ฅธ ๊ฒƒ๋“ค์— ์˜ํ•ด ์ฑ„ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ๊ฐ€๋Šฅํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์€ ์ผ๋ถ€ OS๋ณ„ ํ•ดํ‚น์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ํ•˜์œ„ ํ”„๋กœ์„ธ์Šค์˜ ๋‚ด๋ถ€ ์ƒํƒœ(๋˜๋Š” ๋” ๋‚˜์•„๊ฐ€ ํ•˜์œ„ ํ”„๋กœ์„ธ์Šค๊นŒ์ง€)๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ๊ฐ€๋Šฅ์„ฑ์€ ๋‘ ๊ฐ€์ง€๋ฅผ ํ˜ผํ•ฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด OSC 7์„ ํ†ตํ•ด ์„ค์ •๋œ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ํŒŒํ—ค์นฉ๋‹ˆ๋‹ค.

OSC 7 ์ ‘๊ทผ ๋ฐฉ์‹์˜ ์žฅ์ ์€ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋”ฐ๋ผ์•ผ ํ•˜๋Š” ์‹œ์ ๊ณผ ํ•˜์ง€ ๋ง์•„์•ผ ํ•˜๋Š” ์‹œ์ ์— ๊ด€ํ•ด ์˜๋ฆฌํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค๋ฅธ ์ค‘์ฒฉ ์„œ๋ธŒ์‰˜์„ ์‹œ์ž‘ํ•˜๋ฉด ํ•ด๋‹น ์„œ๋ธŒ์‰˜๋„ ์ด ์‹œํ€€์Šค๋ฅผ ๋ฐฉ์ถœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ์„œ๋ธŒ์‰˜์˜ ์„œ๋ธŒ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚ด๋ถ€์ ์œผ๋กœ ๋””๋ ‰ํ† ๋ฆฌ(์˜ˆ: make)๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์•ฑ์„ ์‹คํ–‰ํ•˜๋ฉด ์šด ์ข‹๊ฒŒ๋„ ์‚ฌ์šฉ๋˜๋Š” make์˜ ๋‚ด๋ถ€ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

OSC 7์˜ ๋‹จ์ ์€ ์…ธ์ด๋‚˜ ์ค‘์š”ํ•œ ๋‹ค๋ฅธ ์•ฑ์˜ ํ˜‘๋ ฅ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ €๋Š” ์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ์˜คํ”ˆ ์†Œ์Šค์ธ ๋™์•ˆ ์ด ๊ธฐ๋Šฅ ์š”์ฒญ์„ ๊ฑฐ๋ถ€ํ•ด ์™”์œผ๋ฉฐ OSC 7์— ๋Œ€ํ•ด ๋ฐฐ์šด ์ ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ _๋งค์šฐ ํฅ๋ฏธ์ง„์ง„ํ•ฉ๋‹ˆ๋‹ค._

์ตœํ•˜์œ„ ํ”„๋กœ์„ธ์Šค์˜ CWD๋ฅผ ํŒŒํ—ค์น˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์„ธ์Šค ํŠธ๋ฆฌ๋ฅผ ํฌ๋กค๋งํ•˜๋Š” ๊ฒƒ์€ ์ข‹์ง€ ์•Š์ง€๋งŒ OSC 7์„ ์ง€์›ํ•˜๊ฒŒ ๋˜์–ด ๋งค์šฐ ๊ธฐ์ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ ์ €๋Š” Alacritty์— ๋Œ€ํ•œ OSC 7 ์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด ๋ฌผ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ์ด ๋ฌธ์ œ๋Š” gitlab์˜ "ํ„ฐ๋ฏธ๋„ WG"์—์„œ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค: https://gitlab.freedesktop.org/terminal-wg/specifications/issues/20

ํ•ด๋‹น ํ‹ฐ์ผ“์—๋Š” ๋งŽ์€ ์›€์ง์ž„์ด ์—†์ง€๋งŒ ๊ด€์‹ฌ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ OSC 7์˜ "๊ณต์‹" ์‚ฌ์–‘์ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€์— ๋Œ€ํ•œ ์˜๊ฒฌ์ด ์žˆ๋Š” ๊ฒฝ์šฐ.

๋”ฐ๋ผ์„œ ๊ธฐ๋ก์„ ์œ„ํ•ด https://github.com/jwilm/alacritty/pull/2937 ์˜ ์Šค๋ ˆ๋“œ์— ๊ฝค ํ›Œ๋ฅญํ•œ ํ† ๋ก ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์†”์งํžˆ ๋งํ•˜๋ฉด ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ์‚ฌ์‹ค์ƒ์˜ ํ‘œ์ค€์ธ OSC 7 ; <URI> ST ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ์ด๋ณด๋‹ค ๋” ํ˜•์‹์ ์ธ ๊ฒƒ์ด ํ•„์š”ํ•œ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.


์•„๋‹ˆ ๋ฌด์„œ์šด ์ƒ๊ฐ์ด ๋“ค์—ˆ์–ด. bash ๊ฐ€ ์ด๋ฅผ ๋‚ด๋ณด๋‚ด๋„๋ก ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ณ  ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ WSL์—์„œ bash ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ /home/zadjii ๋กœ ์„ค์ •ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ์šฐ๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ:

  1. ์ด๊ฒƒ์ด Windows ๊ฒฝ๋กœ๊ฐ€ ์•„๋‹Œ WSL ๊ฒฝ๋กœ์ž„์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.
  2. ์ด๊ฒƒ์ด ์–ด๋–ค WSL ๋ฐฐํฌํŒ์—์„œ ์™”๋Š”์ง€ ์•„์‹ญ๋‹ˆ๊นŒ?

"์ด๊ฒƒ์€ Windows exe๊ฐ€ ์•„๋‹ˆ๋ผ WSL ๋ฐฐํฌํŒ์ž…๋‹ˆ๋‹ค"๋ผ๋Š” ์†์„ฑ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ์ด๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๋Š” ์–ด๋–ป๊ฒŒ ๋ฉ๋‹ˆ๊นŒ? ๋ณต์ œ ํƒญ ๊ธฐ๋Šฅ์ด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๊นŒ(ํšจ๊ณผ์ ์œผ๋กœ ์ž๋™์œผ๋กœ)?

๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ ๋ถ€๋ถ„์ด ์–ด๋ ค์›Œ์ง‘๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์ด SSH๋ฅผ ํ†ตํ•ด ์ถœ๋ ฅ๋˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ฉ๋‹ˆ๊นŒ? ํ„ฐ๋ฏธ๋„์€ ๋” ์ด์ƒ ์ด ๋จธ์‹ ์— ๊ฒฝ๋กœ๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์—†๊ฒ ์ฃ ? Terminal.app์€ ์ด๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๊นŒ?

์•„๋งˆ๋„ ์ด๊ฒƒ์€ ๋” ๋งŽ์€ ์‚ฌ์–‘์ด ํ•„์š”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค ๐Ÿ˜จ

(๋„๊ธฐ: D Howett๊ณผ D Hewitt ๋‘ ์‚ฌ๋žŒ์„ ์„ž์„ ๋•Œ๊นŒ์ง€ ์–ผ๋งˆ๋‚˜ ๊ฑธ๋ฆฝ๋‹ˆ๊นŒ? :))

์ด๊ฒƒ์€ ์ค‘์š”ํ•œ ๋ˆ„๋ฝ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‹ค๋ฅธ ๋ช…๋ น์— ๋Œ€ํ•œ ๊ตฌ์„ฑ ์˜ต์…˜์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด duplicateTab ๋ฐ splitPane ์— ๋Œ€ํ•ด์„œ๋Š” ์ด๊ฒƒ์„ ์›ํ•˜์ง€๋งŒ newTab ์—๋Š” ์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค๋Š” ์ด ์ฃผ์„ alacritty/alacritty#2937(comment)์— ํ‘œ์‹œ๋œ ๋Œ€๋กœ mac os terminal.app ๊ธฐ๋ณธ ์„ค์ •์— ๋ฌธ์„œํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

macOS์—์„œ ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค๋Š” ์‹ค์ œ๋กœ Terminal.app > Preferences... > Profiles > Tab์—์„œ ์ง€์ •๋ฉ๋‹ˆ๋‹ค.69387948-67d69d00-0c95-11ea-881d-375672873fb4

๊ธฐ๋ก์„ ์œ„ํ•ด https://gitlab.freedesktop.org/terminal-wg/specifications/merge_requests/7 ์—์„œ ์ •ํ™•ํžˆ ์ด ๊ธฐ๋Šฅ์˜ ์‚ฌ์–‘์— ๋Œ€ํ•œ ์—ด๋ค ํ† ๋ก ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์Šน์ธ๋œ ์ œ์•ˆ์ด ์žˆ์„ ๋•Œ๊นŒ์ง€ ์ด ๊ธฐ๋Šฅ์˜ ํ•˜์œ„ ์ง‘ํ•ฉ์„ ์ง€์›ํ•  ๊ฒƒ์ธ์ง€ ์˜์‹ฌ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ํ‘œ์ค€์ด ์žˆ์„ ๋•Œ๊นŒ์ง€ ๋‹ค๋ฅธ ๋ณ„๋„์˜ ๊ตฌํ˜„์„ ๋„์ž…ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋ฐ˜๋Œ€๋กœ ํ•˜์‹œ๋Š”๊ฑธ ์ถ”์ฒœ๋“œ๋ ค์š”:)

๊ฝค ๋งŽ์€ ํ„ฐ๋ฏธ๋„์ด OSC 7์„ ์„ฑ๊ณต์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜์—ฌ ์„œ๋กœ ๋ณต์‚ฌํ•˜์—ฌ ํ–‰๋ณตํ•œ ์‚ฌ์šฉ์ž๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ˜„์žฌ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ๊ณต์‹์ ์ธ ์‚ฌ์–‘์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋กœ ๊ฐ€๋“ ์ฐฌ ์ดˆ์•ˆ์„ ์ž‘์„ฑํ•˜๊ณ  ์ „ํ˜€ ์ดํ•ดํ•  ์ˆ˜์—†๋Š” ๊ฒƒ์€ ๋‘ ํ˜•์ œ ์ค‘ ํ•œ ๋ช…๋งŒ ๋ฌธ์„œํ™”ํ•˜๋ ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. (์ฐธ๊ณ : ์ €๋Š” ๋ฉฐ์น  ์ „์— ํ•ด๋‹น ์Šค๋ ˆ๋“œ๋ฅผ ํŒ”๋กœ์šฐํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.)

Terminal-WG๋Š” ๊ณต์‹ ๊ธฐ๊ด€์ด ์•„๋‹ˆ๋ฉฐ ํ•ด๋‹น ๋ฌธ์„œ๋Š” "๊ณต์‹"์ด ์•„๋‹ˆ๋ฉฐ ๋ฒ•์ ์œผ๋กœ "ํ‘œ์ค€"์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ ์ ˆํ•œ ์ ˆ์ฐจ, ์ฑ…์ž„ ์žˆ๋Š” ์‚ฌ๋žŒ, ํˆฌํ‘œ๊ถŒ ๋“ฑ๋„ ์—†์Šต๋‹ˆ๋‹ค. ์ด ์ƒํƒœ๊ฐ€ ์˜๋ฏธํ•˜๋Š” ๋ฐ”๊ฐ€ ๋ฌด์—‡์ด๋“  ๊ฐ„์— ๋ฌธ์„œ๋ฅผ "์Šน์ธ"ํ•˜๋Š” ๋ฐ ๋ฌด์—‡์ด ํ•„์š”ํ•œ์ง€ ์•„๋ฌด๋„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค. ์œ ์šฉํ•œ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ƒ๊ฐํ•ด ๋‚ด๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๋Š” ๋ฌด์ž‘์œ„๋กœ ์กฐ์ง๋˜์ง€ ์•Š์€ ์‚ฌ๋žŒ๋“ค์˜ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋น„๊ณต์‹์ ์ธ ๋ณด๋ฅ˜ ์ค‘์ธ ํ† ๋ก ์œผ๋กœ ์ธํ•ด ์˜ค๋žซ๋™์•ˆ ์ž…์ฆ๋œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

๊ธฐ๋ก์„ ์œ„ํ•ด https://gitlab.freedesktop.org/terminal-wg/specifications/merge_requests/7 ์—์„œ ์—ด๋ค ํ† ๋ก ์ด

๋‚˜๋Š” ๊ทธ ํ™๋ณด์—์„œ๋„ ์–ธ๊ธ‰๋œ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๊ทธ๊ฒƒ์„ ๋…ผํ‰ํ–ˆ๋‹ค ๐Ÿ˜‰

Bash(Windows์šฉ Git์—์„œ)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์€ ์ž„์‹œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ dir( cd ๋ช…๋ น์— ๋ณ„์นญ ์ง€์ •)์„ ๋ณ€๊ฒฝํ•  ๋•Œ๋งˆ๋‹ค ์ƒˆ ๊ฒฝ๋กœ๋ฅผ ์ €์žฅํ•œ ๋‹ค์Œ ์ƒˆ ์…ธ์ด ์‹œ์ž‘๋œ๋‹ค; ์ด๊ฒƒ์€ ๋‚ด _.bashrc:_์— ์žˆ์Šต๋‹ˆ๋‹ค.

if [ "${PWD,,}" = "/c/windows/system32" ]; then
    if [ -f /tmp/pwd ]; then
        cd "$(< /tmp/pwd)"
    else
        cd ~
    fi
fi

cd() {
    command cd "$@"
    pwd > /tmp/pwd
}

์‹ค์ œ๋กœ System32(๋‚ด ํ„ฐ๋ฏธ๋„ ๊ธฐ๋ณธ ์‹œ์ž‘ ์œ„์น˜)์—์„œ ์‹œ์ž‘ํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ Explorer ์ฃผ์†Œ ํ‘œ์‹œ์ค„์— wt ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๋‹ค๋ฅธ ๊ณณ์—์„œ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด ๋น„ํŠธ๋Š” ์„ ํƒ ์‚ฌํ•ญ์ด๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‰˜์€ ๋‹ค๋ฅธ ํด๋”์—์„œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

์ €๋Š” PowerShell์ด๋‚˜ ๋‹ค๋ฅธ ์…ธ์— ๋Œ€ํ•ด ์ถฉ๋ถ„ํžˆ ์œ ์ฐฝํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ๋น„์Šทํ•œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Ctrl+T๋Š” ๋™์ผํ•œ ์‰˜๊ณผ ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ƒˆ ํƒญ์„ ์—ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ์‚ฌ๋žŒ์ด ๊ทธ ์ฃผ์žฅ์— ๋™์˜ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

๋ชจ๋“  ์‚ฌ๋žŒ์ด ๊ทธ ์ฃผ์žฅ์— ๋™์˜ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

์•„๋งˆ๋„ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ํ„ฐ๋ฏธ๋„ ์•ฑ์ด ๋Œ€๋ถ€๋ถ„์˜ Linux ๋ฐ์Šคํฌํƒ‘์—์„œ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

์ ์–ด๋„ ์˜ต์…˜์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, ์ด ์Šค๋ ˆ๋“œ์—์„œ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ด๊ฒƒ์ด ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์ด๋ผ๋Š” ๋ฐ ๋™์˜ํ•˜๊ณ  Windows ํ„ฐ๋ฏธ๋„ ํŒ€๋„ ์ด ์‚ฌ์‹ค์„ ์•Œ๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ์ด๋ฏธ ๋ถ„๋ช…ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๋Š” ๊ทธ๋“ค์ด ์ด๊ฒƒ์„ ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋จผ์ € ๊ธฐ๋Šฅ์ด ๊ฐ€๋Šฅ ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ธฐ์ˆ ์ ์ธ ์š”์†Œ๋ฅผ ํŒŒ์•…ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด ๊ธฐ๋Šฅ๊ณผ ๊ด€๋ จ ํ† ๋ก ์— ๋Œ€ํ•œ ์ตœ์‹  ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ด ์Šค๋ ˆ๋“œ๋ฅผ ๋”ฐ๋ฅด์ง€๋งŒ ์ด์™€ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์–ด์ง€๋Ÿฝํž ๋ฟ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ์•Œ๋ ค์ง„ ์š”์ ์„ ๋˜ํ’€์ดํ•˜๋Š” ๊ฒƒ ์™ธ์—๋Š” ๋ณ„ ์˜๋ฏธ๊ฐ€ ์—†๋Š” ๊ธ€์€ ์ž์ œํ•ด์ฃผ์…จ์œผ๋ฉด ํ•ฉ๋‹ˆ๋‹ค.

์ ์–ด๋„ ์˜ต์…˜์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ๊ณ ์ง‘์— ๋Œ€ํ•ด ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํ„ฐ๋ฏธ๋„์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์— ๋ฐ˜๋Œ€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋ฉ‹์ง€๋‹ค. ๊ทธ๋ž˜๋„ ์„ ํƒ๊ถŒ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ๊ฑฐ๊ธฐ์— ๋…ผ๋ฆฌ๊ฐ€ ์–ด๋”” ์žˆ์Šต๋‹ˆ๊นŒ? ํƒญ ๋ณต์ œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” Ctrl+Shit+D๋„ ๊ธฐ๋ณธ ๋””๋ ‰ํ† ๋ฆฌ์— ๊ณ ์ •๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ๋กœ ํƒญ์„ ๋ณต์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ์ค‘๋ณต ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ.

์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋„๋ก ํ•˜๋Š” "๊ธฐ์ˆ ์  ์š”์†Œ"๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ฝ”๋“œ๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. Ctrl+Shift+D์— ์ด๋ฏธ ์ค‘๋ณต ํƒญ์ด โ€‹โ€‹์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜๋ฉฐ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ต์ˆ™ํ•˜๊ณ  ์‚ฌ๋žŒ๋“ค์ด ์š”์ฒญํ•˜๋Š” ๋™์ž‘์„ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์ด๊ฒƒ์ด "๊ธฐ์ˆ ์ ์ธ ๊ฒƒ๋“ค"์ด ๊ทธ๊ฒƒ์„ ์ฐจ๋‹จํ•˜๋Š” ๋ฐฉ๋ฒ•์— ํ˜ผ๋ž€ ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ํ† ๋ก ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋Š” ์™„๊ณ ํ•จ์ด ๊ด€๋ จ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ๋งค์šฐ ๋ถ„๋ช…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ํ† ๋ก ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์•„ ๋งž์Šต๋‹ˆ๋‹ค. ์›๋ž˜ ํ† ๋ก ์€ ์ด ์Šค๋ ˆ๋“œ์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์†์‹ค๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ์—ฌ๊ธฐ์— ๋‹ค๋ฅธ ๊ฒŒ์‹œ๋ฌผ(https://github.com/microsoft/terminal/issues/2427#issuecomment-521307534)์˜ ๋‚ด์šฉ์„ ๋ณต์‚ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


https://github.com/microsoft/terminal/issues/1756#issuecomment -520048598

๊ทธ๋ƒฅ ์ฐจ์ž„;

_ (ํ”„๋กœํ•„, ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋“ฑ)._

๋‹ค๋ฅธ ์ชฝ ๋์— ์žˆ๋Š” _์‹ค์ œ ํ”„๋กœ์„ธ์Šค_์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ฒƒ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ณต์ œ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋œ ํ”„๋กœ์„ธ์Šค๋Š” ssh.exe ์ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜์™€ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋Š” ํ„ฐ๋ฏธ๋„ ์ธก์—์„œ ๊ฐ์ง€ ๊ฐ€๋Šฅํ•œ ํ™˜๊ฒฝ ๋ฐ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ์™€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ด์ƒํ•˜๊ฒŒ๋„ ๋™์ผํ•œ ๊ฒƒ์ด WSL์—๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. "์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ"๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ๋“  ๊ด€์‹ฌ ์žˆ๋Š” Windows ํ”„๋กœ์„ธ์Šค์— ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ๋…ธ์ถœํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Powershell์€ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ _set_ํ•˜์ง€๋„ ์•Š์œผ๋ฏ€๋กœ ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋„ ๊ฐ์ง€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค(!).

https://github.com/microsoft/terminal/issues/2315#issuecomment -519317472

์ด๊ฒƒ์€ ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ์—๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋งŒ _๊ธฐ์ˆ ์ ์œผ๋กœ๋Š” ๊ฐ€๋Šฅํ•œ_ ๊ฒƒ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งŽ์€ ๋ณต์žก์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

powershell
cd d:\users

๊ธ€์Ž„, powershell์€ ์šฐ๋ฆฌ๊ฐ€ ์‹œ์ž‘ํ•œ ์ฒซ ๋ฒˆ์งธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. d:\users ๊ฒฝ๋กœ๋ฅผ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

(in powershell)
cd d:\users

powershell _์‹ค์ œ๋กœ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” d:\users ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค_ (!!)

"์‰˜"์ด ssh [email protected] (์—ฌ๊ธฐ์„œ ์‰˜์€ "์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ํ„ฐ๋ฏธ๋„์ด ์ƒ์„ฑ๋˜๋Š” ์ฒซ ๋ฒˆ์งธ ํ”„๋กœ์„ธ์Šค"๋กœ ์—„๊ฒฉํ•˜๊ฒŒ ์ •์˜๋จ) ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋Š” ๋ฌด์—‡์ด๋“  ์ƒ๊ด€์—†์ด ํ•ญ์ƒ C:\windows\system32 ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์›๊ฒฉ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค.

์„ค๋ช…์„œ ํŽ˜์ด์ง€๋ฅผ ์ฑ„์šธ ๋งŒํผ ๋งŽ์€ ์ฃผ์˜ ์‚ฌํ•ญ์ด ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. โ˜น๏ธ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.

https://github.com/microsoft/terminal/issues/1536#issuecomment -519107586

์•„๋‹ˆ์š”, ์ผ๋ฐ˜์ ์ธ ์˜๋ฏธ์—์„œ ๊ทธ๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒƒ์€ ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด vim ์ธ์Šคํ„ด์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณต์ œํ• ๊นŒ์š”? ํฌ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐฐํƒ€์  ์•ก์„ธ์Šค๋ฅผ ์œ„ํ•ด ์ผ์ข…์˜ ํŒŒ์ผ์„ ์—ด๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ์–ด๋–ป๊ฒŒ ๊ทธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณต์ œํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

์ด ์ž‘์—…์„ ์•ˆ์ „ํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ์ œ์•ˆ๋œ ๊ธฐ์ˆ  ์†”๋ฃจ์…˜์— ๋Œ€ํ•ด ๊ท€๋ฅผ ๊ธฐ์šธ์ด๊ณ  ์žˆ์ง€๋งŒ ๊ฐ€๋Šฅํ•œ ์ผ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์กฐ์‚ฌํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.


Powershell์ด โ€‹โ€‹์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ _did_ ์„ค์ •ํ–ˆ๋”๋ผ๋„ Windows์—์„œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ CWD๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด _๊ธฐ์ˆ ์ ์œผ๋กœ_ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์€ ์•„์ง ํ™•์‹ ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ž‘๋™์„ ๋ฐฉํ•ดํ•˜๋Š” "๊ธฐ์ˆ ์ "์ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ์„ค์ •์œผ๋กœ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ์ „ํžˆ ๋‹ต๋ณ€์ด ํ•„์š”ํ•œ ๊ธฐ์ˆ ์ ์ธ ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์Šค๋ ˆ๋“œ์—์„œ ๋…ผ์˜๋˜๊ณ  ์žˆ๋Š” ์†”๋ฃจ์…˜์€ ํ„ฐ๋ฏธ๋„์— ๋‹ค๋ฅธ VT ์‹œํ€€์Šค์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. _shell_์€ ํ„ฐ๋ฏธ๋„์ด ์–ด๋–ค ๊ฒฝ๋กœ์— ์žˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•ด ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด VT ์‹œํ€€์Šค๋Š” ๋งค์šฐ ์ž˜ ์ •์˜๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉฐ ์—ฌ์ „ํžˆ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š” ๊ทน๋‹จ์ ์ธ ๊ฒฝ์šฐ. ์ฆ‰:

  • WSL ์…ธ์ด "๋‚ด CWD๋Š” /home/foo ์ž…๋‹ˆ๊นŒ? ํ„ฐ๋ฏธ๋„์ด ๊ฒฝ๋กœ๊ฐ€ WSL ๊ฒฝ๋กœ์ธ์ง€ ๋˜๋Š” ๊ทธ๊ฒƒ์ด ์†ํ•œ ๋ฐฐํฌํŒ์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†์œผ๋ฏ€๋กœ ์ด ํƒญ์„ ๋ณต์ œํ•˜๋ฉด C:\home\foo (์žˆ๋Š” ๊ฒฝ์šฐ)
  • SSH๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์— ์—ฐ๊ฒฐํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ฉ๋‹ˆ๊นŒ? ํ„ฐ๋ฏธ๋„์€ ํ•ด๋‹น ๊ฒฝ๋กœ๋ฅผ ๋กœ์ปฌ ์‹œ์Šคํ…œ์˜ ๊ฒฝ๋กœ์™€ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋‹ค์‹œ ํ•ด๋‹น ๊ฒฝ๋กœ๋ฅผ ๋ณต์ œํ•˜๋Š” ๊ฒƒ์€ ์ž˜๋ชป๋œ ๋™์ž‘์ž…๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” ์ด ๋™์ž‘์— ํ˜‘๋ ฅํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์‰˜์— ๋Œ€ํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ _์ˆ˜๋™์œผ๋กœ_ ์‚ฌ์šฉ์ž ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ฐจ๋‹จ๊ธฐ๊ฐ€ ์•„๋‹ˆ์ง€๋งŒ ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„ค์ •์ด ์•„๋‹˜์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณต์ œํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๊นŒ? ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฆฌ๋ˆ…์Šค๋ฅผ ๋ณด์ž. ํ„ฐ๋ฏธ๋„์—์„œ SSH๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ƒˆ ํƒญ์„ ์—ฌ๋Š” ๊ฒฝ์šฐ ์ƒˆ ํƒญ์€ SSH ์—ฐ๊ฒฐ์„ ์—ด์ง€ ์•Š๊ณ  SSH ์—ฐ๊ฒฐ์— ์žˆ๋Š” ์œ„์น˜๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋‹น์‹ ์ด ๋‹น์‹ ์˜ ์ปดํ“จํ„ฐ์—์žˆ๋Š” ์ƒˆ ํƒญ์„ ์—ฝ๋‹ˆ ๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋กœ์ปฌ์ด๊ณ  SSH๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ์—๋„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ณต์ œ๋˜๋Š” ๊ฒƒ์€ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•„๋‹ˆ๋ผ ํƒญ๋ฟ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋„ˆ๋ฌด ๋ณต์žกํ•˜๊ฒŒ ๋“ค๋ฆฌ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. VIM, SSH ๋˜๋Š” ์‹คํ–‰ ์ค‘์ธ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณต์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์„ ๋ณต์ œํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด๊ฒƒ์ด ๊ทน๋‹จ์ ์ธ ๊ฒฝ์šฐ์— ๋‹ตํ•ฉ๋‹ˆ๋‹ค.

  • WSL์˜ ๊ฒฝ์šฐ ๋กœ์ปฌ์„ ํƒ์ƒ‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ˜ํ™˜์ด /home/foo์ด๋ฉด ์œ„์น˜์ž…๋‹ˆ๋‹ค. ์œ„์น˜๊ฐ€ C:\home\foo์ด๋ฉด /mnt/c/home/foo๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • SSH๋Š” ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค. ์‰˜์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณต์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ„ฐ๋ฏธ๋„์€ ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํƒญ์„ ๋ณต์ œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์—‡์„ ์‚ฌ์šฉ์ž ์ง€์ •ํ•ด์•ผ ํ•˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์–ธ์ œ๋ถ€ํ„ฐ ์‚ฌ์šฉ์ž ์ง€์ • ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๊นŒ?

ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณต์ œํ•˜๋Š” ๋ฐ ์•„๋ฌด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋ช‡๋ช‡ ์‚ฌ๋žŒ๋“ค์ด ๊ทธ๊ฒƒ์„ ์ข‹์•„ํ•  ๊ฒƒ์ด๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. ํƒญ์„ ๋ณต์ œํ•˜๋Š” ์˜ต์…˜ ์™ธ์— ๋‹ค๋ฅธ ์˜ต์…˜์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. ์žฅ์• ๋ฌผ์ด ๋˜์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์ถ”๊ฐ€ ๋ฐ ์„ ํƒ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.

@PandaClone _ ์–ด๋–ค ์‚ฌ๋žŒ๋“ค์€ ssh.exe๋ฅผ ์…ธ์—์„œ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ํ”„๋กœํ•„์ด ์‹คํ–‰๋˜๋Š” ์ฒซ ๋ฒˆ์งธ ํ•ญ๋ชฉ์œผ๋กœ ์„ค์ •ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ณ  ๋†€๋ผ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒƒ์ฒ˜๋Ÿผ ํ„ฐ๋ฏธ๋„์ด wsl.exe , Linux ํ”„๋กœ์„ธ์Šค์™€ ํ†ต์‹ ํ•˜๋Š” ๋ž˜ํผ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์กฐ์‚ฌํ•˜์—ฌ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์˜ ์ฒซ ๋ฒˆ์งธ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ๋งํ•˜๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์—†์Šต๋‹ˆ๋‹ค. ๋‚˜๋ฌด.
ํ”„๋กœ์„ธ์Šค ํ™˜๊ฒฝ ๋ธ”๋ก์— WD๋ฅผ ์ €์žฅํ•˜๋Š” Windows ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ ์ธํ”„๋ผ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ง€๋ฃจํ•œ ์ด์ „ Windows API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค._

์ด๊ฒƒ๋“ค์€ ์šฐ๋ฆฌ๊ฐ€ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š” ๊ธฐ์ˆ ์ ์ธ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด 25%์˜ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋งŒ ์ž‘๋™ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์ด ์‰ฌ์šด ๊ฒƒ์œผ๋กœ ํŒ๋ช…๋˜๋ฉด: ์šฐ๋ฆฌ๋Š” ํ•ญ์ƒ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋ถ€๋ฅผ ๊ธฐ๊บผ์ด ๋ฐ›์•„๋“ค์ž…๋‹ˆ๋‹ค.

  • WSL์˜ ๊ฒฝ์šฐ ๋กœ์ปฌ์„ ํƒ์ƒ‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ˜ํ™˜์ด /home/foo์ด๋ฉด ์œ„์น˜์ž…๋‹ˆ๋‹ค. ์œ„์น˜๊ฐ€ C:\home\foo์ด๋ฉด /mnt/c/home/foo๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์•„, ํ•˜์ง€๋งŒ ์ด ๊ธฐ๋Šฅ์ด ์‚ฌ์–‘๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์„ ๋ณด๋ฉด ํ„ฐ๋ฏธ๋„์€ "ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋Š” /home/foo ์ž…๋‹ˆ๋‹ค."๋ผ๊ณ  ๋งํ•œ ์‚ฌ๋žŒ์ด๋‚˜ ๋‚ด์šฉ์„ ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ cmd.exe ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์‚ฌ์šฉ์ž๋Š” C:\home\foo ์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Ubuntu ๋ฐฐํฌํŒ ๋˜๋Š” Fedora ๋ฐฐํฌํŒ์ด๊ฑฐ๋‚˜ centos ๋˜๋Š” ๋‹ค๋ฅธ ๊ฐ€๋Šฅ์„ฑ์— ์—ฐ๊ฒฐ๋œ ssh์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์ด ๋ฐ›๋Š” ๋ชจ๋“  ๊ฒƒ์€ "์ด๊ฒƒ์€ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค"๋ผ๋Š” ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์—‡์„ ์‚ฌ์šฉ์ž ์ง€์ •ํ•ด์•ผ ํ•˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์–ธ์ œ๋ถ€ํ„ฐ ์‚ฌ์šฉ์ž ์ง€์ • ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๊นŒ?

์‚ฌ์šฉ์ž๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ์…ธ์€ ์ด ์‹œํ€€์Šค๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜๋™์œผ๋กœ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. cmd ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ $e]7;$P$e ์‹œํ€€์Šค๋ฅผ ํฌํ•จํ•˜๋„๋ก %PROMPT%๋ฅผ ์ˆ˜๋™์œผ๋กœ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. bash ์‚ฌ์šฉ์ž๋Š” PS1 ์—์„œ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. PowerShell์—๋Š” ํ™•์‹คํžˆ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ๋Š” ์‰˜์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด ์‹œํ€€์Šค๋ฅผ _๋‚ด์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

SSH๋Š” ์‰˜์ด ์•„๋‹™๋‹ˆ๋‹ค. ํ”„๋กœํ•„์„ ๋จผ์ € ์‹คํ–‰ํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์…ธ์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ํ”„๋กœํ•„์— ์ฆ‰์‹œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ผ๋Š” ์ง€์‹œ๊ฐ€ ์žˆ์„ ๋ฟ์ž…๋‹ˆ๋‹ค. ๊ทธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ๋ฌด์—‡์ด๋“  ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SSH์ผ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๊ฒฝ์šฐ ํ”„๋กœํ•„์— ๋‹ค๋ฅธ ์…ธ์„ ์‹คํ–‰ํ•˜๋„๋ก ์ง€์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‹จ๋ง๊ธฐ๊ฐ€ ์—†๋Š”๋ฐ๋„ ๊ทธ๊ฒŒ ๋ฌด์Šจ ๋ฌธ์ œ์•ผ? ํ•ญ์ƒ ์˜ˆ์™ธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋™ํ•  ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์—†์„ ๋•Œ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๊ธฐ๋ณธ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์€ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋‹น์‹ ์ด "์•„, ์ด๊ฒƒ์€ ํ•  ์ˆ˜ ์—†๋‹ค"๋Š” ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด๊ฒƒ์€ ํƒญ์ด ์žˆ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ํ„ฐ๋ฏธ๋„์—์„œ ํ‘œ์ค€์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ๊ณ ์œ ํ•œ ํ„ฐ๋ฏธ๋„ ํ’๋ฏธ๊ฐ€ ์žˆ๋Š” Linux ๋ฐฐํฌํŒ์„ ์‹คํ–‰ํ•˜๋ฉด ๋ชจ๋‘ ์ƒˆ ํƒญ์„ ์—ฌ๋Š” ์ด๋Ÿฌํ•œ ๋™์ž‘์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Windows ํ„ฐ๋ฏธ๋„์˜ ํš๊ธฐ์ ์ธ ๋งˆ๋ฒ•์ด ๋  ๊ธฐ๋Šฅ์ด ์•„๋‹™๋‹ˆ๋‹ค. ํ‘œ์ค€ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

ํ„ฐ๋ฏธ๋„์€ ์‰˜๋งŒ ์ƒ์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ”„๋กœํ•„ ๊ตฌ์„ฑ์—์„œ ์ œ๊ณตํ•œ ํ•ญ๋ชฉ์— ๋Œ€ํ•ด ๋ง ๊ทธ๋Œ€๋กœ CreateProcess ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. SSH๋Š” ์…ธ์—์„œ ์‹คํ–‰๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ์…ธ์—์„œ ์ƒ์„ฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ณด์„ธ์š”, ์šฐ๋ฆฌ๋Š” ์ด ๊ธฐ๋Šฅ์ด ์–ผ๋งˆ๋‚˜ ๊ฐ€๋Šฅํ•œ์ง€์— ๋Œ€ํ•ด ๋…ผ์Ÿํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” _์šฐ๋ฆฌ๊ฐ€ ์ด๊ฒƒ์„ ์›ํ•˜๊ณ , ๋ชจ๋‘๊ฐ€ ์›ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ๊ด€์‹ฌ์„ ๊ฐ–๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ ์ž‘๋™ํ•˜๋Š” ํ•ฉ๋ฆฌ์ ์ธ ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ๋‹ค๋ฉด ์ด๋ฏธ ํ–ˆ์„ ๊ฒƒ์ด๋ผ๋Š” ๋ฐ ๋™์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋ฏธ๋ฆฌ ๊ณ„ํšํ•˜๊ณ  ๋””์ž์ธํ•˜๋Š” ์ž‘์—…์„ ํ†ตํ•ด "๊ทธ๊ฒƒ์€ ํ•  ์ˆ˜ ์—†๋Š” ์ผ"์ด๋ผ๊ณ  ๋งํ•ด์•ผ ํ•˜๋Š” ํšŸ์ˆ˜๋ฅผ ์ค„์ด๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํš๊ธฐ์ ์ธ ๋งˆ๋ฒ•์ด ์•„๋‹ˆ๋ผ Windows ๋ฐ WSL ํ”„๋กœ์„ธ์Šค ๋ชจ๋ธ์— ์˜ํ•ด ๋ณต์žกํ•  ๋ฟ์ด๋ฉฐ ์ผ๋ถ€ ์ƒํ™ฉ์—์„œ๋Š” ์‹คํŒจํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์•„๋ฌด๋„ ๊ทธ ์ด์ƒ์„ ๋งํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • WSL์˜ ๊ฒฝ์šฐ ๋กœ์ปฌ์„ ํƒ์ƒ‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ˜ํ™˜์ด /home/foo์ด๋ฉด ์œ„์น˜์ž…๋‹ˆ๋‹ค. ์œ„์น˜๊ฐ€ C:\home\foo์ด๋ฉด /mnt/c/home/foo๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์•„, ํ•˜์ง€๋งŒ ์ด ๊ธฐ๋Šฅ์ด ์‚ฌ์–‘๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์„ ๋ณด๋ฉด ํ„ฐ๋ฏธ๋„์€ "ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋Š” /home/foo ์ž…๋‹ˆ๋‹ค."๋ผ๊ณ  ๋งํ•œ ์‚ฌ๋žŒ์ด๋‚˜ ๋‚ด์šฉ์„ ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ cmd.exe ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์‚ฌ์šฉ์ž๋Š” C:\home\foo ์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Ubuntu ๋ฐฐํฌํŒ ๋˜๋Š” Fedora ๋ฐฐํฌํŒ์ด๊ฑฐ๋‚˜ centos ๋˜๋Š” ๋‹ค๋ฅธ ๊ฐ€๋Šฅ์„ฑ์— ์—ฐ๊ฒฐ๋œ ssh์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์ด ๋ฐ›๋Š” ๋ชจ๋“  ๊ฒƒ์€ "์ด๊ฒƒ์€ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค"๋ผ๋Š” ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€ ๋˜๋Š” ๋ฌด์—‡์ธ์ง€ ์–ด๋–ป๊ฒŒ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ? ๋‹น์‹ ์ด ๊ทธ๊ฒƒ์„ ์š”๊ตฌํ•˜๋Š” ์‚ฌ๋žŒ์ž…๋‹ˆ๋‹ค. ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์ธ์ง€ WSL์ธ์ง€ PowerShell์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถœ์ฒ˜๋ฅผ ์•Œ๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์œ„์น˜ ํ˜•์‹์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์—‡์„ ์‚ฌ์šฉ์ž ์ง€์ •ํ•ด์•ผ ํ•˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์–ธ์ œ๋ถ€ํ„ฐ ์‚ฌ์šฉ์ž ์ง€์ • ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๊นŒ?

์‚ฌ์šฉ์ž๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ์…ธ์€ ์ด ์‹œํ€€์Šค๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜๋™์œผ๋กœ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. cmd ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ $e]7;$P$e ์‹œํ€€์Šค๋ฅผ ํฌํ•จํ•˜๋„๋ก %PROMPT%๋ฅผ ์ˆ˜๋™์œผ๋กœ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. bash ์‚ฌ์šฉ์ž๋Š” PS1 ์—์„œ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. PowerShell์—๋Š” ํ™•์‹คํžˆ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ๋Š” ์‰˜์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด ์‹œํ€€์Šค๋ฅผ _๋‚ด์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๊ฒŒ ์–ด๋–ป๊ฒŒ ๋ฌธ์ œ์•ผ? ์ด๊ฒƒ์€ ๊ตฌ์„ฑ์ด ํ•„์š”ํ•œ ์ฒซ ๋ฒˆ์งธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์•„๋‹ˆ๋ฉฐ ๋งˆ์ง€๋ง‰ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๋„ ์•„๋‹™๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ํ”Œ๋Ÿฌ๊ทธ ์•ค ํ”Œ๋ ˆ์ด ๋ฐฉ์‹์€ ์•„๋‹ˆ๋ฉฐ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ด ์‚ฌ์šฉ์ž๊ฐ€ ๊ตฌ์„ฑ์„ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋ผ๋ฉด ๊ทธ ์ค‘์ง€ ์ง€์ ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

WSL ์…ธ์—์„œ "๋‚ด CWD๋Š” /home/foo์ž…๋‹ˆ๊นŒ? ํ„ฐ๋ฏธ๋„์ด ๊ฒฝ๋กœ๊ฐ€ WSL ๊ฒฝ๋กœ์ธ์ง€, ์‹ฌ์ง€์–ด ์–ด๋–ค ๋ฐฐํฌํŒ์— ์†ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†์œผ๋ฏ€๋กœ ์ด ํƒญ์„ ๋ณต์ œํ•˜๋ฉด C: \home\foo (์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ)

๋‚˜๋Š” ์ •๋ง๋กœ ๋‚˜ ์ž์‹ ์— ๋Œ€ํ•ด์„œ๋งŒ ๋งํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ•œ ํ”„๋กœํ•„์„ ์‚ฌ์šฉํ•˜์—ฌ ํƒญ์„ ์—ด๊ณ  ํŠน์ • ์œ„์น˜๋กœ ์ด๋™ํ•œ ๋‹ค์Œ ๋‹ค๋ฅธ ํ”„๋กœํ•„์—์„œ ์ƒˆ ํƒญ์„ ์—ฐ ๊ฒฝ์šฐ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ด์›”๋˜๊ณ  ๊ธฐ๋ณธ๊ฐ’์ด ๋Œ€์‹  ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์„ ์š”์ฒญํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์€ GNOME ๋ฐ macOS์— ํฌํ•จ๋œ ํ„ฐ๋ฏธ๋„๊ณผ ๊ฐ™์€ ํ„ฐ๋ฏธ๋„์—์„œ ๋™์ž‘์ด ๋ˆ„๋ฝ๋˜์—ˆ์Œ์„ ์ดํ•ดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ํ„ฐ๋ฏธ๋„์€ ์ด๊ฒƒ์ด ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ณต์žก์„ฑ์„ ์ฒ˜๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†์ง€๋งŒ ๋™์‹œ์— ์†Œํ”„ํŠธ์›จ์–ด์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์—ฃ์ง€ ์ผ€์ด์Šค๋ฅผ ์Šค๋งˆํŠธํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๊ณ  ํ˜„๋ช…ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•˜๋Š” ์‚ฌ๋žŒ์€ ์•„๋ฌด๋„ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์ค€์ ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฒ”์œ„๋ฅผ ๋‹ค์†Œ ์ค„์—ฌ๋„ ๊ฝค ํ„ธ์ด ๋งŽ์€ ์ž‘์—…์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค. ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ธฐ๋Šฅ์˜ ์ผ๋ถ€ ๋ฒ„์ „์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์„ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ด ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๋‹จ๊ธฐ๊ฐ„์— #4472๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ๋ช‡ ๊ฐ€์ง€ ๋ณ€์ข…์— ๋งŒ์กฑ ๊ฒƒ cmd.exe /c "wt.exe" new-tab -p "Ubuntu-20.04" -d $(pwd) ๋‚˜๋Š”์— ๋ช…๋ น์„ ์ž…๋ ฅํ•˜๋Š” ์ฐฝ์ด ๊ฑฐ์˜ ํ™•์‹คํ•˜๋‹ค (๊ฐ€์žฅ ์ตœ๊ทผ์— ์ดˆ์ ์„ ๋งž์ถ”๊ณ  ์ฐฝ์—์„œ ์ƒˆ ํƒญ์„ ์—ด ๊ฒƒ (์•„๋งˆ ๋ฐฐ์‰ฌ ๋งคํฌ๋กœ์— ๋ฐ”์ธ๋”ฉ) ).

์‚ฌ์ง€์— ๋‚˜๊ฐ€์„œ ๋ฃจํŠธ ํ”„๋กœ์„ธ์Šค์˜ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•œ ๊ฐ์ง€๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด WT๊ฐ€ ๋™์ผํ•œ ์ฐฝ์—์„œ ํƒญ์„ ์—ด๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ๋ช…๋ น์ค„ ์›๊ฒฉ ๋ฐ IPC๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ์‰ฝ๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค.

์™€์šฐ, ๋ฐฉ๊ธˆ ์—ฌ๊ธฐ์— ์™€์„œ ๊ธด ์—ฌํ–‰์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. :)

์šฐ๋ฆฌ๋Š” Windows ํ„ฐ๋ฏธ๋„์—์„œ ๋‹จ์ถ•ํ‚ค alt+shift+D๋ฅผ ๋ˆŒ๋Ÿฌ ์‰˜ ์ฐฝ์„ ๋ถ„ํ• ํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์ง€๋งŒ ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์„ค์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค: ์‹œ์ž‘ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•˜์‹ญ์‹œ์˜ค.

์ด ํ•จ์ˆ˜๋ฅผ $PROFILE ๋„ฃ์Šต๋‹ˆ๋‹ค( $path ๋ฅผ ์กฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค).

function sd {
    $path = 'C:\Users\Admin\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json'
     ((Get-Content -path $path) -replace '"startingDirectory":.*', ("`"startingDirectory`": `"$pwd`"") -replace "\\", "\\") | Set-Content -Path $path
}

.. ๊ฑฐ์˜ ๋ฒˆ๊ฑฐ๋กœ์›€ ์—†์ด ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ƒˆ ํƒญ์„ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ํƒญ์„ ์—ด๊ธฐ ์ „์— sd ๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.

๋ฌผ๋ก  ๋‹จ์ ์€ startingDirectory ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ๋งˆ๋‹ค ๋ณ€๊ฒฝ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ‚ค ์žฌ๋งคํผ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ Ctrl+T ๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ•จ์ˆ˜๊ฐ€ ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋˜๊ณ  Ctrl+F4 ๋ฅผ ๋ˆ„๋ฅด๋ฉด startingDirectory ๋กœ ๋˜๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. ์›๋ž˜์˜ ๊ฐ€์น˜๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.

๋Œ€์ฒด ์†”๋ฃจ์…˜

์˜ˆ๋ฅผ ๋“ค์–ด profile.sh ๋˜๋Š” .zshrc๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ•„ ๋‚ด์—์„œ $HOME ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” ~/paths.sh ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. setCWD ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ๋งˆ๋‹ค ๊ฒฝ๋กœ๊ฐ€ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.

์ด ์†”๋ฃจ์…˜์€ startingDirectory๋ฅผ ์™„์ „ํžˆ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ํ„ฐ๋ฏธ๋„์„ ์ƒ์„ฑํ•  ๋•Œ๋งˆ๋‹ค ํ„ฐ๋ฏธ๋„์„ ์ƒ์„ฑํ•˜๊ธฐ ์ „์— setCWD๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ํ•ญ์ƒ ๋งˆ์ง€๋ง‰์œผ๋กœ setCWD ๋ฅผ ํ˜ธ์ถœํ•œ ์ง์ ‘์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

.zshrc

์•”ํ˜ธ:

source ~/paths.sh

if [[ $SAVED_PWD != $PWD  ]]
then
  cd $SAVED_PWD
fi

function setCWD(){
  echo export SAVED_PWD=$(pwd) > ~/paths.sh
}

์ดˆ๊ธฐ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฏ€๋กœ ๊ทธ๋ƒฅ setCWD ๋ฅผ ํ˜ธ์ถœ

BTW ์ž๋™ ํ•ซํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋Š” ํ›Œ๋ฅญํ•˜๊ณ  ๋น ๋ฅธ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

windows-terminal.ahk ๋ผ๋Š” ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ์ด ์ฝ”๋“œ๋ฅผ ์•„๋ž˜์— ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋ฉด ๋ชจ๋“  ์„ค์ •์ด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค. (์ด ํŒŒ์ผ์„ ์‹œ์ž‘ ์„น์…˜์œผ๋กœ ์ด๋™ํ•˜์—ฌ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ๋•Œ ์ด ๊ธฐ๋Šฅ์ด ๋‹ค์‹œ ์ ์šฉ๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

#IfWinActive, ahk_exe WindowsTerminal.exe
  ^t::
    Send, setCWD {enter}
    Send, ^t

์—ฌ๋Ÿฌ๋ถ„, ์ด๊ฒƒ์€ ์ƒ์‚ฐ์„ฑ์— ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ฑฐ์˜ ๋ชจ๋“  ๊ฒƒ๋ณด๋‹ค ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์‹ญ์‹œ์˜ค. ๋‚˜์™€ ๋‚ด ์นœ๊ตฌ๋“ค์€ ๋‹ค๋ฅธ ๋ชจ๋“  ์—ด๋“ฑํ•œ ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ๊ธฐ๊บผ์ด ๋ฒ„๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ„ฐ๋ฏธ๋„-wg์—์„œ OSC 7์„ 'ํ‘œ์ค€ํ™”'ํ•˜๋ ค๋Š” ์‹œ๋„ ๊ฐ€ ์ค‘๋‹จ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค .

๊ธฐ๋ณธ์ ์œผ๋กœ Terminal.app์— ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ OSC 7์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์—ฌ์ „ํžˆ ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ฃผ์–ด์ง„ ํ„ฐ๋ฏธ๋„์— ๋Œ€ํ•ด "ํ˜„์žฌ ํ˜ธ์ŠคํŠธ ๋ฐ CWD"๊ฐ€ ์žˆ๋‹ค๋Š” ์ ์„ ๊ฐ์•ˆํ•  ๋•Œ 'ํ”„๋กœ์„ธ์Šค ํ•ดํ‚น' ํ† ๋ก ์„ ๋…ธ๊ณจ์ ์œผ๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํ•ด๋‹น ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž ํ–‰๋™์„ ๊ฒฐ์ •/๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ:

  • "ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ƒˆ ํƒญ" ๋ช…๋ น;
  • ๊ธฐ๋ณธ์ ์œผ๋กœ "๋ถ„ํ• "์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • WSL ์„ธ์…˜์„ Windows ์„ธ์…˜๊ณผ ๊ตฌ๋ณ„ํ•˜๋Š” ๋งˆ๋ฒ• ๊ฐ™์€ ๊ฒƒ(๊ฐ™์€ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ๋ณด๊ณ ํ•˜๋Š” ๊ฒฝ์šฐ๋ผ๋„? ์ €๋Š” ๋ณด์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค...);
  • Windows ํ˜ธ์ŠคํŠธ์™€ ๋™์ผํ•œ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์š”๊ตฌํ•˜๋Š” ์›๊ฒฉ ์‹œ์Šคํ…œ์œผ๋กœ sshingํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ ์œ ํšจํ•œ OSC 7์„ ๋ณด๋‚ผ ๊ฒƒ์ž„์„ _์•Œ๊ณ _ ์žˆ๋Š” ํ”„๋กœํ•„์˜ "OSC 7 ์–ต์ œ"์— ๋Œ€ํ•œ ๊ตฌ์„ฑ ์˜ต์…˜.
  • ๊ฐ’์„ ๋ช…๋ น์ค„์— ๊ณ ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ์— ๋…ธ์ถœํ•˜์—ฌ ssh ๋˜๋Š” wsl ์„ธ์…˜์ด ๋ฐฉ๊ธˆ ๋ณต์ œํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ์— _can_ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์ด ๋…ผ์˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„(ํ˜„์žฌ CWD ๊ฐ€์ ธ์˜ค๊ธฐ)์— ์ค‘์ ์„ ๋‘์—ˆ์ง€๋งŒ ์œ„์˜ ๊ธฐ์กด ์˜๊ฒฌ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‘ ๋ฒˆ์งธ ๋ถ€๋ถ„์ด ๋” ๋งŽ์€ ๊ณ ๋ ค๊ฐ€ ํ•„์š”ํ•œ ๋ถ€๋ถ„์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์•„์ด๋””์–ด ๋ชฉ๋ก์— ๋Œ€ํ•ด์„œ๋„ _๋ชจ๋“  ์‚ฌ๋žŒ_์— ๋Œ€ํ•ด ํ•ฉ๋ฆฌ์ ์ธ ๋ฐ˜๋Œ€๊ฐ€ ์กด์žฌํ•œ๋‹ค๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ์ „ํžˆ ์ด ์ฃผ์ œ์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด #7668์—์„œ ์ดˆ๊ธฐ PR์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์นœ์ ˆํ•œ ํ•‘์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ๋ชจ๋“  ์‚ฌ๋žŒ์˜ ์˜๊ฒฌ์„ ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์†ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ํƒญ, ํŠนํžˆ ๋น ๋ฅธ ๋ณต์ œ์˜ ์š”์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ด๊ฒƒ์€ ๋„ˆ๋ฌด๋‚˜ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ "ํ•ดํ‚ค" ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์œผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? Windows ์ž์ฒด์— 20๋…„ ์ด์ƒ ๋™์•ˆ ์ด๋Ÿฌํ•œ ์†”๋ฃจ์…˜์ด ์—ฌ๋Ÿฌ ๊ฐœ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•  ๋•Œ ๋ชจ๋“  ์‚ฌ์šฉ์ž์˜ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๋Š” ๊ฒฝ์šฐ Windows์˜ ํ”„๋กœ์„ธ์Šค์—์„œ CWD๋ฅผ ์ถ”์ถœํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์™œ ์ด ๊ธฐ๋Šฅ์ด ๊ธฐ๋ณธ๊ฐ’์ด ์•„๋‹Œ์ง€ ์ดํ•ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ง„์ •์—๋„์ด ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™” ํ•  boggledํ•˜๊ณ ์žˆ๋‹ค. ์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ํ„ฐ๋ฏธ๋„์—์„œ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๋น„๋ฐฉํ•˜๋Š” ์š”์†Œ์ž…๋‹ˆ๋‹ค. ํŽธ์˜์ƒ ํ„ฐ๋ฏธ๋„ ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋Œ€์‹  ํƒ์ƒ‰๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์…ธ์„ ์—ด๊ณ  ์‹ถ์€ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญํ•˜๊ณ  "์—ฌ๊ธฐ์„œ PowerShell ์ฐฝ ์—ด๊ธฐ"๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค. alt+shift+d ๋ˆ„๋ฅธ ๋‹ค์Œ ์˜ฌ๋ฐ”๋ฅธ ์œ„์น˜๋กœ cd ๋ฅผ ๋ˆ„๋ฅด๋Š” ๊ฒƒ๋ณด๋‹ค ๋น ๋ฆ…๋‹ˆ๋‹ค.

ํ„ฐ๋ฏธ๋„์€ Windows ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋งŽ์€ ์‚ถ์˜ ์งˆ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์ €์—๊ฒŒ ํฐ ๋„์•ฝ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค(๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๋„ ์˜์‹ฌํ•ฉ๋‹ˆ๋‹ค). ์ด ๊ธฐ๋Šฅ์„ ์ตœ์šฐ์„ ์œผ๋กœ ์˜นํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ์ œ ๋ชฉ์†Œ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์™œ ์ด ๊ธฐ๋Šฅ์ด ๊ธฐ๋ณธ๊ฐ’์ด ์•„๋‹Œ์ง€ ์ดํ•ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์™œ ์‚ฌ๋žŒ๋“ค์ด ์ด ์Šค๋ ˆ๋“œ, #7668, #8214, #8166 ๋ฐ ์—ฐ๊ฒฐ๋œ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์—์„œ ์ˆ˜ํ–‰๋œ ๋ชจ๋“  ์กฐ์‚ฌ๋ฅผ ์ฝ๊ณ  ์ด๊ฒƒ์ด ์‹ค์ œ๋กœ ์–ด๋ ค์šด ๋ฌธ์ œ์ธ์ง€ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋Š” ์ด์œ ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐํ•˜๋‹ค. ํ„ฐ๋ฏธ๋„์€ Windows ๋˜๋Š” WSL ๋˜๋Š” cygwin ๊ฒฝ๋กœ์ธ์ง€ _ํ•„์ˆ˜์ ์œผ๋กœ_ ์•Œ์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ ์•ฑ์—์„œ ๊ฒฝ๋กœ๋ฅผ ๋‚ด๋ณด๋‚ด๋„๋ก ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์•ฑ์— ๋Œ€ํ•œ ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์†์ƒ์‹œํ‚ค์ง€ ์•Š์œผ๋ฉด์„œ ์ด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ง€์›์„ ๊ตฌํ˜„ํ•˜๋Š” ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์„ ์ฐพ๊ธฐ ์œ„ํ•ด ์—ด์‹ฌํžˆ ๋…ธ๋ ฅํ•˜๋Š” ์žฌ๋Šฅ ์žˆ๋Š” ๊ธฐ์—ฌ์ž๊ฐ€ ๋งŽ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ์ข‹์€ ์ผ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” _์ด๋ฒˆ ์ฃผ์—_ ๋งŒ์กฑ์Šค๋Ÿฌ์šด ์†”๋ฃจ์…˜์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๋จธ์ง€ ์•Š์•„ ๊ตฌํ˜„๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@zadjii-msft ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋‚ด ๋Œ“๊ธ€์„ ๋‹ค์‹œ ์ฝ์œผ๋ฉด์„œ ๊ทธ๊ฒƒ์ด ๋งค์šฐ ๋น„๋‚œ์ ์ด๋ฉฐ ๋‚ด ์˜๋„๊ฐ€ ์•„๋‹ˆ์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด ๋ง์„ ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๊ธฐ์— ์™”์Šต๋‹ˆ๋‹ค.

ํ„ฐ๋ฏธ๋„์€ Windows ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋งŽ์€ ์‚ถ์˜ ์งˆ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์ €์—๊ฒŒ ํฐ ๋„์•ฝ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค(๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๋„ ์˜์‹ฌํ•ฉ๋‹ˆ๋‹ค). ์ด ๊ธฐ๋Šฅ์„ ์ตœ์šฐ์„ ์œผ๋กœ ์˜นํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ์ œ ๋ชฉ์†Œ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ง€๊ธˆ๊นŒ์ง€ ๋‚ด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์™œ ์ด ๊ธฐ๋Šฅ์ด ๊ธฐ๋ณธ๊ฐ’์ด ์•„๋‹Œ์ง€ ์ดํ•ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์กฐ์ฐจ ์—†๋Š” ์ด์œ ๊ฐ€ ์ •๋ง ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ฐ€์žฅ ํฐ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ž…๋‹ˆ๋‹ค...etc

์ฒซ ๋ฒˆ์งธ ๋‹จ๋ฝ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— "์‚ฌ์šฉ์ž๋กœ"๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ํ•œ ๋ชจ๋“  ๋ชจ์š•์— ๋Œ€ํ•ด ์‚ฌ๊ณผ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰