Forbhreathnú ar aithriseoir teirminéil

Cúpla focal ónár mbiúró aistriúcháin: de ghnáth déanann gach duine a dhícheall na hábhair agus na foilseacháin is déanaí a aistriú, agus ní haon eisceacht sinn. Ach nach bhfuil críochfoirt rud a nuashonraítear uair sa tseachtain. Mar sin, d’aistrigh muid alt le Antoine Beaupré duit, a foilsíodh in earrach na bliana 2018: in ainneoin a “aois” suntasach de réir caighdeáin nua-aimseartha, inár dtuairim féin, níor chaill an t-ábhar a ábharthacht ar chor ar bith. Ina theannta sin, ba shraith dhá alt a bhí anseo ar dtús, ach shocraigh muid iad a chomhcheangal in aon phost mór amháin.

Forbhreathnú ar aithriseoir teirminéil

Tá áit ar leith ag críochfoirt i stair na ríomhaireachta, ach le blianta beaga anuas cuireadh iallach orthu maireachtáil taobh leis an líne ordaithe de réir mar a éiríonn comhéadain ghrafacha uileláithreach. Aithriseoirí críochfoirt in ionad a gcuid féin deartháireacha crua-earraí, a bhí, ina dhiaidh sin, ina mhodhnú ar chórais bunaithe ar chártaí pollta agus lasca scoránaigh. Tagann dáiltí nua-aimseartha le héagsúlacht aithriseoir teirminéil de gach cruth agus dath. Agus cé go bhfuil go leor sásta leis an teirminéal caighdeánach a sholáthraíonn a dtimpeallacht oibre, úsáideann cuid acu go bródúil as bogearraí coimhthíocha díreacha chun a gcuid blaosc nó eagarthóir téacs is fearr leo a rith. Ach, mar a fheicfimid ón alt seo, níor cruthaíodh gach críochfort san íomhá chéanna: tá difríocht mhór acu i bhfeidhmiúlacht, méid agus feidhmíocht.

Tá poill slándála iontasacha ag roinnt críochfoirt, agus tá sraith feidhmeanna go hiomlán difriúil ag an gcuid is mó, ó thacaíocht do chomhéadan tabbed go dtí an script. Cé go bhfuil muid d'fhéach sé ar aithriseoir teirminéil san am atá caite i bhfad i gcéin, is nuashonrú é an t-alt seo ar an ábhar roimhe seo a chabhróidh le léitheoirí a chinneadh cén teirminéal atá le húsáid i 2018. Déanann an chéad leath den alt comparáid idir gnéithe, agus déanann an dara leath measúnú ar fheidhmíocht.

Seo iad na críochfoirt a ndearna mé athbhreithniú orthu:

Forbhreathnú ar aithriseoir teirminéil

B'fhéidir nach iad seo na leaganacha is déanaí, ós rud é go raibh mé teoranta do thógálacha cobhsaí ag an am seo scríofa, a raibh mé in ann a rolladh amach ar Debian 9 nó Fedora 27. Is é an t-aon eisceacht ná Alacritty. Is de shliocht críochfoirt luasghéaraithe GPU é agus tá sé scríofa i dteanga neamhghnách agus nua don tasc seo - Rust. D'eisiaigh mé críochfoirt gréasáin ó mo athbhreithniú (lena n-áirítear iad siúd ar leictreon), toisc gur léirigh na réamhthástálacha a bhfeidhmíocht thar a bheith lag.

Tacaíocht Unicode

Thosaigh mé mo thástálacha le tacaíocht Unicode. Ba é an chéad tástáil ar na teirminéil ná an teaghrán Unicode ó ailt Vicipéide: “é, Δ, И, ק, م, ๗, あ, 叶, 葉 agus 말.” Léiríonn an tástáil shimplí seo an féidir leis an teirminéal oibriú i gceart ar fud an domhain. Ní thaispeánann teirminéal xterm carachtar Araibis Mem i gcumraíocht réamhshocraithe:

Forbhreathnú ar aithriseoir teirminéil

De réir réamhshocraithe, úsáideann xterm an cló clasaiceach "seasta", a, de réir fós mar an gcéanna Vicky, a bhfuil "clúdach substaintiúil Unicode aige ó 1997". Tá rud éigin ar siúl sa chló seo a fhágann go bhfuil an carachtar le feiceáil mar fhráma bán agus is nuair a mhéadaítear an cló téacs go dtí 20+ pointe a thosaíonn an carachtar á thaispeáint i gceart ar deireadh. Mar sin féin, briseann an “shocrú” seo taispeáint carachtair Unicode eile:

Forbhreathnú ar aithriseoir teirminéil

Tógadh na screenshots seo i Fedora 27, toisc gur thug sé torthaí níos fearr ná Debian 9, áit nach bhféadfadh roinnt leaganacha níos sine de chríochfoirt (go sonrach mlterm) clónna a láimhseáil i gceart. Ar ámharaí an tsaoil socraíodh é seo i leaganacha níos déanaí.

Anois tabhair faoi deara conas a thaispeántar an líne in xterm. Tharlaíonn sé go raibh an Mem siombail agus Semitic seo a leanas qoph déan tagairt do scripteanna stíl RTL (ar dheis-ar-chlé), mar sin go teicniúil ba chóir iad a thaispeáint ó dheas go clé. Láimhseálann brabhsálaithe gréasáin ar nós Firefox 57 an líne thuas i gceart. Leagan níos simplí de théacs RTL is ea an focal "Sarah" in Eabhrais (abair). Leathanach Vicí ar théacsanna déthreocha deir an méid seo a leanas:

“Ní féidir le go leor ríomhchlár an téacs déthreo a thaispeáint i gceart. Mar shampla, tá an t-ainm Eabhrais "Sarah" comhdhéanta de na carachtair pheaca (ש) (atá le feiceáil ar dheis), ansin resh (ר) agus ar deireadh sé (ה) (ba chóir a bheith le feiceáil ar an taobh clé)."

Teipeann ar go leor críochfoirt an tástáil seo: taispeánann Alacritty, críochfoirt Gnome agus XFCE de bhunadh VTE, urxvt, st agus xterm "Sara" in ord droim ar ais, amhail is dá mbeadh an t-ainm scríofa againn mar "Aras".

Forbhreathnú ar aithriseoir teirminéil

Fadhb eile le téacsanna déthreocha ná gur gá iad a ailíniú ar bhealach éigin, go háirithe nuair a thagann sé chun téacsanna RTL agus LTR a mheascadh. Ba cheart go rithfeadh scripteanna RTL ó thaobh na láimhe deise den fhuinneog teirminéil, ach cad ba cheart a tharlóidh do chríochfoirt a dhéanann LTR Béarla réamhshocraithe? Níl aon mheicníochtaí speisialta ag an gcuid is mó díobh agus ailíníonn siad gach téacs ar chlé (lena n-áirítear i Konsole). Is iad na heisceachtaí ná pterm agus mlterm, a chloíonn leis na caighdeáin agus a ailíníonn ar dheis línte den sórt sin.

Forbhreathnú ar aithriseoir teirminéil

Cosaint ionsáite

Is í an chéad ghné chriticiúil eile atá aitheanta agam ná cosaint frith-chur isteach. Cé go bhfuil sé ar eolas go forleathan go bhfuil geasa mar:

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

gur orduithe brú forghníomhaithe cód iad, is beag duine a fhios gur féidir le horduithe folaithe sní isteach sa chonsól agus iad ag cóipeáil agus ag greamú ó bhrabhsálaí gréasáin, fiú tar éis iniúchadh cúramach. Suíomh fíoraithe Gianna Horna léiríonn sé go hiontach cé chomh neamhchiontach agus atá an t-ordú:

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

ina núis dá leithéid nuair a ghreamaítear é ó shuíomh Gréasáin Horn isteach sa teirminéal:

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

Conas a oibríonn sé? Tá cód mailíseach san áireamh sa bhloc , a bhogtar amach as radharc an úsáideora ag baint úsáide as CSS.

Mód greamaigh lúibíní deartha go soiléir chun ionsaithe den sórt sin a neodrú. Sa mhodh seo, cuireann teirminéil an téacs greamaithe isteach i bpéire seichimh éalaithe speisialta chun bunús an téacs a insint don bhlaosc. Insíonn sé seo don bhlaosc gur féidir leis neamhaird a dhéanamh ar charachtair speisialta a d'fhéadfadh a bheith sa téacs greamaithe. Tacaíonn na teirminéil go léir ar ais go dtí an xterm venerable leis an ngné seo, ach teastaíonn tacaíocht ón mblaosc nó ón bhfeidhmchlár atá ag rith ar an teirminéal má dhéantar é a ghreamú i mód Lúibíní. Mar shampla, ag baint úsáide as bogearraí GNU Léighlíne (Bash céanna), tá comhad ag teastáil ~/.inputrc:

set enable-bracketed-paste on

Ar an drochuair, taispeánann láithreán tástála Horn freisin conas an chosaint seo a sheachbhóthar tríd an bhformáid téacs é féin agus an modh Bracketed a chur i bhfeidhm roimh am faoi dheireadh. Oibríonn sé seo toisc nach ndéanann roinnt críochfoirt na seichimh éalaithe a scagadh i gceart sula gcuirtear a gceann féin leo. Mar shampla, i mo cheannsa ní raibh mé in ann tástálacha Konsole a chríochnú go rathúil fiú leis an gcumraíocht cheart .inputrc comhad. Ciallaíonn sé seo gur féidir leat cumraíocht do chórais a fháil truaillithe go héasca de bharr feidhmchlár nach dtacaítear leis nó sliogán atá cumraithe go mícheart. Tá sé seo contúirteach go háirithe agus tú ag logáil isteach ar fhreastalaithe cianda, áit nach mbíonn obair chumraíochta chúramach chomh coitianta, go háirithe má tá go leor meaisíní iargúlta den sórt sin agat.

Réiteach maith ar an bhfadhb seo is ea an breiseán dearbhaithe greamaigh don teirminéal urxvt, a iarrann cead téacs ar bith ina bhfuil línte nua a chur isteach. Níl rogha níos sláine aimsithe agam don ionsaí téacs ar chuir Horn síos air.

Cluaisíní agus próifílí

Gné a bhfuil an-tóir uirthi faoi láthair ná tacaíocht do chomhéadan tabbed, a shainmhíneoimid mar fhuinneog teirminéil amháin ina bhfuil roinnt críochfoirt eile. Tá difríocht idir an fheidhm seo do chríochfoirt éagsúla, agus cé nach dtacaíonn críochfoirt xterm traidisiúnta le cluaisíní ar chor ar bith, tá an fheidhm seo ag incarnations teirminéil níos nua-aimseartha ar nós Xfce Terminal, GNOME Terminal agus Konsole. Tacaíonn Urxvt le cluaisíní freisin, ach amháin má úsáideann tú breiseán. Ach i dtéarmaí tacaíochta cluaisíní féin, is é Terminator an ceannaire gan amhras: ní hamháin go dtacaíonn sé le cluaisíní, ach féadann sé críochfoirt a shocrú in aon ord freisin (féach an íomhá thíos).

Forbhreathnú ar aithriseoir teirminéil

Gné eile de Terminator is ea an cumas na cluaisíní seo a "ghrúpáil" le chéile agus na heochairbhuillí céanna a sheoladh chuig ilchríochfoirt ag an am céanna, ag soláthar amhuirlis chun oibríochtaí mórchóir a dhéanamh ar fhreastalaithe iolracha ag an am céanna. Cuirtear gné chomhchosúil i bhfeidhm freisin i Konsole. Chun an ghné seo a úsáid i gcríochfoirt eile, ní mór duit bogearraí tríú páirtí a úsáid mar SSH braisle, xlaxtmux.

Oibríonn cluaisíní go háirithe go maith agus iad péireáilte le próifílí: mar shampla, is féidir cluaisín amháin a bheith agat le haghaidh ríomhphoist, ceann eile le haghaidh comhrá, agus mar sin de. Tacaíonn Críochfort Konsole agus Críochfort GNOME leis seo go maith. Ligeann an dá cheann do gach cluaisín a phróifíl féin a sheoladh go huathoibríoch. Tacaíonn Terminator le próifílí freisin, ach ní raibh mé in ann bealach a aimsiú chun cláir áirithe a sheoladh go huathoibríoch nuair a osclaíonn tú cluaisín ar leith. Níl coincheap an “phróifíl” ag teirminéil eile ar chor ar bith.

Ruffles

Is é an rud deireanach a chlúdóidh mé sa chéad chuid den Airteagal seo ná cuma na gcríochfort. Mar shampla tacaíonn GNOME, Xfce agus urxvt le trédhearcacht, ach d'fhág siad tacaíocht d'íomhánna cúlra le déanaí, rud a chuir iallach ar roinnt úsáideoirí aistriú go dtí an teirminéal Tilix. Go pearsanta, táim sásta leis agus tá sé simplí Xacmhainní, a leagann an bunsraith dathanna cúlra do urxvt. Mar sin féin, is féidir le téamaí dathanna neamhchaighdeánacha fadhbanna a chruthú freisin. Mar shampla, Solaraithe nach n-oibríonn le hiarratais htop и IPTraf, ós rud é go n-úsáideann siad a gcuid dathanna féin cheana féin.

