X window
Last updated
Was this helpful?
Last updated
Was this helpful?
GUI๊ฐ ์๋ ์์ ์ฐ๋ฆฌ๋ ๊ฒ์ํ๋ฉด์์, ์ฆ console ์ฐฝ์์ ์ฌ์ฉํ๋ ์์ ์ด ์์๋ค.
๊ทธ๋ฌ๋ ์ปดํจํฐ๊ฐ ๋ฐ์ ํ๋ฉด์ ๋ฐํํ๋ฉด, ์์ด์ฝ๋ฑ ๊ทธ๋ํฝ ์ธํฐํ์ด์ค ํ๊ฒฝ์์ ์์ ์ ํ ์ ์๊ฒ ๋์๋ค.
๋ํ์ ์ธ ์ ์ง๊ธ ์ฐ๋ฆฌ๊ฐ ํํ ์ฌ์ฉํ๊ณ ์๋ windows ํ๊ฒฝ์ด ์๋ค.
๋ฆฌ๋ ์ค์์๋ ์ด์๊ฐ์ด ๊ทธ๋ํฝ ์ธํฐํ์ด์คํ๊ฒฝ์ ์์คํ ์ํํธ์จ์ด๋ฅผ ์ ๊ณตํด์ฃผ๋๋ฐ ์ด๋ฅผ x windows ๋ผ๊ณ ํ๋ค.
ํ์ง๋ง ์์ฉ์ํํธ์จ์ด์ผ๋ฟ ํ์์์๋ ์๋๋ค.
์์ง ๋ง์ ์์ง๋์ด๋ค์ ํ ์คํธ๋ชจ๋์์ ์ฌ์ฉ์ ํ๋ค.
DEC, IBM, MIT๊ฐ ๊ฐ๋ฐํ X์๋๋ ํ๋ซํผ๊ณผ ๋ ๋ฆฝ์ ์ผ๋ก ์์ฉํ๋ ์๋ฐ๋ ํ๋ก์ ํธ์ ์ผํ์ผ๋ก Bob Scheifler์ Jim Gettys๊ฐ 1984๋ ์ต์ด ๋ฒ์ ์ ๋ฐํํ์์ต๋๋ค. 1986๋ Bob Scheifler๊ฐ ์คํ ์์ค ํ๋ก์ ํธ๋ก ๋ง๋ค์๊ณ , X10.4๊ฐ ๊ธฐ๋ณธ์ ์ธ ๋ชจ์ต์ ๋ง๋ค์์ต๋๋ค.
1987๋ X11์ด ๋ฐํ๋์๊ณ 1988๋ ์๋ง์ ์ํฌ์คํ ์ด์ ์ ์ฒด์์ X์๋๋ฅผ ํ์ค ์๋ ์์คํ ์ผ๋ก ์ฑํํ๊ธฐ ์์.
1996๋ ์ต์ข ๊ฐ์ ํ์ธ X11R6๋ฒ์ ์ ๋ฐํ X11R6.3 ๋ฒ์ ์ ๋์ผ๋ก X์ปจ์์์์ด ํด์ฒด X/Open์ผ๋ก ํ์ฑ๋ ์คํ๊ทธ๋ฃน์ผ๋ก X11R6.4๋ฅผ ๋ฐํ ๊ณต๊ฐ ๋ฐฐํฌ ๋ผ์ด์ ์ค ์ ์ฑ ์ ์๋ฐํ๊ณ XFree86 ํ๋ก์ ํธ์ ์ผ๋ถ ์์ฉ ์ ์กฐ์ ์ฒด๋ฅผ ๊ฐ๋ก๋ง๋ ๋ผ์ด์ ์ค ์ ์ฑ ์ผ๋ก ๋ฌผ์๋ฅผ ์ผ์ผํจ ํ ๋ฐฐํฌ ๋ผ์ด์ ์ค ์ ์ฑ ์ ์์
1998๋ 9์์ X11R6.4๋ฅผ ์ฌ๋ฐฐํฌํ์์ต๋๋ค.1999๋ X.org ์คํ ๊ทธ๋ฃน์ ๋ง๋ค์ด X11R6.5.1์ ๋ฐํ
2017๋ 8์ X11R7.7์ด ๋ฐฐํฌ๋๊ณ X Window System, X11, X ๋ผ๊ณ ๋ถ๋ฅด๊ฒ ๋์๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ํด๋ผ์ด์ธํธ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋งํ๋ค. X ์๋์ฐ ํด๋ผ์ด์ธํธ๋ ์ง์ ์ ์ผ๋ก ์ฌ์ฉ์์ ํต์ ํ ์ ์๋ค. ํด๋ผ์ด์ธํธ๋ ์๋ฒ๋ก๋ถํฐ ํค๋ณด๋๋ ๋ง์ฐ์ค ์ ๋ ฅ ๊ฐ์ ์ฌ์ฉ์์ ์ ๋ ฅ์ ์ป์ ์ ์๋ค.โ
X ์๋ฒ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฌ์ฉ์์ ์ปด์์ ์๋ํ๋ฉฐ ๊ทธ๋ํฝ ๋์คํ๋ ์ด ํ๋์จ์ด๋ฅผ ์ ์ดํ์ฌ ๊ฐ์ฒด๋ฅผ ํ๋ฉด์ ๋ฟ๋ฆฐ ๋ค ๋ต์ ์ ๋ณด๋ธ๋ค.โ
๋ค์ ๋งํด, ํด๋ผ์ด์ธํธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํด๋นํ๋ฉฐ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์ /์ถ๋ ฅ๊ธฐ๊ธฐ์์ ์ค๊ฐ๋ฅผ ๋ด๋นํ๋ ํ๋ก๊ทธ๋จ์ผ๋ก ์ ์๋ ๊ฒ์ด๋ค.
โโ
X ์๋์ฐ์์ ๊ฐ์ข ์ฒ๋ฆฌ๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ผ๋ ๋ ๊ฐ์ง ํ๋ก๊ทธ๋จ์ผ๋ก ๋๋์ด์ ํ๊ณ ์๋ค.โ
์ฆ ํด๋ผ์ด์ธํธ๋ IPC๋ฅผ ์ด์ฉํ์ฌ ์๋ฒ์ ์ฅ์น ์ /์ถ๋ ฅ์ ์ ์ดํ๋ค.โ
์ด๋ฌํ ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ์ํธ ์์ฉ์ ๋ฉ์์ง ๊ตํ์ ํตํ์ฌ ์ด๋ค์ง๋๋ฐ, ๋ฉ์์ง ํํ์ ์ฌ์ฉ๋ฒ์ X protocol ์ด๋ผ๊ณ ํ๋ค. X ์๋์ฐ์ ์ค์ํ ํน์ง ์ค ํ๋๊ฐ ์ด๋ฌํ ๋ฉ์์ง ๊ตํ์ด ๊ฐ์ ์ปด๋ฟ์ด ์๋๋ผ ๋คํธ์ํฌ๋ฅผ ํตํด์๋ ์ด๋ค์ง ์ ์๋ค๋ ๊ฒ์ด๋ค.โ
X protocol ์ ์๋ฒ์ ํด๋ผ์ด์ธํธ ์ฌ์ด์์ ํต์ ๋๋ Request, reply, event, error ์ ๊ธฐ๋ณธ ๋ฉ์์ง์ด๋ค.โ
ํด๋ผ์ด์ธํธ๊ฐ ์๋์ฐ๋ฅผ ์์ฑํด ๋ฌ๋ผ๋ Request๋ฅผ RequestQueue์ ๋ฃ์ด ์๋ฒ์ ๋ณด๋ด๋ฉด ์๋ฒ๋ ํ๋์จ์ด๋ฅผ ์ ์ด, ํ๋ฉด์ ๋์คํ๋ ์ดํ ํ Reply๋ฅผ ๋ณด๋ธ๋ค. ๋ํ ์๋ฒ๋ ํ๋์จ์ด๋ก๋ถํฐ ๋ค์ด์ค๋ ์ ๋ ฅ์ ๋ฐ์๋ค์ฌ EventQueue์ ๋ฃ์ด ํด๋ผ์ด์ธํธ์ ๋ณด๋ด๋ฉด ํด๋ผ์ด์ธํธ๋ ๊ทธ์ ๋ฐ๋ฅธ ์ฒ๋ฆฌ๋ฅผ ํ๋ค.โ
Xlib, Xtoolkitโ
X protocol์ Xlib๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฃจํด์ผ๋ก๋ถํฐ ๋ฐ์์ํจ๋ค.โ
Xlib๋ C๋ LISP๊ฐ์ ์ธ์ด๋ฅผ ์ด์ฉํด ๋ง๋ Xํ๋กํ ์ฝ์ ์ง์ํ๋ library๋ค์ ๋ปํ๋ค.โ
๊ทธ๋ฌ๋ Xlib์ ๊ธฐ๋ฅ์ด ๊ทธ๋ค์ง ๋ง์ง๋ ์๋ค. ํ๋ฉด์ ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ๊ณ ๋ง์ฐ์ค์ ๋ฐ์ํ๋ ๋ฑ์ ๊ธฐ๋ฅ๋ง์ ๊ฐ์ง๊ณ ์๋ค. ์ฆ, ์ ์์ค์ ์ธํฐํ์ด์ค ์ด๋ค. ๊ทธ๋์ ์ด๊ฒ๋ณด๋ค ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ Xtoolkit์ ์ฌ์ฉํ๋ค. XtIntrinsics, Xaw, Xview, Motif, Qt, GTK ๋ฑ์ด ๊ทธ๊ฒ์ด๋ค.
์ค์น๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
sangyunlee@graduateyun:~$ uname -a
Linux graduateyun.cluster.seonghobae.me 4.15.0-143-generic #147-Ubuntu SMP Wed Apr 14 16:10:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
๋ณด์๋๋ฐ์ ๊ฐ์ด ubuntu ํ๊ฒฝ์์ ์ค์ต์ ์งํํ๊ฒ ๋ค.
ํจํค์ง ์ค์น์ ํจํค์ง ์ ๋ฐ์ดํธ์ ์ ๊ทธ๋ ์ด๋ฅผ ์งํํ๋ค.
sangyunlee@graduateyun:~$ sudo apt-get update
sangyunlee@graduateyun:~$ sudo apt-get upgrade
์ฐ๋ถํฌ ๋ฐ์คํฌํ ์ค์น
sangyunlee@graduateyun:~$ sudo apt-get install ubuntu-desktop
์คํ
sangyunlee@graduateyun:~$ sudo startx
์คํํ๋ฉด์ ๋ค์๊ณผ ๊ฐ๋ค.
๋ง์ผ ์ฝ์๋ชจ๋๋ก ์ฌ์ฉํ๊ธฐ ์ถ๋ค๋ฉด ctrl+alt+F3๋ก ์ฝ์๋ชจ๋๋ก ์ด๋ํ ๋ค์ ๋ก๊ทธ์ธํ๋ค.
1. ๋คํธ์ํฌ ์ค์ (tty)- system-config-network 2. ๋ค์ ์๋ฒ ์ค์ - system-config-bind 3. ์น ์๋ฒ ์ค์ - system-config-httpd 4. ์ธ์ด ์ค์ - system-config-language 5. ๋ง์ฐ์ค ์ค์ - system-config-mouse 6. NFS ์๋ฒ ์ค์ - system-config-nfs 7. ํจํค์ง ์ถ๊ฐ ์ค์น- system-config-packages 8. ํ๋ฆฐํฐ ์ค์น- system-config-printer 9. ๋น๋ฒ ๊ด๋ฆฌ- system-config-rootpassword root 10. ์ผ๋ฐ ์๋ฒ ์ค์ - system-config-samba 11. ๋ณด์ ์์ค ์ค์ (tty)- system-config-securitylevel 12. ์ฌ์ด๋ ์นด๋ ์ค์ - system-config-soundcard 13. ์ฌ์ฉ์ ๊ด๋ฆฌ- system-config-users 14. ์ด๊ธฐ ๋ถํ ์ค์ - system-config-boot 15. ๋ ์ง ๋ฐ ์ค์ - system-config-date 16. ๋ฐฉํ๋ฒฝ ์ค์ - system-config-firewall 17. ํค๋ณด๋ ์ค์ - system-config-keyboard 18. lvm ์ค์ system-config-lvm 19. root ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ ์ค์ - system-config-rootpassword
20. ์๋น์ค์ ๊ฐ๋/์ค์ง๋ฅผ ์ค์ - system-config-services 21. FTP ์๋ฒ ์ค์ system-config-vsftpd