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.
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.
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
Seo iad na críochfoirt a ndearna mé athbhreithniú orthu:
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
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 ó
De réir réamhshocraithe, úsáideann xterm an cló clasaiceach "seasta", a, de réir
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
“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".
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.
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.
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.
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).
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
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
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
Alacritty freisin easpa maoláin backscroll, ach
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
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é
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
Tá cuid de na héifeachtaí seo ar eolas ar feadh i bhfad, agus na torthaí
Rinne Fatin a thástálacha ar eagarthóirí téacs; chruthaigh sé ionstraim iniompartha ar a dtugtar
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:
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
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.”
Tógtar an graf thuas ar Debian 9 (stráice) íon le
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
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
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
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
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.
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
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