Críochfort bunaidh VT100 níor thacaigh dathanna, agus is minic a bhí cinn nua teoranta do pailéad 256-dathanna. I gcás úsáideoirí ardleibhéil a stílíonn a gcuid críochfoirt, is féidir le leideanna blaosc nó barraí stádais ar bhealaí casta a bheith ina theorainn chorraitheach. Gist rianta a bhfuil tacaíocht "True Colour" ag teirminéil orthu. Deimhníonn mo thástálacha go dtacaíonn críochfoirt st, Alacritty agus VTE go foirfe le True Colour. Ní éiríonn go han-mhaith le críochfoirt eile maidir leis seo agus, i ndáiríre, ní thaispeánann siad 256 dathanna fiú. Anseo thíos is féidir leat a fheiceáil ar an difríocht idir tacaíocht Dath Fíor i gcríochfoirt GNOME, st agus xterm, a dhéanann jab maith de seo lena n-256 pailéad dathanna, agus urxvt, a theipeann ní amháin ar an tástáil, ach fiú léiríonn roinnt carachtair blinking ina n-ionad.

Forbhreathnú ar aithriseoir teirminéil

Déanann roinnt críochfoirt anailís freisin ar théacs le haghaidh patrúin URL chun naisc a dhéanamh inchliceáilte. Baineann sé seo le gach teirminéal a dhíorthaítear do VTE, agus éilíonn urxvt breiseán speisialta a d’athródh URLanna ar chliceáil nó trí aicearra méarchláir a úsáid. Críochfoirt eile Tá tástáil déanta agam ar URLanna taispeána ar bhealaí eile.

Ar deireadh, is treocht nua i gcríochfoirt roghnacht an maoláin scrollbharra. Mar shampla, níl aon mhaolán scrollbharra ag st; glactar leis go n-úsáidfidh an t-úsáideoir ilphléacsóir teirminéil cosúil le tmux agus Scáileán GNU.

Alacritty freisin easpa maoláin backscroll, ach cuirfear leis go luath a thacaíocht mar gheall ar “aiseolas fairsing” ar an ábhar seo ó úsáideoirí. Seachas na upstarts seo, tá gach teirminéal a ndearna mé tástáil air go bhféadfainn teacht ar thacaíocht do scrollú droim ar ais.

Subtotals

Sa dara cuid den ábhar (sa bhunleagan bhí dhá alt dhifriúla acu - thart ar. lána) déanfaimid comparáid idir feidhmíocht, úsáid cuimhne agus latency. Ach is féidir linn a fheiceáil cheana féin go bhfuil easnaimh thromchúiseacha ag cuid de na críochfoirt atá i gceist. Mar shampla, b'fhéidir gur mhaith le húsáideoirí a oibríonn go rialta le scripteanna RTL smaoineamh ar mlterm agus pterm, mar is fearr iad ag láimhseáil tascanna comhchosúla ná cinn eile. D'fheidhmigh Konsole go maith freisin. Féadfaidh úsáideoirí nach n-oibríonn le scripteanna RTL rud éigin eile a roghnú.

Maidir le cosaint i gcoinne cur isteach cód mailíseach, seasann urxvt amach mar gheall ar a chur i bhfeidhm speisialta ar chosaint i gcoinne an gcineál seo ionsaí, rud is cosúil cinnte áisiúil dom. Dóibh siúd atá ag lorg roinnt cloigíní agus feadóga, is fiú breathnú ar Konsole. Mar fhocal scoir, is fiú a thabhairt faoi deara gur bonn den scoth é VTE le haghaidh críochfoirt, a ráthaíonn tacaíocht dath, aitheantas URL, agus mar sin de. Ar an gcéad amharc, féadfaidh an críochfort réamhshocraithe a thagann le do thimpeallacht is fearr leat na ceanglais go léir a chomhlíonadh, ach fágfaimid an cheist seo ar oscailt go dtí go dtuigeann muid an fheidhmíocht.

Leanaimis leis an gcomhrá


Go ginearálta, d'fhéadfadh feidhmíocht na gcríochfort ann féin a bheith cosúil le fadhb i bhfad an-fetched, ach mar a tharla sé, tá cuid acu a léiríonn ard-latency ionadh do bhogearraí den chineál bunúsach. Ina theannta sin, féachfaimid ar rud ar a dtugtar “luas” go traidisiúnta (go deimhin, is é seo an luas scrollaithe) agus tomhaltas cuimhne an chríochfoirt (agus an caveat nach bhfuil sé seo chomh criticiúil inniu agus a bhí sé scór bliain ó shin).

Moill

Tar éis staidéar críochnúil a dhéanamh ar fheidhmíocht críochfoirt, tháinig mé ar an gconclúid gurb é an paraiméadar is tábhachtaí maidir leis seo an latency (ping). Ina alt “Priontáilimid le pléisiúr” Bhreathnaigh Pavel Fatin ar latency eagarthóirí téacs éagsúla agus leid go bhféadfadh críochfoirt maidir leis seo a bheith níos moille ná na heagarthóirí téacs is tapúla. Ba é an leid seo a thug orm mo thástálacha féin a rith agus an t-alt seo a scríobh.

Ach cad é latency, agus cén fáth a bhfuil sé chomh tábhachtach? Ina alt, shainigh Fatin é mar “an mhoill idir eochair a bhrú agus an nuashonrú scáileáin comhfhreagrach” agus luaigh sé "Treoir maidir le hIdirghníomhaíocht Dhaonna-Ríomhaire", a deir: “Tá tionchar tábhachtach ag an mhoill ar aiseolas amhairc ar thaispeántas ríomhaire ar iompar agus sásamh clóscríobhaithe.”

Míníonn Fatin go bhfuil iarmhairtí níos doimhne ag an bping seo ná sástacht amháin: “éiríonn an clóscríobh níos moille, tarlaíonn níos mó earráidí, agus méadaíonn teannas súl agus matán.” I bhfocail eile, is féidir typos a bheith mar thoradh ar mhoill mhór agus freisin cáilíocht an chóid a ísliú, toisc go n-eascraíonn ualach breise cognaíocha ar an inchinn. Ach is é an rud atá níos measa ná go "méadaíonn ping brú súl agus muscle," rud a thugann le tuiscint gortuithe ceirde a fhorbairt amach anseo (Réir dealraimh, ciallaíonn an t-údar fadhbanna leis na matáin na súile, ar ais, airm agus, ar ndóigh, fís - thart. lána) mar gheall ar strus athchleachtach.

Tá cuid de na héifeachtaí seo ar eolas ar feadh i bhfad, agus na torthaí taighde, a foilsíodh ar ais i 1976 san iris Ergonomics, dúirt go bhfuil moill de 100 milleasoicindí "go mór lagú luas clóscríobh." Níos déanaí, tugadh isteach Treoir Úsáideora GNOME am freagartha inghlactha i 10 milleasoicindí, agus má théann tú níos faide, ansin Microsoft Taighde léiríonn go bhfuil 1 milleasoicind idéalach.

Rinne Fatin a thástálacha ar eagarthóirí téacs; chruthaigh sé ionstraim iniompartha ar a dtugtar Typometer, a d'úsáid mé chun ping a thástáil in aithriseoir teirminéil. Coinnigh i gcuimhne go ndearnadh an tástáil i mód insamhalta: i ndáiríre, ní mór dúinn an dá ionchur (méarchlár, rialtóir USB, etc.) agus aschur (maolán cárta físeáin, monatóireacht a dhéanamh) latency a chur san áireamh. De réir Fatin, i bhfoirmíochtaí tipiciúla tá sé thart ar 20 ms. Má tá trealamh cearrbhachais agat, ní féidir leat an figiúr seo a bhaint amach ach i 3 milleasoicindí. Ós rud é go bhfuil crua-earraí tapa den sórt sin againn cheana féin, ní gá don fheidhmchlár a latency féin a chur leis. Is é sprioc Fatin ná latency an iarratais a thabhairt go 1 milleasoicind, nó fiú an dhiailiú gan a bhaint amach moill intomhaiste, conas i IntelliJ IDEA 15.

Seo iad torthaí mo thomhais, chomh maith le cuid de thorthaí Fatin, chun a thaispeáint go n-aontaíonn mo thurgnamh lena thástálacha:

Forbhreathnú ar aithriseoir teirminéil

Ba é an chéad rud a bhuail mé ná an t-am freagartha níos fearr do chláir níos sine ar nós xterm agus mlterm. Agus an latency cláir ba mheasa (2,4 ms), d'fheidhmigh siad níos fearr ná an teirminéal nua-aimseartha is tapúla (10,6 ms le haghaidh st). Ní thiteann aon chríochfort nua-aimseartha faoi bhun na tairsí 10 milleasoicind. Go háirithe, ní theipeann ar Alacritty an t-éileamh "aithriseoir teirminéil is tapúla atá ar fáil" a chomhlíonadh, cé go bhfuil feabhas tagtha ar a scóir ón gcéad athbhreithniú in 2017. Go deimhin, údair an tionscadail feasach ar an gcás agus tá siad ag obair chun an taispeáint a fheabhsú. Ba chóir a thabhairt faoi deara freisin go bhfuil Vim ag baint úsáide as GTK3 ord méide níos moille ná a mhacasamhail GTK2. Ón seo is féidir linn a thabhairt i gcrích go gcruthaíonn GTK3 latency breise, agus léirítear é seo i ngach críochfort eile a úsáideann é (Terminator, Xfce4 Terminal agus GNOME Terminal).

