Wayland๋ฅผ ์ด์šฉํ•œ Sway 1.4 ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ ์ถœ์‹œ

์ค€๋น„๋œ ๋ณตํ•ฉ ๊ด€๋ฆฌ์ž ๋ฆด๋ฆฌ์Šค ์Šค์›จ์ด 1.4 (๋ฆด๋ฆฌ์Šค 1.3์€ ๋นŒ๋“œ๋˜์ง€ ์•Š์Œ), Wayland ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œ๋˜์—ˆ์œผ๋ฉฐ ํƒ€์ผ ์ฐฝ ๊ด€๋ฆฌ์ž์™€ ์™„๋ฒฝํ•˜๊ฒŒ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค. i3 ๋ฐ ํŒจ๋„ ์•„์ด์“ฐ๋ฆฌ๋ฐ”. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” C๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๋ฐฐํฌ์ž MIT ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ. ์ด ํ”„๋กœ์ ํŠธ๋Š” Linux ๋ฐ FreeBSD์—์„œ์˜ ์‚ฌ์šฉ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

i3 ํ˜ธํ™˜์„ฑ์€ ๋ช…๋ น, ๊ตฌ์„ฑ ํŒŒ์ผ ๋ฐ IPC ์ˆ˜์ค€์—์„œ ์ œ๊ณต๋˜๋ฏ€๋กœ Sway๋ฅผ X3 ๋Œ€์‹  Wayland๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํˆฌ๋ช…ํ•œ i11 ๋Œ€์ฒดํ’ˆ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Sway๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ณต๊ฐ„์ ์œผ๋กœ๊ฐ€ ์•„๋‹ˆ๋ผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ํ™”๋ฉด์— ์ฐฝ์„ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐฝ์€ ํ™”๋ฉด ๊ณต๊ฐ„์„ ์ตœ์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ณ  ํ‚ค๋ณด๋“œ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ์ฐฝ์„ ๋น ๋ฅด๊ฒŒ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฒฉ์ž ๋ชจ์–‘์œผ๋กœ ๋ฐฐ์—ด๋ฉ๋‹ˆ๋‹ค.

์™„์ „ํ•œ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋จน์—ˆ๋‹ค (KDE ์œ ํœด ํ”„๋กœํ† ์ฝœ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค), ์Šค์›จ์ด๋ฝ (ํ™”๋ฉด ๋ณดํ˜ธ๊ธฐ), ๋งˆ์ฝ” (์•Œ๋ฆผ ๊ด€๋ฆฌ์ž), ๋ƒ‰ํ˜น ํ•œ (์Šคํฌ๋ฆฐ์ƒท ์ฐ๊ธฐ), ์†Œ๋ฆฌ๋‚ด์–ด ๋จน๋Š”๋‹ค (ํ™”๋ฉด์—์„œ ์˜์—ญ ์„ ํƒ), wf-๋ ˆ์ฝ”๋” (๋น„๋””์˜ค ์บก์ณ), ์›จ์ด๋ฐ” (์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ํ‘œ์‹œ์ค„), ๋ฒ„ํŠธ๋ณด๋“œ (์Šคํฌ๋ฆฐ ํ‚ค๋ณด๋“œ), wl-ํด๋ฆฝ๋ณด๋“œ (ํด๋ฆฝ๋ณด๋“œ ์ž‘์—…), ์›”ํ‹ธ์Šค (๋ฐ์Šคํฌํƒ‘ ๋ฐฐ๊ฒฝํ™”๋ฉด ๊ด€๋ฆฌ).

Sway๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์œ„์— ๊ตฌ์ถ•๋œ ๋ชจ๋“ˆ์‹ ํ”„๋กœ์ ํŠธ๋กœ ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šธ๋ฃจ์ธ , ๋ณตํ•ฉ ๊ด€๋ฆฌ์ž์˜ ์ž‘์—…์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“  ๊ธฐ๋ณธ ๊ธฐ๋ณธ ์š”์†Œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Wlroots์—๋Š” ๋‹ค์Œ์„ ์œ„ํ•œ ๋ฐฑ์—”๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
ํ™”๋ฉด ์•ก์„ธ์Šค ์ถ”์ƒํ™”, ์ž…๋ ฅ ์žฅ์น˜, OpenGL์— ์ง์ ‘ ์•ก์„ธ์Šคํ•˜์ง€ ์•Š๊ณ  ๋ Œ๋”๋ง, KMS/DRM, libinput, Wayland ๋ฐ X11๊ณผ์˜ ์ƒํ˜ธ ์ž‘์šฉ(Xwayland ๊ธฐ๋ฐ˜ X11 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ ˆ์ด์–ด๊ฐ€ ์ œ๊ณต๋จ) Sway ์™ธ์—๋„ wlroots ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ™œ๋ฐœํžˆ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธํฌํ•จ Librem5 ะธ ์ƒˆ์žฅ. C/C++ ์™ธ์—๋„ Scheme, Common Lisp, Go, Haskell, OCaml, Python ๋ฐ Rust์šฉ ๋ฐ”์ธ๋”ฉ์ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.



์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ:

  • ๋ฐ์Šคํฌํ†ฑ์— ๋Œ€ํ•œ ์›๊ฒฉ ์•ก์„ธ์Šค๋ฅผ ์œ„ํ•œ VNC ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ž‘์—…์€ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. wayvnc์‹คํ–‰ ์ค‘์ธ Wayland ๊ธฐ๋ฐ˜ ์ž‘์—… ์„ธ์…˜์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋Š” RFB ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์ƒ ์ž…๋ ฅ ์žฅ์น˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ™”๋ฉด ์ถœ๋ ฅ์„ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. Wayvnc๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋‹ˆํ„ฐ ์—†์ด ์„œ๋ฒ„์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฐ€์ƒ ๋ฐ์Šคํฌํ†ฑ์„ ์‹คํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์— ์ œ๊ณต๋˜์—ˆ๋˜ RDP ๊ธฐ๋ฐ˜ ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • MATE ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐœ๋ฐœํ•œ ์ž‘์—… ํ‘œ์‹œ์ค„ ์‹คํ–‰์— ๋Œ€ํ•œ ๋ถ€๋ถ„์  ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ž…์žฅ ์‹œ ๋ฌธ์ž ํ‘œ์‹œ์— ๋Œ€ํ•œ ์ง€์—ฐ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค(max_render_time ๋ฐ sway-output ์˜ต์…˜).
  • ํ‚ค๋ณด๋“œ์˜ ํ‚ค ๊ทธ๋ฃน์„ ๋ณ„๋„๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(ํŠน์ˆ˜ ํ‚ค๋ณด๋“œ์˜ ๊ฒฝ์šฐ).
  • ํ”„๋กœํ† ์ฝœ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค xdg-์‰˜ v6 (๋ถˆ์•ˆ์ •ํ•œ ๋ฒ„์ „ v6์€ ์ดํ›„ ๋” ์ด์ƒ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. ์•ˆ์ •ํ™” xdg-์‰˜).

    ์ถœ์ฒ˜ : opennet.ru

  • ์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€