Vaaiga lautele o emulators terminal

O nai upu mai le matou ofisa fa'aliliu: e masani lava ona taumafai tagata uma e fa'aliliu mea fou ma lomiga, ma e le'o i matou. Ae o terminals e le o se mea e faʻafouina tasi i le vaiaso. O le mea lea, ua matou faaliliuina mo oe se tusiga a Antoine Beaupré, lomia i le tautotogo o le 2018: e ui lava i lona "tausaga" tele i tulaga faʻaonapo nei, i lo matou manatu, o mea e leʻi leiloa lona taua. E le gata i lea, o le amataga lenei o se faasologa o tala e lua, ae na matou filifili e tuʻufaʻatasia i latou i se tasi pou tele.

Vaaiga lautele o emulators terminal

E iai se nofoaga fa'apitoa i fa'amaumauga fa'akomepiuta, ae i le tele o tausaga talu ai na fa'amalosia ai i latou e ola fa'atasi ma le laina fa'atonu ona o feso'ota'iga fa'akomepiuta ua fa'ateleina. Terminal emulators suia a latou lava uso hardware, lea, i le isi itu, o se suiga o faiga e faʻavae i luga o kata tuʻi ma kiki. O tufatufaga fa'aonaponei o lo'o sau ma le tele o emulators fa'amau o so'o se foliga ma lanu. Ma e ui o le toʻatele o loʻo faʻamalieina i le tulaga masani o loʻo tuʻuina mai e a latou siosiomaga faigaluega, o nisi e faʻaaogaina ma le mitamita polokalama faʻapitoa e faʻatautaia ai a latou atigi e sili ona fiafia i ai poʻo le tusitala o tusitusiga. Ae, e pei ona tatou vaʻaia mai lenei tusiga, e le o faʻamau uma na faia i le ata lava e tasi: latou te eseese tele i galuega, tele ma faʻatinoga.

O nisi fa'amaufa'ailoga e iai ni pupu fa'ate'ia fa'ate'ia, fa'atasi ai ma le tele o lo'o i ai se seti o galuega e matua'i ese lava, mai le lagolago mo se feso'ota'iga fa'apipi'i i tusitusiga. E ui ina matou na tilotilo i emulators terminal i aso ua mavae, o lenei tusiga o se faʻafouga o mea na muamua atu o le a fesoasoani i le au faitau e fuafua poʻo fea laina e faʻaoga i le 2018. O le afa muamua o le tusiga e faʻatusatusa foliga, ma le afa lona lua e iloilo le faʻatinoga.

O pito nei na ou iloiloina:

Vaaiga lautele o emulators terminal

Atonu e le o ni lomiga lata mai, talu ai na ou faʻatapulaʻaina i fale mautu i le taimi o le tusitusi, lea na mafai ona ou taʻavale i luga o Debian 9 poʻo Fedora 27. Na o le pau lava le tuusaunoaga o Alacritty. E tupuga mai i le GPU-faʻavaveina faʻamau ma ua tusia i se gagana e le masani ai ma fou mo lenei galuega - Rust. Na ou le aofia ai upega tafaʻilagi mai laʻu iloiloga (e aofia ai i luga Telefoni), ona o su'ega muamua na fa'aalia ai le leaga tele o le fa'atinoga.

lagolago Unicode

Na amata aʻu suʻega i le lagolago Unicode. Ole su'ega muamua ole fa'ailoga ole fa'aalia ole manoa Unicode mai Wikipedia tala: “é, Δ, И, ק, م, ๗, あ, 叶, 葉 ma le 말.” O lenei su'ega faigofie e fa'aalia ai pe mafai ona fa'agaoioi sa'o le fa'alava i le lalolagi atoa. xterm terminal e le fa'aalia uiga Arapi O Mem i le fa'atulagaina fa'aletonu:

Vaaiga lautele o emulators terminal

Ona o le faaletonu, o le xterm e faʻaaogaina le faʻamaufaʻailoga masani "fixed", lea, e tusa ai ma e tutusa lava Vicky, o lo'o i ai "le tele o le Unicode coverage talu mai le 1997". O lo'o i ai se mea o lo'o tupu i totonu o lenei vai papatisoga e mafua ai ona fa'aalia le tagata o se fa'avaa avanoa ma e na'o le taimi lava e fa'atupula'ia ai le mata'itusi i le 20+ mata'itusi e iu lava ina amata fa'aali sa'o le tagata. Ae ui i lea, o lenei "faʻaleleia" e motusia le faʻaalia o isi mataitusi Unicode:

Vaaiga lautele o emulators terminal

O nei faʻamalama na ave i Fedora 27, aua na maua ai faʻaiʻuga sili atu nai lo Debian 9, lea e le mafai ai e nisi faʻasologa tuai o faʻamau (faʻapitoa mlterm) ona faʻaogaina lelei fonuka. O le mea e laki na fa'amauina ai i isi fa'aliliuga mulimuli ane.

Vaʻai nei pe faʻapefea ona faʻaalia le laina i le xterm. E foliga mai o le faailoga Mem ma le Semitic mulimuli qoph tagai ile RTL style scripts (taumatau i le agavale), o lona uiga fa'apitoa e tatau ona fa'aalia mai le taumatau i le agavale. O su'esu'ega i luga ole laiga e pei ole Firefox 57 e fa'atautaia sa'o le laina o lo'o i luga. O se fa'amatalaga faigofie o tusitusiga RTL o le upu "Talia"i le gagana Eperu (שרה). Wiki itulau i tusitusiga e lua fai mai mea nei:

“O le tele o polokalame komepiuta e le mafai ona fa'aali sa'o tusitusiga e lua. Mo se faʻataʻitaʻiga, o le igoa Eperu "Sara" e aofia ai mataitusi agasala (ש) (lea e aliali mai i le itu taumatau), sosoo ai ma le resh (ר) ma mulimuli ane o ia (ה) (lea e tatau ona aliali mai i le agavale)."

O le tele o faʻailoga e le manuia lenei suʻega: Alacritty, VTE e maua mai Gnome ma XFCE terminals, urxvt, st ma xterm faʻaalia "Sara" i le faʻasologa faʻasolosolo, e peiseai na matou tusia le igoa "Aras".

Vaaiga lautele o emulators terminal

O le isi fa'afitauli i tusitusiga fa'atasi, e mana'omia ona fa'aoga tutusa, aemaise lava pe a fa'afefiloi tusitusiga RTL ma LTR. O tusitusiga RTL e tatau ona tamo'e mai le itu taumatau o le fa'amalama fa'amalama, ae o le a le mea e tatau ona tupu mo fa'amau e le mafai ona fa'aogaina le LTR English? O le tele o latou e leai ni masini fa'apitoa ma fa'aoga uma tusitusiga i le agavale (e aofia ai i le Konsole). O tuusaunoaga o pterm ma mlterm, lea e tausisi i tulaga ma fa'aoga sa'o ia laina.

Vaaiga lautele o emulators terminal

Puipuiga fa'aofi

O le isi vaega taua ua ou faailoaina o le puipuia o le fa'aofiina. E ui ina lauiloa lautele o sipela e pei o:

$ curl http://example.com/ | sh

o tulafono e tulei ai tulafono, e toaitiiti tagata latou te iloa o tulafono natia e mafai ona sosolo i totonu o le faʻamafanafanaga pe a kopi ma faapipii mai se upega tafaʻilagi, tusa lava pe a maeʻa suʻesuʻega faʻaeteete. Nofoaga fa'amaonia Gianna Horna faʻaalia manino le foliga mama o le poloaiga:

git clone git: //git.kernel.org/pub/scm/utils/kup/kup.git

e liua i se fa'alavelave pe a pasi mai le upega tafa'ilagi a Horn i totonu o le laina:

git clone /dev/null;
    clear;
	echo -n "Hello ";
	whoami|tr -d 'n';
	echo -e '!nThat was a bad idea. Don'"'"'t copy code from websites you don'"'"'t trust! 
	Here'"'"'s the first line of your /etc/passwd: ';
	head -n1 /etc/passwd
	git clone git://git.kernel.org/pub/scm/utils/kup/kup.git

E faapefea ona aoga? O lo'o iai le tulafono leaga i totonu o le poloka , lea e ave'esea mai le va'aiga a le tagata fa'aoga le CSS.

Faiga fa'apipi'i puipui e manino lava le fuafuaina e faʻaumatia na osofaʻiga. I le faiga lea, e fa'apipi'i ai e fa'amau le tusitusiga fa'apipi'i i ni fa'asologa fa'apitoa e sola ese ai e ta'u atu ai i le atigi le amataga o le tusitusiga. E ta'u atu ai i le atigi e mafai ona ia amana'ia mataitusi fa'apitoa e ono iai i totonu o tusitusiga fa'apipi'i. O pito uma e toe fo'i atu i le xterm fa'aaloalo e lagolagoina lenei vaega, ae o le fa'apipi'iina i le Fa'amaufa'ailoga e mana'omia ai le lagolago mai le atigi po'o le fa'aoga o lo'o fa'aogaina i luga o le laina. Mo se faʻataʻitaʻiga, faʻaogaina polokalama GNU Faitau laina (same Bash), manaʻomia se faila ~/.inputrc:

set enable-bracketed-paste on

Ae paga lea, o loʻo faʻaalia foi e le nofoaga o suʻega a Horn le auala e faʻafefe ai lenei puipuiga e ala i le faʻatulagaina o tusitusiga lava ia ma faʻamaeʻa le faʻaogaina o le Bracketed mode i ai. E aoga lenei mea ona e le sa'o sa'o ona fa'amama e nisi fa'asologa o le sola ese a'o le'i fa'aopoopoina a latou lava. Mo se faʻataʻitaʻiga, i aʻu e leʻi mafai lava ona faʻamaeʻaina suʻega a Konsole e tusa lava pe saʻo le faʻatulagaina .inputrc faila. O lona uiga e faigofie ona e fa'aleagaina lau fa'atulagaina o faiga ona o se talosaga e le'i lagolagoina po'o se atigi e le sa'o le fa'atulagaina. E sili ona mata'utia lenei mea pe a o'o i totonu o 'au'aunaga mamao, lea e le masani ai le fa'atulagaina o galuega fa'aeteete, aemaise lava pe a tele au masini mamao.

O se fofo lelei i lenei faʻafitauli o le faʻapipiʻi faʻamaufaʻailoga plugin mo le terminal urxvt, lea e na'o le fa'atoga e fa'aofi so'o se tusitusiga e iai laina fou. Ou te leʻi mauaina se filifiliga sili atu ona malupuipuia mo le osofaʻiga o tusitusiga na faʻamatalaina e Horn.

Tabs ma talaaga otooto

O se mea lauiloa i le taimi nei o le lagolago mo se faʻaoga faʻapipiʻi, lea o le a matou faʻamatalaina o se tasi faʻamalama faʻamalama o loʻo i ai le tele o isi faʻamau. O lenei galuega e eseese mo faʻamaufaʻailoga eseese, ma e ui lava e le lagolagoina e faʻamaufaʻailoga masani xterm faʻamau, o faʻaonaponei faʻaonaponei faʻapitoa e pei ole Xfce Terminal, GNOME Terminal ma Konsole o loʻo i ai lenei galuega. E lagolagoina fo'i e Urxvt fa'amau, ae na'o lou fa'aogaina o se fa'apipi'i. Ae i le tulaga o le tab support lava ia, Terminator o le taʻitaʻi e le faʻamaonia: e le gata e lagolagoina tabs, ae mafai foi ona faʻatulagaina faʻamau i soʻo se faʻatonuga (silasila i le ata i lalo).

Vaaiga lautele o emulators terminal

O le isi vaega o Terminator o le mafai lea ona "vaega" faʻatasi nei faʻamau ma tuʻuina atu tutusa ki i le tele o faʻamau i le taimi e tasi, e tuʻuina atu ai se meafaigaluega faʻapitoa mo le faʻatinoina o galuega tetele i luga o le tele o sapalai i le taimi e tasi. O lo'o fa'atinoina fo'i se vaega fa'apena i Konsole. Ina ia faʻaogaina lenei faʻaoga i isi faʻauʻuga, e tatau ona e faʻaogaina polokalama faʻapitoa e pei ole Vaega SSH, xlax poʻo tmux.

E sili atu le lelei o laupepa pe a fetaui ma faʻamatalaga: mo se faʻataʻitaʻiga, e mafai ona e maua le tasi laupepa mo imeli, isi mo talatalanoaga, ma isi. E lagolagoina lelei e le Konsole Terminal ma le GNOME Terminal. E fa'ataga uma e ta'i ta'itasi e otometi ona fa'alauiloa lana lava fa'amatalaga. E lagolagoina fo'i e Terminator fa'amatalaga, ae ou te le'i maua se auala e otometi ai ona fa'alauiloa nisi o polokalame pe a e tatalaina se lisi fa'apitoa. O isi fa'aupuga e leai se manatu o le "fa'amatalaga" i mea uma.

Ruffles

O le mea mulimuli o le a ou faʻamatalaina i le vaega muamua o lenei tusiga o le faʻaalia o faʻamau. Mo se faʻataʻitaʻiga GNOME, Xfce ma urxvt lagolago le manino, ae talu ai nei na tuʻu ai le lagolago mo ata pito i tua, faʻamalosia nisi tagata faʻaoga e sui i le laina. Tilix. Ia te au lava ia, ou te fiafia i ai ma e faigofie Punaoa, lea e setiina ai le seti faavae o lanu pito i tua mo urxvt. Ae ui i lea, o autu lanu e le masani ai e mafai foi ona tupu ai faafitauli. Faataitaiga, Solarized le galue ma talosaga Htop и IPTraf, talu ai ua uma ona latou faʻaogaina o latou lava lanu.

Uluai VT100 laina e leʻi lagolagoina lanu, ma o mea fou e masani ona faʻatapulaʻaina i le 256-lanu lanu. Mo tagata fa'apitoa e fa'apipi'iina a latou fa'au'uga, o fa'ai'uga o atigi po'o tulaga fa'amau i ni auala lavelave e mafai ona avea ma tapula'a ita. Tutu auala o lo'o i ai fa'au'uga o lo'o i ai le lagolago "Vauli Moni". O aʻu suʻega e faʻamaonia ai o le st, Alacritty ma VTE-faʻavae faʻamau e lagolagoina atoatoa le lanu moni. O isi faʻailoga e le lelei tele i lenei tulaga ma, o le mea moni, e le faʻaalia 256 lanu. I lalo e mafai ona e vaʻai i le eseesega i le va o le True Color support i GNOME terminals, st ma xterm, lea e faia se galuega lelei i lenei mea ma la latou 256 lanu lanu, ma le urxvt, e le gata ina toilalo le suʻega, ae faʻaalia ai foi ni mataitusi emoemo nai lo latou.

Vaaiga lautele o emulators terminal

E su'esu'e fo'i e nisi fa'amaufa'ailoga tusitusiga mo fa'ata'ita'iga URL ina ia mafai ai ona kiliki so'otaga. E fa'atatau lea i fa'amau uma e maua mai i le VTE, a'o mana'omia e le urxvt se fa'apipi'i fa'apitoa e fa'aliliu ai URL ile kiliki po'o le fa'aogaina o le ala pupuu. O isi fa'ailoga na ou su'eina fa'aaliga URL i isi auala.

Ma le mea mulimuli, o se faiga fou i fa'amaufa'ailoga o le filifiliga lea a le pa'u ta'ai. Mo se faʻataʻitaʻiga, st e leai se taʻavale paʻu; e manatu o le a faʻaaogaina e le tagata faʻaoga se faʻasologa tele e pei o tmux ma GNU lau.

Alacritty foi e leai ni backscroll buffers, ae o le a faaopoopo vave lana lagolago ona o le "tele manatu faaalia" i lenei autu mai tagata e faaaogāina. E ese mai i nei amataga, o laina uma na ou suʻeina e mafai ona ou mauaina lagolago faʻasolosolo solo.

So'ofa'atasi

I le vaega lona lua o mea (i le ulua'i tala ia e lua tala eseese - approx. auala) o le a matou faʻatusatusaina le faʻatinoga, faʻaogaina o mafaufauga ma le faʻaogaina. Ae ua mafai ona tatou iloa o nisi o terminals o loʻo fesiligia e iai ni faʻaletonu matuia. Mo se faʻataʻitaʻiga, o tagata faʻaoga e masani ona galulue faʻatasi ma tusitusiga RTL atonu e manaʻo e mafaufau i le mlterm ma le pterm, aua e sili atu i latou i le taulimaina o galuega tutusa nai lo isi. Na lelei foi le faatinoga a Konsole. O tagata fa'aoga e le galulue i fa'amaumauga RTL e mafai ona filifili se isi mea.

E tusa ai ma le puipuiga mai le faʻaofiina o tulafono leaga, urxvt e tu i fafo ona o lona faʻatinoina faʻapitoa o le puipuiga mai lenei ituaiga o osofaʻiga, lea e foliga mai e faigofie ia te aʻu. Mo i latou e su'e logo ma faaili, Konsole e aoga le va'ai. Ma le mea mulimuli, e taua le matauina o le VTE o se faʻavae sili ona lelei mo faʻamau, lea e faʻamaonia ai le lagolago lanu, faʻamaonia URL, ma isi. I le tepa muamua, o le laina faʻaletonu e sau ma lau siosiomaga e sili ona e fiafia i ai e mafai ona ausia uma manaʻoga, ae tuʻu le fesili lenei seia tatou malamalama i le faʻatinoga.

Sei faaauau le talanoaga


I se tulaga lautele, o le faʻatinoina o faʻamaufaʻailoga i totonu lava ia e ono foliga mai o se faʻafitauli mamao, ae e foliga mai, o nisi oi latou e faʻaalia le maualuga tele o le taofiofia mo polokalama o se ituaiga faʻavae. E le gata i lea, o le a tatou vaʻavaʻai i le mea e masani ona taʻua o le "saosaoa" (o le mea moni, o le saoasaoa lea o le taʻavale) ma le faʻaogaina o le faʻaogaina o le laina (faʻatasi ai ma le faʻaaliga e le o se mea taua tele i aso nei e pei o le tele o tausaga talu ai).

Faatuai

Ina ua maeʻa se suʻesuʻega maeʻaeʻa o le faʻatinoga o faʻatinoga, na ou oʻo mai i le faaiuga o le pito sili ona taua i lenei tulaga o le latency (ping). I lana tusiga “Matou te lolomi ma le fiafia” Na tilotilo Pavel Fatin i le leo o tusitala tusitusiga eseese ma faʻaalia o faʻauʻuga i lenei tulaga atonu e telegese nai lo le sili ona vave tusitala tusitusiga. O le faʻataʻitaʻiga lea na iu ai ina taʻitaʻia aʻu e fai aʻu lava suʻega ma tusia lenei tusiga.

Ae o le ā le mea e taʻua o le latency, ma aiseā e tāua tele ai? I lana tusiga, na faʻamatalaina e Fatin o le "le tuai i le va o le oomiina o se ki ma le faʻafouga o le screen talafeagai" ma sii mai. "Taiala ile Fegalegaleaiga a Tagata-Komepiuta", lea e faapea mai: “O le tuai o le vaaia o faamatalaga i luga o le komepiuta e iai sona aafiaga tāua i amioga ma le faamalieina o le tagata lomitusi.”

Ua faamatala mai e Fatin, e sili atu ona loloto āuga o lenei ping nai lo le na o le faamalieina: “e faagesegese le taina, e tele atu mea sesē e tupu, ma faateteleina ai le teteʻe o mata ma maso.” I se isi faaupuga, o le tele o le tuai e mafai ona oʻo atu ai i typos ma faʻaititia ai foi le tulaga lelei, aua e oʻo atu ai i le faʻaopoopoga o le mafaufau i luga o le faiʻai. Ae o le mea e sili ona leaga o le ping "faʻateleina le tiga o mata ma maso," lea e foliga mai e faʻaalia atinae o manuaga i galuega i le lumana'i (E foliga mai, o le tusitala o lona uiga o faafitauli i maso o mata, tua, lima ma, ioe, vaʻai - approx. auala) ona o le popole faifai pea.

O nisi o nei aafiaga ua leva ona iloa, ma o taunuuga suʻesuʻega, lomia i tua i le 1976 i le tusi talaaga Ergonomics, fai mai o le tuai o le 100 milliseconds "e matua afaina ai le saoasaoa o le taina." Talu ai nei lava, na faʻaalia ai le GNOME User Guide taimi tali talia i le 10 milliseconds, ma afai e te alu i luma, ona Microsoft Research e fa'aalia ai o le 1 millisecond e lelei.

Na faia e Fatin ana suʻega i tusitala tusitusiga; na ia faia se meafaigaluega feaveai e igoa Typometer, lea na ou faʻaaogaina e suʻe ai ping i emulators terminal. Ia manatua o le suʻega na faia i le faʻataʻitaʻiga mode: o le mea moni, e tatau ona tatou amanaʻia mea uma e lua (keyboard, USB controller, etc.) ma le gaioiga (video card buffer, monitor) latency. Fai mai Fatin, i faʻasalalauga masani e tusa ma le 20 ms. Afai e iai sau mea faigaluega, e mafai ona e ausia lenei fuainumera ile na'o le 3 milliseconds. Talu ai o lea ua i ai a matou meafaigaluega vave, e le tatau ona faʻaopoopoina e le talosaga lona lava latency. O le sini a Fatin o le aumaia o le latency o le talosaga i le 1 millisecond, pe ausia foi le vili e aunoa ma tuai fuae pei o IntelliJ IDEA 15.

O fa'ai'uga nei o a'u fua, fa'apea fo'i ma nisi o fa'ai'uga a Fatin, e fa'aalia ai o la'u su'ega e malie i ana su'ega:

Vaaiga lautele o emulators terminal

O le mea muamua na taia ai aʻu o le sili atu o le tali taimi o polokalame tuai e pei ole xterm ma mlterm. Faatasi ai ma le tulaga sili ona leaga o le resitala (2,4 ms), na sili atu le latou gaioiga nai lo le pito sili ona vave faʻaonaponei (10,6 ms mo le st). E leai se laina fa'aonaponei e pa'u i lalo ole 10 millisecond threshold. Aemaise lava, ua le mafai e Alacritty ona faʻafeiloaʻi le faʻatonuga o le "vave terminal emulator available", e ui lava ua faʻaleleia ana togi talu mai lana uluai iloiloga i le 2017. Ioe, o tusitala o le poloketi nofouta i le tulaga ma o loʻo galue e faʻaleleia le faʻaaliga. E tatau foi ona maitauina o Vim faʻaaogaina GTK3 o se faʻatonuga o le tele e sili atu lemu nai lo le GTK2. Mai lea mea e mafai ona tatou fa'ai'u ai o le GTK3 e fa'atupuina le fa'agata fa'aopoopo, ma o lo'o fa'aalia i isi fa'aupuga uma e fa'aaogaina (Terminator, Xfce4 Terminal ma GNOME Terminal).

Ae ui i lea, o eseesega atonu e le mafai ona iloa e mata. E pei ona faamatalaina e Fatin, "e te le tau nofouta i le tuai ona i ai sona aafiaga ia te oe." Ua lapatai mai foi Fatin e uiga i se eseesega masani: "soʻo se faʻalavelave i le taofiofia (jitter) e mafua ai le faʻalavelave faʻaopoopo ona o lo latou le mautonu."

Vaaiga lautele o emulators terminal

O le kalafi o loʻo i luga o loʻo ave ile Debian 9 mama (faʻaloaloa) ma i3 pule faamalama. O lenei si'osi'omaga e maua mai ai fa'ai'uga sili i su'ega fa'aletonu. E foliga mai, o le GNOME e fatuina se 20 ms ping faaopoopo mo fua uma. O se fa'amatalaga talafeagai mo lenei mea o le i ai lea o polokalame fa'atasi ma fa'agaioiga fa'agaoioiga o mea e fai. Ua aumaia e Fatin se faataitaiga mo se tulaga faapena Galue, lea e fa'aopoopoina ai le fa'atuai e ala i le fa'agaioi fa'atasi uma o mea e fai. Ona o le faaletonu, e sau foi GNOME ma se pule faamalama Mutter, lea e fa'atupu ai se fa'aopoopoga fa'aopoopo o le fa'apolopolo, lea e a'afia ai le ping ma fa'aopoopoina le itiiti ifo i le 8 milliseconds o le leo.

Vaaiga lautele o emulators terminal

Saosaoa tusi

O le isi su'ega o se su'ega masani o le "saosaoa" po'o le "bandwidth", lea e fuaina ai le vave e mafai ai e le fa'ailoga ona ta'ai se itulau a'o fa'aalia le tele o tusitusiga i luga o le lau. E eseese le fa'ainisinia o le su'ega; o le su'ega muamua o le fa'atupuina o le manoa lava e tasi e fa'aaoga ai le fa'atonuga seq. O isi su'ega e aofia ai le su'ega a Thomas E. Dickey (xterm maintainer), lea e fai soo ua sii mai le faila terminfo.src. I se isi iloiloga o fa'atinoga fa'amau Den Luu fa'aaogaina se manoa fa'ailoga fa'avae32 o bytes fa'afuase'i, o lo'o fa'aulu i le fa'aumu e fa'aaoga ai pusi. Ua manatu Luu o sea su'ega "e leai se aoga e pei ona mafai ona mafaufauina e se tasi" ma fautuaina le fa'aaogaina o tali fa'amau e fai ma metric muamua. Ua ta'ua foi e Dickey lana suega e taufaasese. Peita'i, ua fa'ailoa e tusitala e lua e mafai ona avea le bandwidth fa'amalama fa'amalama ma se fa'afitauli. Na maua e Luu le Emacs Eshell o lo'o malolo ina ua fa'aali faila tetele, ma na fa'amanino e Dickey le fa'ailoga e fa'ate'a ese ai le fa'aletonu va'aia o le xtrerm. O lo'o iai pea se fa'amanuiaga i lenei su'ega, ae talu ai e matua'i 'ese'ese le faiga o le tu'uina atu mai le fa'ailoga i lea fa'amau, e mafai fo'i ona fa'aaogaina e fai ma vaega o su'ega e fa'ata'ita'i ai isi vaega.

Vaaiga lautele o emulators terminal

O iinei tatou te vaʻavaʻai ai i le rxvt ma le st toso i luma o le tauvaga, sosoo ai ma le Alacritty sili atu ona fou, lea ua mamanuina ma le taulaʻi i le faʻatinoga. E soso'o ai le Xfce (VTE family) ma le Konsole, lea e toeitiiti faaluaina le vave. O le mea mulimuli o le xterm, lea e lima taimi lemu nai lo le rxvt. I le taimi o le suʻega, o le xterm na faʻafefe tele foi, ma faigata ai ona vaʻai i tusitusiga e tusa lava pe tutusa le laina. Sa vave le Konsole, ae sa fai togafiti i nisi o taimi: o le faʻaaliga e malolo mai lea taimi i lea taimi, faʻaalia se vaega o tusitusiga pe le faʻaalia uma. O isi fa'ailoga fa'aalia manino manoa, e aofia ai st, Alacritty, ma rxvt.

O lo'o fa'amatala e Dickey o le eseesega o fa'atinoga e mafua mai i le mamanu o pa'u ta'ai i fa'ailoga eseese. Aemaise lava, na te tuʻuaia rxvt ma isi faʻamaumauga o le "le mulimuli i tulafono lautele":

"E le pei o le xterm, e leʻi taumafai le rxvt e faʻaalia uma faʻafouga. Afai e pau i tua, o le a teena nisi faʻafouga e puʻe. O lenei mea na i ai se aafiaga sili atu i luga o le saoasaoa o le taʻavale nai lo le faʻalapotopotoga manatua i totonu. O le tasi faʻafitauli o le ASCII animation sa fai si le saʻo."

Ina ia faʻaleleia lenei vaʻaia o le xterm sluggishness, ua fautuaina e Dickey le faʻaaogaina o punaoa vaveScroll, fa'atagaina le xterm e lafoa'i nisi fa'afouga o lau mata e fa'aauau ai le tafe. O aʻu suʻega e faʻamaonia ai o le fastScroll e faʻaleleia le faʻatinoga ma aumaia le xterm e tutusa ma le rxvt. Ae ui i lea, o se tootoo faigata tele, e pei ona faamatalaina e Dickey lava ia: "o nisi taimi xterm - pei o le konsole - e foliga mai e taofi aʻo faʻatali mo se seti fou o faʻamatalaga mata pe a uma ona aveese nisi." I lenei tulaga, e foliga mai o isi faʻauʻuga ua maua le maliega sili i le va o le saoasaoa ma le faʻaalia o le amio saʻo.

Fa'aaogāga puna'oa

E tusa lava pe talafeagai le mafaufau i le saoasaoa o le taʻavale o se metric faʻatinoga, o lenei suʻega e mafai ai ona tatou faʻataʻitaʻiina le uta i luga o faʻamau, lea e mafai ai ona tatou fuaina isi taʻaloga e pei o le manatua poʻo le faʻaogaina o le disk. O fua fa'atatau na maua i le fa'atinoina o le su'ega fa'apitoa seq i lalo o le mataituina o le Python process. Na ia aoina faʻamaumauga mita getrusage() mo ru_maxrss, aofaiga ru_oublock и ru_inblock ma se taimi faigofie.

Vaaiga lautele o emulators terminal

I lenei suʻega, o le ST e maua le tulaga muamua ma le maualalo o le faʻaaogaina o le manatua o le 8 MB, e le o se mea e ofo ai le manatu o le manatu autu o le mamanu e faigofie. mlterm, xterm ma rxvt 'ai sina mea itiiti - pe a ma le 12 MB. O le isi taunuuga iloga o Alacritty, lea e manaʻomia ai le 30 MB e tamoe ai. Ona i ai lea o faʻamaufaʻailoga o le aiga VTE ma fuainumera mai le 40 i le 60 MB, e tele naua. O lenei taumafa e mafai ona faʻamatalaina i le mea moni o nei faʻamau e faʻaogaina faletusi maualuluga, mo se faʻataʻitaʻiga, GTK. O le Konsole e sau mulimuli ma le 65MB o le faʻaaogaina o mafaufauga i taimi o suʻega, e ui lava e mafai ona faʻamaonia e ala i le tele o vaega o foliga.

Pe a faʻatusatusa i taunuʻuga muamua na maua i le sefulu tausaga talu ai, o polokalame uma na amata ona faʻaaogaina le tele o manatuaga. Xterm e manaʻomia le 4 MB, ae o lea e manaʻomia le 15 MB i le amataga. O loʻo i ai se faʻaopoopoga tutusa i le taumafaina mo le rxvt, lea e manaʻomia nei le 16 MB mai le pusa. O le Xfce Terminal e alu i luga le 34 MB, lea e faatoluina le tele nai lo le taimi muamua, ae ole GNOME Terminal e manaʻomia naʻo le 20 MB. Ioe, o suʻega uma na muamua na faia i luga o le 32-bit architecture. I le LCA 2012 Rusty Russell taʻu atu, o loʻo i ai le tele o mafuaʻaga faʻapitoa e mafai ona faʻamatalaina le faʻateleina o le taumafaina manatua. I le fai atu o lena mea, ua tatou ola nei i se taimi o loʻo i ai le gigabytes o manatuaga, o lea o le a tatou pulea ai.

Ae ui i lea, e le mafai ona ou fesoasoani ae ou te lagona o le tuʻuina atu o le tele o manatuaga i se mea taua e pei o le faʻailoga o se faʻamaumau o punaoa. O nei polokalame e tatau ona laʻititi i laʻititi laʻititi, e tatau ona mafai ona taʻavale i luga o soʻo se "pusa", e oʻo lava i se pusa seevae, pe a tatou oʻo i le tulaga e manaʻomia ai ona faʻapipiʻiina i Linux (ma e te iloa o le a faapena. ). Ae fa'atasi ai ma nei fuainumera, o le fa'aogaina o le manatua o le a avea ma fa'afitauli i le lumana'i i so'o se si'osi'omaga o lo'o fa'atautaia le tele o fa'ailoga e ese mai i nai mea e sili ona mama ma sili ona fa'atapula'aina i gafatia. Ina ia tauia lenei mea, GNOME Terminal, Konsole, urxvt, Terminator ma Xfce Terminal o loʻo i ai se Daemon mode e mafai ai ona e pulea le tele o faʻauʻuga e ala i se faʻagasologa e tasi, faʻatapulaʻaina o latou mafaufau.

Vaaiga lautele o emulators terminal

I le taimi o aʻu suʻega, na ou oʻo mai ai i se isi faʻalavelave faʻafuaseʻi e uiga i le faitau-tusitusi tisiki: Na ou faʻamoemoe e leai se mea e vaʻaia iinei, ae na foliga mai o nisi faʻamau e tusia faʻamatalaga sili ona tele i le disk. O lea la, o le faletusi VTE o loʻo teuina moni lava se paʻu taʻavale i luga o le disk (lea vaega na matauina i tua i le 2010, ma o loʻo tupu pea lenei mea). Ae e le pei o faʻataʻitaʻiga tuai, o lea ua faʻapipiʻiina nei faʻamatalaga e faʻaaoga ai le AES256 GCM (mai le lomiga 0.39.2). Ae o se fesili talafeagai e tulaʻi mai: o le a le mea faʻapitoa e uiga i le VTE faletusi e manaʻomia ai se auala e le masani ai i le faʻatinoga...

iʻuga

I le vaega muamua o le tusiga, na matou iloa ai o VTE-faʻavae pito i luga o loʻo i ai se seti lelei o foliga, ae o lea ua matou vaʻai o loʻo sau ma nisi tau faʻatinoga. O le taimi nei o le manatua e le o se faʻafitauli aua o VTE uma e mafai ona pulea e ala i se Daemon process, lea e faʻatapulaʻaina ai lo latou manaʻo. Ae ui i lea, o faiga tuai o loʻo i ai tapulaʻa faaletino i luga o le aofaʻi o le RAM ma kernel buffers atonu o loʻo manaʻomia pea faʻasologa muamua o faʻamau, talu ai latou te faʻaaogaina le itiiti ifo o punaoa. E ui ina lelei le fa'atinoina o fa'au'uga VTE i su'ega (ta'amilosaga) fa'ata'ita'iga, ae o lo'o i luga a'e o le fa'ailoga ua tu'u ile GNOME User Guide. Atonu e tatau i tagata atiae VTE ona amanaia lenei mea. Afai tatou te manatu e oʻo lava mo tagata fou Linux o loʻo faʻafeiloaʻi se faʻailoga e le maalofia, e mafai ona latou faʻaogaina atili faʻaoga. Mo geeks poto masani, o le fesuia'i mai le tulaga fa'aletonu e mafai ona fa'aitiitia ai le tiga o mata ma le mafai ona aloese mai manu'a ma ma'i i le lumana'i ona o taimi faigaluega umi. Ae paga lea, naʻo le xterm tuai ma mlterm e aumaia ai i matou i le faʻailoga ping faʻailoga o le 10 milliseconds, lea e le taliaina mo le toʻatele.

O fua fa'atatau na fa'aalia ai fo'i ona o le atina'eina o si'osi'omaga fa'akomepiuta a Linux, e tatau ona faia e le au atina'e le tele o fetuutuuna'i. O nisi tagata fa'aoga atonu e mana'o e va'ai i fa'amalama fa'amalama masani a'o latou tu'uina atu fa'aitiitiga ping. Ae paga lea, e le'i mafai ona fuaina le taofiofia mo Wayland: o le Typometer program na ou fa'aogaina na faia mo le mea ua mamanuina Wayland e puipuia ai: sipai i isi faamalama. Ou te faʻamoemoe e sili atu le lelei o le gaosiga o Wayland nai lo le X.org, ma ou te faʻamoemoe foi i le lumanaʻi o le a maua e se tasi se auala e fua ai le le tumau i lenei siosiomaga.

puna: www.habr.com

Faaopoopo i ai se faamatalaga