Mar sin féin, ní fhéadfaidh na difríochtaí a bheith faoi deara don tsúil. Mar a mhíníonn Fatin, “ní gá duit a bheith feasach ar an moill chun go mbeidh tionchar aige ort.” Tugann Fatin foláireamh freisin maidir le diall caighdeánach: “cruthaíonn aon suaitheadh ​​sa fhola (giodam) strus breise mar gheall ar a bheith dothuartha.”

Forbhreathnú ar aithriseoir teirminéil

Tógtar an graf thuas ar Debian 9 (stráice) íon le Bainisteoir fuinneog i3. Táirgeann an timpeallacht seo na torthaí is fearr i dtrialacha latency. Mar a tharlaíonn sé, cruthaíonn GNOME ping breise de 20 ms do gach tomhas. Míniú féideartha air seo is ea cláir a bhfuil próiseáil shioncrónach ar imeachtaí ionchuir iontu. Tugann Fatin sampla do chás den sórt sin rave oibre, rud a chuireann moill trí gach imeacht ionchuir a phróiseáil go sioncrónach. De réir réamhshocraithe, tagann bainisteoir fuinneog le GNOME freisin mutter, rud a chruthaíonn ciseal breise maoláin, a chuireann isteach ar ping agus cuireann sé 8 milleasoicindí latency ar a laghad.

Forbhreathnú ar aithriseoir teirminéil

Luas scrollaigh

Is é an chéad tástáil eile ná tástáil "luas" nó "bandaleithead" traidisiúnta, a thomhaiseann cé chomh tapa agus is féidir leis an teirminéal leathanach a scrollú agus é ag taispeáint méid mór téacs ar an scáileán. Athraíonn meicnic na tástála; Ba é an tástáil bhunaidh ná an teaghrán téacs céanna a ghiniúint ag baint úsáide as an ordú seq. I measc na dtástálacha eile tá tástáil Thomas E. Dickey (cothaitheoir xterm), a rinne arís agus arís eile íoslódáltar an comhad terminfo.src. In athbhreithniú eile ar fheidhmíocht teirminéil Den Luu úsáideann sé teaghrán ionchódaithe base32 de bhearta randamacha, a aschuirtear chuig an teirminéal ag baint úsáide as cat. Measann Luu a leithéid de thástáil a bheith “chomh húsáideach mar thagarmharc agus is féidir a shamhlú” agus molann sé freagra teirminéil a úsáid mar phríomhmhéadrach ina ionad sin. Deir Dickey freisin go bhfuil a thástáil míthreorach. Mar sin féin, admhaíonn an dá údar go bhféadfadh bandaleithead fuinneoige teirminéil a bheith ina cheist. D’aimsigh Luu reo Emacs Eshell nuair a bhí comhaid mhóra á dtaispeáint aige, agus rinne Dickey optamú ar an teirminéal chun fáil réidh le sluggishness amhairc xtrerm. Mar sin tá roinnt fiúntais fós ag an tástáil seo, ach ós rud é go bhfuil an próiseas rindreála an-difriúil ó chríochfort go críochfort, is féidir é a úsáid freisin mar chomhpháirt tástála chun paraiméadair eile a thástáil.

Forbhreathnú ar aithriseoir teirminéil

Anseo feicimid an tarraingt rxvt agus st chun tosaigh ar an gcomórtas, agus ina dhiaidh Alacritty i bhfad níos nuaí, atá deartha le fócas ar fheidhmíocht. Next tá Xfce (teaghlach VTE) agus Konsole, atá beagnach dhá uair chomh tapa. Is é an ceann deireanach ná xterm, atá cúig huaire níos moille ná rxvt. Le linn na tástála, tháinig laghdú mór ar xterm freisin, rud a d’fhág go raibh sé deacair an téacs a rith a fheiceáil fiú má bhí an líne chéanna ann. Bhí Konsole tapa, ach bhí sé deacair uaireanta: reofadh an taispeáint ó am go chéile, ag taispeáint téacs páirteach nó gan é a thaispeáint ar chor ar bith. Thaispeáin críochfoirt eile teaghráin go soiléir, lena n-áirítear st, Alacritty, agus rxvt.

Míníonn Dickey go bhfuil na difríochtaí feidhmíochta mar gheall ar dhearadh maoláin scrollbharra i gcríochfoirt éagsúla. Go háirithe, cuireann sé i leith rxvt agus teirminéil eile "gan na rialacha ginearálta a leanúint":

“Murab ionann agus xterm, ní dhearna rxvt iarracht gach nuashonrú a thaispeáint. Má thiteann sé taobh thiar de, diúltóidh sé roinnt nuashonruithe chun teacht suas. Bhí tionchar níos mó aige seo ar luas scrollaithe dealraitheach ná ar eagrú cuimhne inmheánach. Míbhuntáiste amháin a bhí ann ná go raibh beochan ASCII beagán míchruinn."

Chun an leisce xterm seo a bhraitear a réiteach, molann Dickey úsáid a bhaint as an acmhainn tapaScroll, ag ligean do xterm roinnt nuashonruithe scáileáin a scriosadh chun coimeád suas leis an sreabhadh. Deimhníonn mo thástálacha go bhfeabhsaítear feidhmíocht fastScroll agus go dtugann sé xterm ar chomhchéim le rxvt. Is rud garbh garbh é seo, áfach, mar a mhíníonn Dickey féin: "uaireanta is cosúil go dtiocfaidh deireadh le xterm - cosúil le konsole - agus é ag fanacht le sraith nua nuashonruithe scáileáin tar éis roinnt díobh a bhaint." Ar an mbealach seo, is cosúil go bhfuair críochfoirt eile an comhréiteach is fearr idir luas agus sláine taispeána.

Tomhaltas acmhainní

Is cuma an bhfuil ciall le luas scrollaithe a mheas mar mhéadrach feidhmíochta, ceadaíonn an tástáil seo dúinn an t-ualach ar na críochfoirt a insamhail, rud a ligeann dúinn paraiméadair eile a thomhas ar nós cuimhne nó úsáid diosca. Fuarthas an mhéadracht tríd an tástáil shonraithe a rith seq faoi ​​mhonatóireacht próisis Python. Bhailigh sé sonraí méadair gathrúis() le haghaidh ru_maxrss, méid ru_oublock и ru_inbhlocáil agus lasc ama simplí.

Forbhreathnú ar aithriseoir teirminéil

Sa tástáil seo, glacann an ST an chéad áit leis an meán-thomhaltas cuimhne is ísle de 8 MB, rud nach bhfuil iontas ag smaoineamh gurb é simplíocht príomh-smaoineamh an dearadh. ídíonn mlterm, xterm agus rxvt beagán níos mó - thart ar 12 MB. Toradh suntasach eile is ea Alacritty, a éilíonn 30 MB a rith. Ansin tá críochfoirt den teaghlach VTE le figiúirí ó 40 go 60 MB, rud atá go leor. Is féidir an tomhaltas seo a mhíniú toisc go n-úsáideann na críochfoirt seo leabharlanna ardleibhéil, mar shampla, GTK. Tagann Konsole faoi dheireadh le méid ollmhór 65MB de thomhaltas cuimhne le linn tástálacha, cé gur féidir é seo a chosaint mar gheall ar a raon an-leathan gnéithe.

I gcomparáid le torthaí roimhe seo a fuarthas deich mbliana ó shin, thosaigh gach clár ag ithe go suntasach níos mó cuimhne. Bhí 4 MB de dhíth ar Xterm, ach anois éilíonn sé 15 MB díreach ag am tosaithe. Tá méadú den chineál céanna ar thomhaltas rxvt, a éilíonn anois 16 MB as an mbosca. Tógann Críochfort Xfce suas 34 MB, atá trí huaire níos mó ná roimhe seo, ach níl ach 20 MB ag teastáil ó Chríochfort GNOME. Ar ndóigh, rinneadh gach tástáil roimhe seo ar ailtireacht 32-giotán. Ag LCA 2012 Rusty Russell inis, go bhfuil go leor cúiseanna níos subtle ann a d'fhéadfadh an méadú ar thomhaltas cuimhne a mhíniú. Agus é sin ráite, tá cónaí orainn anois in am ina bhfuil ghigibheart cuimhne againn, agus mar sin déanfaimid bainistiú ar bhealach éigin.

Mar sin féin, ní féidir liom cabhrú ach is dóigh liom gur cur amú acmhainní é níos mó cuimhne a leithdháileadh ar rud chomh bunúsach leis an teirminéal. Ba cheart go mbeadh na cláir seo ar an gceann is lú agus ar an gceann is lú, ba cheart go mbeidís in ann rith ar aon “bhosca”, fiú bosca bróg, má thagann muid go dtí an pointe nuair a chaithfidh siad a bheith feistithe le córais Linux (agus tá a fhios agat go mbeidh sé amhlaidh. ). Ach leis na huimhreacha seo, beidh úsáid chuimhne ina ábhar imní sa todhchaí in aon timpeallacht a bhfuil ilchríochfoirt á rith acu seachas roinnt de na cinn is éadroime agus is teoranta ó thaobh cumais de. Mar chúiteamh air seo, tá mód Deamhan ag Críochfort GNOME, Konsole, urxvt, Terminator agus Xfce Terminal a ligeann duit ilchríochfoirt a rialú trí phróiseas amháin, rud a chuireann teorainn lena n-ídiú cuimhne.

Forbhreathnú ar aithriseoir teirminéil

Le linn mo thástálacha, tháinig mé ar thoradh eile nach rabhthas ag súil leis maidir le léamh-scríbhinn diosca: ní raibh mé ag súil le rud ar bith a fheiceáil anseo, ach d'éirigh sé amach go scríobhann roinnt críochfoirt na sonraí is toirtiúla ar diosca. Mar sin, coimeádann leabharlann VTE maolán scrollbharra ar diosca (an ghné seo tugadh faoi deara ar ais i 2010, agus tá sé seo fós ag tarlú). Ach murab ionann agus feidhmithe níos sine, anois tá na sonraí seo criptithe ar a laghad ag baint úsáide as AES256 GCM (ón leagan 0.39.2). Ach éiríonn ceist réasúnta: céard atá chomh speisialta faoin leabharlann VTE go dteastaíonn cur chuige neamhchaighdeánach maidir le cur i bhfeidhm...

Conclúid

Sa chéad chuid den alt, fuair muid amach go bhfuil sraith mhaith gnéithe ag críochfoirt VTE-bhunaithe, ach anois feicimid go dtagann sé seo le roinnt costais feidhmíochta. Anois ní fadhb í an chuimhne mar is féidir gach críochfort VTE a rialú trí phróiseas Deamhan, rud a chuireann srian ar a n-goile. Mar sin féin, d'fhéadfadh go mbeadh leaganacha níos luaithe de chríochfoirt ag teastáil ó chórais níos sine a bhfuil srianta fisiceacha acu ar an méid RAM agus maoláin eithne, toisc go n-ídíonn siad i bhfad níos lú acmhainní. Cé gur éirigh go maith le críochfoirt VTE i dtrialacha tréchur (scrollaithe), tá a bhfoighne taispeána os cionn na tairsí atá leagtha síos i dTreoir Úsáideora GNOME. Is dócha gur cheart d’fhorbróirí VTE é seo a chur san áireamh. Má chuirimid san áireamh go bhfuil sé dosheachanta fiú d'úsáideoirí nua-Linux a bhíonn ag teacht trasna ar chríochfort, is féidir leo é a dhéanamh níos éasca le húsáid. I gcás geeks a bhfuil taithí acu, d'fhéadfadh go gciallódh aistriú ón teirminéal réamhshocraithe fiú níos lú brú súl agus an cumas chun gortuithe agus tinnis a bhaineann le hobair amach anseo a sheachaint mar gheall ar sheisiúin fhada oibre. Ar an drochuair, ní thugann ach an sean-xterm agus mlterm sinn go dtí an tairseach ping draíochta de 10 milleasoicindí, rud atá do-ghlactha ag go leor.

Léirigh tomhais tagarmhairc freisin go raibh ar fhorbróirí roinnt comhréitigh a dhéanamh mar gheall ar fhorbairt timpeallachtaí grafacha Linux. B'fhéidir gur mhaith le roinnt úsáideoirí breathnú ar bhainisteoirí fuinneoige rialta mar a sholáthraíonn siad laghdú ping suntasach. Ar an drochuair, níorbh fhéidir latency a thomhas do Wayland: cruthaíodh an clár Typometer a d'úsáid mé le haghaidh a bhfuil Wayland deartha chun cosc ​​a chur air: spying ar fhuinneoga eile. Tá súil agam go bhfeidhmíonn cumadóireacht Wayland níos fearr ná X.org, agus tá súil agam freisin go bhfaighidh duine bealach amach anseo chun latency sa timpeallacht seo a thomhas.

Foinse: will.com

Add a comment