Β exit(0);}ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π»ΠΈΡΡ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ°ΠΊ ΠΈ ΡΠ°Π½ΡΡΠ΅, Π²Ρ ΠΈΡΠ΅ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡ
daytimegetservbynamesocketSOCK_DGRAMΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ Π½Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ ΡΠ²Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ Π½Π° Π±Π°Π·Π΅ UDP, Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΏΠΎΡΠΎΠ± ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΏΠΎΡΡΠ»Π°Π΅ΡΠ΅ Π΄Π΅ΠΉΡΠ°Π³ΡΠ°ΠΌΠΌΡ (Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ ΠΈΠ· Π±ΡΡΠ΅ΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ) ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ ΠΎΠ½ ΠΏΠΎΡΡΠ»Π°Π΅Ρ Π² ΠΎΡΠ²Π΅Ρ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ.
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ²
sendto<b>int sendto(int sockfd, void *buffer, size_t len, int flags,</b>
<b>Β struct sockaddr *to, socklen_t tolen);</b>
Π ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
flagsΠ‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² recvfrom ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π΄Π΅ΠΉΡΠ°Π³ΡΠ°ΠΌΠΌΡ Π² ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΡΠΎΠΊΠ΅ΡΠ° Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ Π°Π΄ΡΠ΅ΡΠΎΠΌ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π΅Π΅ Π² Π±ΡΡΠ΅Ρ. Π£ ΡΡΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΎΡΠΎΡΠΈΠΏ:
<b>int recvfrom(int sockfd, void *buffer, size_t len, int flags,</b>
<b>Β struct sockaddr *from, socklen_t *fromlen);</b>
Π ΡΠ½ΠΎΠ²Π° Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
flagsΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΡ ΠΏΡΠΎΠΏΡΡΡΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠ±Π° Π²ΡΠ·ΠΎΠ²Π°,
sendtorecvfromerrnoΠ’Π°Π±Π»ΠΈΡΠ° 15.6
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ errno | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|
EBADF | ΠΡΠ» ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π½Π΅Π²Π΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ |
EINTR | ΠΠΎΡΠ²ΠΈΠ»ΡΡ ΡΠΈΠ³Π½Π°Π» |
ΠΡΠ»ΠΈ ΡΠΎΠΊΠ΅Ρ Π½Π΅ Π±ΡΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π°
fcntlrecvfromselectΠ Π΅Π·ΡΠΌΠ΅Β
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² β ΡΠΎΠΊΠ΅ΡΡ. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠ΅Π΄Π΅. ΠΡΠ»ΠΎ Π΄Π°Π½ΠΎ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠ·Π»ΠΎΠ² ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ 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-ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠΌ ΠΠ ΠΈΠ»ΠΈ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ Π² Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅ΡΠ²Π΅ΡΡ. ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ Π½Π΅ Π»ΠΈΡΠ΅Π½Π° ΡΠΌΡΡΠ»Π°, Π½ΠΎ ΡΠ°ΡΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ Π·Π°Π΄ΠΎΠΌ Π½Π°ΠΏΠ΅ΡΠ΅Π΄.