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

์ผ์–ด๋‚ฌ๋‹ค ๋ณตํ•ฉ ๊ด€๋ฆฌ์ž ๋ฆด๋ฆฌ์Šค ์Šค์›จ์ด 1.1, Wayland ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฉฐ ํƒ€์ผ ์ฐฝ ๊ด€๋ฆฌ์ž์™€ ์™„๋ฒฝํ•˜๊ฒŒ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค. i3 ๋ฐ ํŒจ๋„ ์•„์ด์“ฐ๋ฆฌ๋ฐ”. 1.1.0 ์ถœ์‹œ XNUMX์‹œ๊ฐ„ ํ›„, ์ˆ˜์ • ๋ฒ„์ „์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 1.1.1 wlroots 0.6๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ์ž˜๋ชป ์ถ”๊ฐ€๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” 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์šฉ ๋ฐ”์ธ๋”ฉ์ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

  • ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ๋ณ„๋„์˜ ํ”„๋กœ์ ํŠธ๋กœ ๋ถ„๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์Šค์›จ์ด๋ธŒ๊ทธ, ๋ฐ”ํƒ• ํ™”๋ฉด ๋ฐฐ๊ฒฝ ๋ฌด๋Šฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Swaybg๋Š” ๋” ์ด์ƒ Sway์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์œผ๋ฉฐ ๊ณ ๊ธ‰ ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  Wayland ๋ณตํ•ฉ ์„œ๋ฒ„์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    wlr-layer-shell, xdg-output ๋ฐ xdg-shell;

  • i3 ์ฐฝ ๊ด€๋ฆฌ์ž์™€์˜ ๋น„ํ˜ธํ™˜์„ฑ์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์Šค์›จ์ด๋ฐ” ํŒจ๋„์— ํ„ฐ์น˜ ์Šคํฌ๋ฆฐ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์Šฌ๋ผ์ด๋”ฉ ์ œ์Šค์ฒ˜๋กœ ๋ฐ์Šคํฌํƒ‘์„ ํ„ฐ์น˜ํ•˜๊ณ  ์ˆœํ™˜ํ•˜์—ฌ ์š”์†Œ๋ฅผ ํ™œ์„ฑํ™”ํ•จ).
  • swaybar๋Š” ์ž…๋ ฅ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ์ฐฝ ์œ„์— ํŒจ๋„์„ ํ‘œ์‹œํ•˜๋Š” "์˜ค๋ฒ„๋ ˆ์ด" ๋ชจ๋“œ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • unbind{sym,code,switch} ์„ค์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ์ œ์–ด ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.



์ถœ์ฒ˜ : opennet.ru

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