ΠΡΠ»ΠΈ ΡΠΎΠΊΠ΅Ρ Π½Π΅ Π±ΡΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π° fcntl (ΠΊΠ°ΠΊ Π²Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠ°Π½Π΅Π΅ Π΄Π»Ρ TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ), Π²ΡΠ·ΠΎΠ² recvfrom Π±ΡΠ΄Π΅Ρ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ Π½Π° Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΠΎ ΡΠΎΠΊΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π° select ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΏΠΎΡΡΡΠΏΠΈΠ»ΠΈ Π»ΠΈ Π΄Π°Π½Π½ΡΠ΅, ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΠΌΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌΠΈ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠ³Π½Π°Π» ΡΡΠ΅Π²ΠΎΠ³ΠΈ Π΄Π»Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ (ΡΠΌ. Π³Π»Π°Π²Ρ 11).
Π Π΅Π·ΡΠΌΠ΅
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² β ΡΠΎΠΊΠ΅ΡΡ. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠ΅Π΄Π΅. ΠΡΠ»ΠΎ Π΄Π°Π½ΠΎ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠ·Π»ΠΎΠ² ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-Π΄Π΅ΠΌΠΎΠ½ΠΎΠ². ΠΡ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΡΠ΄ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ select, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌ ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ± Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π²Π²ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΠ°Π·Ρ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΡΠΊΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°Ρ ΠΈ ΡΠΎΠΊΠ΅ΡΠ°Ρ .
ΠΠ»Π°Π²Π° 16
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² GNOME Ρ ΠΏΠΎΠΌΠΎΡΡΡ GTK+
ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΌΡ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΠ‘ Linux, ΠΊΠ°ΡΠ°ΡΡΠΈΠ΅ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ Π½Π°ΡΠΈΠ½ΠΊΠΈ. Π’Π΅ΠΏΠ΅ΡΡ ΠΆΠ΅ ΠΏΠΎΡΠ° Π²Π΄ΠΎΡ Π½ΡΡΡ ΠΆΠΈΠ·Π½Ρ Π² Π½Π°ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (Graphical User Interface, GUI). Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΈ Π² Π³Π»Π°Π²Π΅ 17 ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π΄Π²Π΅ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ GUI Π΄Π»Ρ ΠΠ‘ Linux: GTK+ ΠΈ KDE/Qt. ΠΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π΄Π²ΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π΅ΠΉΡΠΈΠΌ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΡΠ΅Π΄Π°ΠΌ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° Linux: GNOME (GTK+) ΠΈ KDE.
ΠΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ GUI Π² Linux ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΠΎΠΊΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ X Window System (ΡΠ°ΡΠ΅ X11 ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ X), ΠΏΠΎΡΡΠΎΠΌΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²Π΄Π°Π²Π°ΡΡΡΡ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΡΠ΅Π΄Ρ GNOME/GTK+, ΠΌΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΎΠ±Π·ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ X ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ»ΠΎΠΈ ΠΎΠΊΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΈΠ³ΠΎΠ½ΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΡ Π½Π°Π·ΡΠ²Π°Π΅ΠΌ ΡΠ°Π±ΠΎΡΠΈΠΌ ΡΡΠΎΠ»ΠΎΠΌ.
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌΡ:
β‘ ΡΠΈΡΡΠ΅ΠΌΠ° X Window System;
β‘ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡΠ΅Π΄Ρ GNOME/GTK+;
β‘ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΠΊΠ½Π° GTK+;
β‘ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈ ΠΌΠ΅Π½Ρ ΡΡΠ΅Π΄Ρ GNOME;
β‘ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΎΠΊΠ½Π°;
β‘ GUI Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ GNOME/GTK+.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΡ X
ΠΡΠ»ΠΈ Π²Ρ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»ΠΈ ΠΎΠΊΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° Π² ΠΠ‘ Linux, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ X Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΡΡ ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²ΡΠ²Π°ΡΡΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ X β ΠΆΠ΅ΡΡΠΊΠ°Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠΈ "ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π° Π½Π΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ". ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ X Π½Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π½ΠΎ Π΅ΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ. ΠΡ Π²ΠΎΠ»ΡΠ½Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π°, ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΡ ΠΈ Π²Π²ΠΎΠ΄Ρ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π° ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ. ΠΠΎ ΡΡΠΎ ΠΆΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΠΌΠΎΠ·ΠΈΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Linux ΠΈ UNIX. ΠΠ»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΡΡΠΎΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ Π΄Π²Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π°, ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΠΌΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ Linux: GNOME ΠΈ KDE. Π Π°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» ΠΠ‘ Linux, ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ X. Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» Π² Linux β ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΠΏΠ»ΡΠ²ΡΠ°ΡΠ°Ρ ΡΡΠ±ΡΡΠ°Π½ΡΠΈΡ Π±Π΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, Π²ΡΠΏΡΡΠ΅Π½Π½ΠΎΠΉ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π³ΡΡΠΏΠΏΠΎΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ². Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠΈΡΠΈΠ°Π΄Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΡΡΠΈΠ»ΠΈΡ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ "ΡΠ°Π±ΠΎΡΠΈΠΌ ΡΡΠΎΠ»ΠΎΠΌ".
Π£ ΡΠΈΡΡΠ΅ΠΌΡ X, ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π² MIT (ΠΠ°ΡΡΠ°ΡΡΡΠ΅ΡΡΠΊΠΈΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΠΈΡΡΡ) Π² Π½Π°ΡΠ°Π»Π΅ 1980 Π³Π³., Π΄Π»ΠΈΠ½Π½Π°Ρ ΠΈ ΡΡΠΊΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ. ΠΠ½Π° ΡΠΎΠ·Π΄Π°Π²Π°Π»Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΎΠΊΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΡΡΠ°Π½ΡΠΈΠΉ ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΡΠΎΠ³ΠΈΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ°Π»ΡΠ²Π°ΡΡΠΈΠΌΠΈ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΌΡ ΡΠΈΡΠ΅Π» ΡΡΠ΄ΠΎΠ²ΠΈΡΠ°ΠΌΠΈ.
ΠΠΎΠ³Π΄Π° Π½Π°ΡΡΡΠΏΠΈΠ»ΠΈ 1990 Π³Π³. ΠΈ ΡΠ΅Π½Ρ Π½Π° ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΠ°Π»ΠΈ, ΡΠ½ΡΡΠ·ΠΈΠ°ΡΡΡ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ X Π½Π° Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΈΠ΅ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ PC, ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΠ°Π» Π½Π°Π·ΡΠ²Π°ΡΡΡΡ XFree86 (ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ PC, Π²ΡΠΏΡΡΠΊΠ°Π²ΡΠΈΠ΅ΡΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ΅ΠΉ Intel ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌΠΈ, Π±ΡΠ»ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ x86), ΠΈ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Linux ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡΡ ΠΏΠΎΡΠΎΠΌΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° XFree86, Π° Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Linux ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΈΡΡΠ΅ΠΌΡ X, Π½Π°Π·Π²Π°Π½Π½ΡΠΉ X.Org,
X Window System ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ Π₯-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈ Π₯-ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ. ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ³Π°Π΄ΡΠ²Π°Π΅ΠΌΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ "X-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»". Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
X-ΡΠ΅ΡΠ²Π΅Ρ
X-ΡΠ΅ΡΠ²Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π°. ΠΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΡΠ»ΠΎΠ²Π° "ΡΠ΅ΡΠ²Π΅Ρ" ΡΠ°ΡΡΠΎ ΡΠΌΡΡΠ°Π΅Ρ: X-ΡΠ΅ΡΠ²Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠΌ ΠΠ. X-ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠΌ ΠΠ ΠΈΠ»ΠΈ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ Π² Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅ΡΠ²Π΅ΡΡ. ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ Π½Π΅ Π»ΠΈΡΠ΅Π½Π° ΡΠΌΡΡΠ»Π°, Π½ΠΎ ΡΠ°ΡΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ Π·Π°Π΄ΠΎΠΌ Π½Π°ΠΏΠ΅ΡΠ΅Π΄.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ X-ΡΠ΅ΡΠ²Π΅Ρ Π½Π°ΠΏΡΡΠΌΡΡ ΠΎΠ±ΡΠ°Π΅ΡΡΡ Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠΎΠΉ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ X-ΡΠ΅ΡΠ²Π΅Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π²Π°ΡΠ΅ΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ΅, ΠΈ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π°, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ²Π΅ΡΠΎΠ² ΠΈ Ρ.Π΄. Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ xorg.conf ΠΈΠ»ΠΈ Xfree86Config. Π ΠΏΡΠΎΡΠ»ΠΎΠΌ Π²Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ Π²ΡΡΡΠ½ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ X. Π ΡΡΠ°ΡΡΡΡ, ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ Linux Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΠΊΠΎΠ½ΠΎΠΌΡ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΈΠ·Π±Π°Π²Π»ΡΡ Π΅Π³ΠΎ ΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΎΠΊ!
X-ΡΠ΅ΡΠ²Π΅Ρ ΠΆΠ΄Π΅Ρ Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡ ΠΌΡΡΠΈ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ ΠΈ ΡΠ΅Π»ΡΠΊΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΠΌΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, X-ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ. ΠΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ; ΠΎΠ½ΠΈ ΡΠ»ΡΠΆΠ°Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ GUI. ΠΠΎΠ·ΠΆΠ΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΎΠ±ΡΡΠΈΡ ΠΈ ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ GTK+ ΡΠΈΠ³Π½Π°Π»Ρ.
X-ΠΊΠ»ΠΈΠ΅Π½Ρ
X-ΠΊΠ»ΠΈΠ΅Π½Ρ β ΡΡΠΎ Π»ΡΠ±Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ°Ρ X Window System ΠΊΠ°ΠΊ GUI. ΠΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΠΆΠΈΡΡ xterm, xcalc ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Abiword. X-ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΆΠ΄Π΅Ρ ΡΠΎΠ±ΡΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΠΎΡΡΠ»Π°Π΅ΠΌΡΠ΅ X-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, ΠΈ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° Π½ΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅X-ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π½Π° ΡΠΎΠΉ ΠΆΠ΅ ΠΌΠ°ΡΠΈΠ½Π΅, ΡΡΠΎ ΠΈ X-ΡΠ΅ΡΠ²Π΅Ρ.
X-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»
X-ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ X-ΡΠ΅ΡΠ²Π΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ X-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡ Π±ΡΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ X-ΠΊΠ»ΠΈΠ΅Π½Ρ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΡΠ΅ΡΠ΅Π· ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈΠ»ΠΈ ΡΠΈΡΡΡΠ΅ΠΌΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°ΡΡΠ½ΡΡ ΡΠ΅ΡΡ (Virtual Private Network, VPN). Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Linux X-ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈ X-ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ΅.
Xlib
Xlib β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, Π½Π΅ΡΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ X-ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ X-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°. ΠΠ½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ API ΠΎΡΠ΅Π½Ρ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° X-ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ°ΡΡΡΡ Π½Π° ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ Π²Π²ΠΎΠ΄. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ, ΡΡΠΎ Xlib β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΡΠ΅Π½Ρ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°ΠΆΠ΅ ΡΠ΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ ΡΡΠΎΠ»Ρ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠ΅Π½Ρ, β Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, ΡΡΠ΅Π±ΡΡΡΠΈΠΉ ΡΠΎΡΠ΅Π½ ΡΡΡΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ GUI Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Xlib. ΠΠ°ΠΌ Π½ΡΠΆΠ΅Π½ API, Π΄Π΅Π»Π°ΡΡΠΈΠΉ Π»Π΅Π³ΠΊΠΈΠΌ ΠΈ ΠΏΡΠΎΡΡΡΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² GUI, ΠΊΠ°ΠΊ ΠΌΠ΅Π½Ρ, ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ΡΡ ΡΠΏΠΈΡΠΊΠΈ. ΠΠΎΠ²ΠΎΡΡ ΠΊΡΠ°ΡΠΊΠΎ, ΡΡΡ ΡΠΎΠ»Ρ ΠΈΠ³ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΈΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° GUI, ΠΊΠΎΡΠΎΡΡΡ X-ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠΎΠ½, ΠΌΠ΅Π½Ρ, ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ Ρ.ΠΏ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΌΠ΅Π½Ρ, ΡΡΠ΅ΠΉΠΌΡ ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ±ΡΠΈΠΉ ΡΠ΅ΡΠΌΠΈΠ½ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² GUI, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ, β Π²ΠΈΠ΄ΠΆΠ΅ΡΡ, ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ GUI.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ°ΡΡΠ° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠΎΠ² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ X, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡ, ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°ΠΌΠΈ ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ. ΠΠ° ΠΊΠ°ΠΊΠΎΠΌ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ β Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΡ.
β‘ ΠΠ»Ρ ΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅?
β‘ ΠΡΠ΄ΡΡ Π»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Ρ Π²Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ?
β‘ ΠΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½ Π»ΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π² Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ?
β‘ ΠΠ°ΠΊΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠΎΠ³Π»Π°ΡΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠ½Π° Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡΠΌ Π²Π°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ?