ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ VTE (Virtual TErminal library) ΠΈ Π²ΠΎΡΠ΅Π΄ΡΠΈΡ Π² ΡΠΎΡΡΠ°Π² ΡΠ΅Π»ΠΈΠ·Π° GNOME 46. ΠΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½Π° ΠΎΡΠ·ΡΠ²ΡΠΈΠ²ΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² ΡΠΌΡΠ»ΡΡΠΎΡΠ°Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Alacritty, Console (GTK 4), GNOME Terminal (GTK 3 ΠΈ 4) ΠΈ VTE Test App (ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ VTE), ΠΏΡΠΈ ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ΅ Π² Fedora 39 Ρ GNOME 45 ΠΈ Π² Fedora 40-beta Ρ GNOME 46. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Alacritty Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ VTE ΠΈ Π²ΡΠ±ΡΠ°Π½ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°Π»ΠΎΠ½Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ, ΡΡΠ΄Ρ ΠΏΠΎ ΠΏΡΠΎΡΠ»ΡΠΌ ΡΠ΅ΡΡΠ°ΠΌ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΡ ΡΠΌΡΠ»ΡΡΠΎΡΠΎΠ² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠ². ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ Π΄Π°ΡΡΠΈΠΊ Π½Π° Π±Π°Π·Π΅ ΠΏΠ»Π°ΡΡ Teensy, ΠΈΠ·ΠΌΠ΅ΡΡΡΡΠΈΠΉ Π²ΡΠ΅ΠΌΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° VTE ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π³ΠΎΡΠΎΠ²ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ GTK, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΌΡΠ»ΡΡΠΎΡΠ°Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π΄Π»Ρ GNOME, ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΡΠΎΡΡΡ GNOME Terminal, Console, Black Box, Tilix, Terminator ΠΈ Ptyxis. Π Π²Π΅ΡΡΠΈΠΈ GNOME 46 Π² VTE ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ, ΡΡΠΎ, ΠΏΠΎ ΠΎΡΠ΅Π½ΠΊΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΏΡΠΈΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π°Π» Π² ΡΠ΅ΡΡΠ°Ρ 40%. C ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π»ΠΈ ΠΊ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ ΠΏΡΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡ Ρ GTK 4. Π Π°Π½Π΅Π΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π² Console ΠΈ GNOME Termina Π±ΡΠ»ΠΈ ΠΎΡΡΡΠΈΠΌΡ, ΡΡΠΎ ΠΎΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°ΡΠ½ΡΡ ΡΠΌΡΠ»ΡΡΠΎΡΠΎΠ² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π΄Π»Ρ GNOME. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π²Π΅ΡΡΠΈΠΈ VTE 0.76 ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ΅Π½Π°.
ΠΡΠΎΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ»ΠΎ Π·Π°ΠΌΠ΅ΡΠ½ΠΎΠ΅ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π½Π° Π±Π°Π·Π΅ VTE, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠΎΡΡΡΡ , Π½ΠΎ ΠΈ Π² ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ neovim Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π²Π²ΠΎΠ΄Π° ΡΠΌΡΠ»ΡΡΠΎΡΠΎΠ² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π½Π° Π±Π°Π·Π΅ VTE ΡΠΎΠΊΡΠ°ΡΠΈΠ»ΠΈΡΡ Π΄ΠΎ ΡΡΠΎΠ²Π½Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Alacritty. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ Π² ΡΠ΅ΡΡΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡ «cat», ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡ Π² Console ΠΈ GNOME Terminal ΡΠ½ΠΈΠ·ΠΈΠ»ΠΈΡΡ Π΄ΠΎ 40 Π΄ΠΎ 12 ΠΌΡ, Π° Π² ΡΠ΅ΡΡΠ΅ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ Π² neovim — Ρ 45 Π΄ΠΎ 23 ΠΌΡ.
Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ VTE ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠ΅Π½ΠΎ Π² ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ vtebench, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅Ρ Π½Π΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π²Π²ΠΎΠ΄Π°, Π° Π²ΡΠ΅ΠΌΡ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΡΡΡΠΎΠΉΡΡΠ²Π° PTY ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°Π·Π±ΠΎΡΠ° (ΡΠ΅ΡΡΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΡΡΡΠΎΡΠ°). ΠΡΠΈ ΡΡΠΎΠΌ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ΅ΡΡΠΎΠ² vtebench ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Alacritty ΠΎΠ±Π³ΠΎΠ½ΡΠ΅Ρ Console ΠΈ GNOME Terminal, Π½ΠΎ ΠΎΡΡΡΠ°Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠΆΠ΅ Π½Π΅ ΡΠ°ΠΊ ΡΡΠΊΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΎ ΠΊΠ°ΠΊ ΡΠ°Π½ΡΡΠ΅. ΠΡΡΠ°ΡΡΠΈ ΠΎΡΡΡΠ°Π²Π°Π½ΠΈΠ΅ GNOME Terminal ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠΌΠΈ ΡΠ°ΡΡ ΠΎΠ΄Π°ΠΌΠΈ Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠ΅Π΄ΡΡΠ² Π΄Π»Ρ Π»ΡΠ΄Π΅ΠΉ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ (accessibility).
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru