X window

x window๋ž€?

GUI๊ฐ€ ์—†๋˜ ์‹œ์ ˆ ์šฐ๋ฆฌ๋Š” ๊ฒ€์€ํ™”๋ฉด์—์„œ, ์ฆ‰ console ์ฐฝ์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ ์‹œ์ ˆ์ด ์žˆ์—ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ปดํ“จํ„ฐ๊ฐ€ ๋ฐœ์ „ํ•˜๋ฉด์„œ ๋ฐ”ํƒ•ํ™”๋ฉด, ์•„์ด์ฝ˜๋“ฑ ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค ํ™˜๊ฒฝ์—์„œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

๋Œ€ํ‘œ์ ์ธ ์˜ˆ ์ง€๊ธˆ ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” windows ํ™˜๊ฒฝ์ด ์žˆ๋‹ค.

๋ฆฌ๋ˆ…์Šค์—์„œ๋„ ์ด์™€๊ฐ™์ด ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šคํ™˜๊ฒฝ์˜ ์‹œ์Šคํ…œ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š”๋ฐ ์ด๋ฅผ x windows ๋ผ๊ณ  ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ์‘์šฉ์†Œํ”„ํŠธ์›จ์–ด์ผ๋ฟ ํ•„์ˆ˜์š”์†Œ๋Š” ์•„๋‹ˆ๋‹ค.

์•„์ง ๋งŽ์€ ์—”์ง€๋‹ˆ์–ด๋“ค์€ ํ…์ŠคํŠธ๋ชจ๋“œ์—์„œ ์‚ฌ์šฉ์„ ํ•œ๋‹ค.

ubuntu ๊ทธ๋ž˜ํ”ฝ์ธํ„ฐํŽ˜์ด์Šค ํ™˜๊ฒฝ

x window ์—ญ์‚ฌ

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 ์œˆ๋„์šฐ์˜ ๊ตฌ์กฐ

https://llmooon.github.io/linux/x-%EC%9C%88%EB%8F%84%EC%9A%B0%EC%99%80-%EB%8D%B0%EC%8A%A4%ED%81%AC%ED%86%B1-%ED%99%98%EA%B2%BD

1.์„œ๋ฒ„ / ํด๋ผ์ด์–ธํŠธโ€Œ

๊ธฐ๋ณธ์ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งํ•œ๋‹ค. X ์œˆ๋„์šฐ ํด๋ผ์ด์–ธํŠธ๋Š” ์ง์ ‘์ ์œผ๋กœ ์‚ฌ์šฉ์ž์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์—†๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ํ‚ค๋ณด๋“œ๋‚˜ ๋งˆ์šฐ์Šค ์ž…๋ ฅ ๊ฐ™์€ ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.โ€Œ

X ์„œ๋ฒ„๋ž€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์šฉ์ž์˜ ์ปด์—์„œ ์ž‘๋™ํ•˜๋ฉฐ ๊ทธ๋ž˜ํ”ฝ ๋””์Šคํ”Œ๋ ˆ์ด ํ•˜๋“œ์›จ์–ด๋ฅผ ์ œ์–ดํ•˜์—ฌ ๊ฐœ์ฒด๋ฅผ ํ™”๋ฉด์— ๋ฟŒ๋ฆฐ ๋’ค ๋‹ต์‹ ์„ ๋ณด๋‚ธ๋‹ค.โ€Œ

๋‹ค์‹œ ๋งํ•ด, ํด๋ผ์ด์–ธํŠธ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ•ด๋‹นํ•˜๋ฉฐ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์ž…/์ถœ๋ ฅ๊ธฐ๊ธฐ์™€์˜ ์ค‘๊ฐœ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ •์˜๋  ๊ฒƒ์ด๋‹ค.

โ€‹โ€Œ

2.X protocolโ€Œ

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 ๋“ฑ์ด ๊ทธ๊ฒƒ์ด๋‹ค.

x window ์„ค์น˜๋ฐฉ๋ฒ•

์„ค์น˜๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

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

sudo apt-get update

sangyunlee@graduateyun:~$ sudo apt-get upgrade

sudo apt-get upgrade

์šฐ๋ถ„ํˆฌ ๋ฐ์Šคํฌํƒ‘ ์„ค์น˜

sangyunlee@graduateyun:~$ sudo apt-get install ubuntu-desktop

sudo apt-get install ubuntu-desktop

์‹คํ–‰

sangyunlee@graduateyun:~$ sudo startx

startx

์‹คํ–‰ํ™”๋ฉด์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๋งŒ์ผ ์ฝ˜์†”๋ชจ๋“œ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์‹ถ๋‹ค๋ฉด ctrl+alt+F3๋กœ ์ฝ˜์†”๋ชจ๋“œ๋กœ ์ด๋™ํ•œ ๋‹ค์Œ ๋กœ๊ทธ์ธํ•œ๋‹ค.

xwindow ์‹คํ–‰ํ™”๋ฉด ์บก์ณ

xwindow์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๋ช…๋ น์–ด

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

Reference

[2] https://gocoder.tistory.com/1788?category=714888

Last updated

Was this helpful?