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

11๊ฐœ์›”๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— Wayland ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฉฐ i3 ํƒ€์ผ๋ง ์œˆ๋„์šฐ ๊ด€๋ฆฌ์ž ๋ฐ i3bar์™€ ์™„๋ฒฝํ•˜๊ฒŒ ํ˜ธํ™˜๋˜๋Š” ํ•ฉ์„ฑ ๊ด€๋ฆฌ์ž Sway 1.8์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ์˜ ์ฝ”๋“œ๋Š” C ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ MIT ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ๋‹ค์Œ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. Linux ๊ทธ๋ฆฌ๊ณ  FreeBSD.

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

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

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

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

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

  • ํ„ฐ์น˜ํŒจ๋“œ ์ œ์Šค์ฒ˜์— ๋™์ž‘์„ ์ฒจ๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ์šด "bindgesture" ๋ช…๋ น์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ™”๋ฉด ์ž ๊ธˆ ํ”„๋กœ์„ธ์Šค(swaylock)๊ฐ€ Wayland ํ”„๋กœํ† ์ฝœ ext-session-lock-v1์„ ์‚ฌ์šฉํ•˜๋„๋ก ์ „ํ™˜๋˜์–ด ์„ธ์…˜ ์ž ๊ธˆ์˜ ์•ˆ์ •์„ฑ๊ณผ ๋ณด์•ˆ์ด ๊ฐ•ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ€์ƒ ์ถœ๋ ฅ ์žฅ์น˜๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ์šด ๋ช…๋ น "์ถœ๋ ฅ ๋ถ„๋ฆฌ"๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ณ ํ•ด์ƒ๋„ ๋งˆ์šฐ์Šค ํœ  ์Šคํฌ๋กค ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํŠธ๋ž™ํฌ์ธํŠธ ์Šคํ‹ฑ(ThinkPad ๋…ธํŠธ๋ถ์˜ TrackPoint)์„ ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ ํŠธ๋ž™ํŒจ๋“œ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด libinput ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ "ํŠธ๋ž™ํฌ์ธํŒ… ์ค‘ ๋น„ํ™œ์„ฑํ™”" ์„ค์ •์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹œ์ž‘ํ•  ๋•Œ ์ž‘์—… ๊ณต๊ฐ„ ๊ฐ์ง€์˜ ์•ˆ์ •์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด xdg-activation-v1 ํ”„๋กœํ† ์ฝœ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • wlroots ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” Vulkan ๊ทธ๋ž˜ํ”ฝ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ Œ๋”๋ง ์‹œ์Šคํ…œ ๊ตฌํ˜„์„ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ”Œ๋žซํผ์—์„œ ์ž‘์—… ์ผ์ •์„ ์˜ˆ์•ฝํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด Linux CAP_SYS_NICE ๊ถŒํ•œ์„ ์„ค์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • SUID ๋ฃจํŠธ ํ”Œ๋ž˜๊ทธ ์ž‘์—…์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • "output dpms" ๋ช…๋ น์€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ์ด์ œ "output power" ๋ช…๋ น์œผ๋กœ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์ด์ œ pcre ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋Œ€์‹  pcre2 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster