Awọn ọrọ diẹ lati ile-iṣẹ itumọ wa: nigbagbogbo gbogbo eniyan n gbiyanju lati tumọ awọn ohun elo ati awọn atẹjade tuntun, ati pe a kii ṣe iyasọtọ. Ṣugbọn awọn ebute kii ṣe nkan ti o ni imudojuiwọn lẹẹkan ni ọsẹ kan. Nitorinaa, a ti tumọ fun ọ ni nkan kan nipasẹ Antoine Beaupré, ti a tẹjade ni orisun omi ti ọdun 2018: laibikita “ọjọ ori” pupọ rẹ nipasẹ awọn iṣedede ode oni, ninu ero wa, ohun elo naa ko padanu ibaramu rẹ rara. Ni afikun, eyi jẹ lẹsẹsẹ awọn nkan meji ni akọkọ, ṣugbọn a pinnu lati darapo wọn sinu ifiweranṣẹ nla kan.
Awọn ebute ni aaye pataki kan ninu itan-akọọlẹ kọnputa, ṣugbọn ni awọn ewadun aipẹ wọn ti fi agbara mu lati yege lẹgbẹẹ laini aṣẹ bi awọn atọkun ayaworan ti di ibi gbogbo.
Diẹ ninu awọn ebute ni awọn iho aabo iyalẹnu ti o yanilenu, pẹlu pupọ julọ ni eto iṣẹ ṣiṣe ti o yatọ patapata, lati atilẹyin fun wiwo tabbed si kikọ. Botilejepe awa
Eyi ni awọn ebute ti Mo ṣe ayẹwo:
Iwọnyi le ma jẹ awọn ẹya tuntun, nitori Mo ni opin si awọn ile iduroṣinṣin ni akoko kikọ, eyiti Mo ni anfani lati yi jade lori Debian 9 tabi Fedora 27. Iyatọ kan ṣoṣo ni Alacritty. O ti wa ni a arọmọdọmọ ti GPU-onikiakia ebute oko ati ki o ti kọ ni ohun dani ati titun ede fun yi iṣẹ-ṣiṣe - ipata. Mo yọkuro awọn ebute wẹẹbu lati atunyẹwo mi (pẹlu awọn ti o wa lori
Unicode support
Mo bẹrẹ awọn idanwo mi pẹlu atilẹyin Unicode. Idanwo akọkọ ti awọn ebute naa ni lati ṣafihan okun Unicode lati
Nipa aiyipada, xterm nlo fonti “ti o wa titi” Ayebaye, eyiti, ni ibamu si
Awọn sikirinisoti wọnyi ni a mu ni Fedora 27, bi o ti fun awọn abajade to dara julọ ju Debian 9, nibiti diẹ ninu awọn ẹya agbalagba ti awọn ebute (ni pato mlterm) ko le mu awọn akọwe daradara. Ni Oriire eyi jẹ atunṣe ni awọn ẹya nigbamii.
Bayi ṣe akiyesi bi ila naa ṣe han ni xterm. O wa ni jade wipe aami Mem ati awọn wọnyi Semitic
“Ọpọlọpọ awọn eto kọmputa ko le ṣe afihan ọrọ bidirectional ni deede. Fun apẹẹrẹ, orukọ Heberu "Sarah" ni awọn ohun kikọ ẹṣẹ (ש) (eyiti o han ni apa ọtun), lẹhinna resh (ר) ati nikẹhin o (ה) (eyi ti o yẹ ki o han ni apa osi)."
Ọpọlọpọ awọn ebute ba kuna idanwo yii: Alacritty, Gnome ti a gba VTE ati awọn ebute XFCE, urxvt, st ati xterm àpapọ “Sara” ni ọna yiyipada, bi ẹnipe a ti kọ orukọ naa bi “Aras”.
Iṣoro miiran pẹlu awọn ọrọ bidirectional ni pe wọn nilo lati wa ni deede bakan, paapaa nigbati o ba de si dapọ awọn ọrọ RTL ati LTR. Awọn iwe afọwọkọ RTL yẹ ki o ṣiṣẹ lati apa ọtun ti window ebute, ṣugbọn kini o yẹ ki o ṣẹlẹ fun awọn ebute ti o jẹ aiyipada si LTR English? Pupọ ninu wọn ko ni awọn ilana pataki eyikeyi ti wọn si so gbogbo ọrọ pọ si apa osi (pẹlu Konsole). Awọn imukuro jẹ pterm ati mlterm, eyiti o faramọ awọn iṣedede ati titọ-ọtun iru awọn laini.
Idaabobo ifibọ
Ẹya pataki ti o tẹle ti Mo ti ṣe idanimọ jẹ aabo ifibọ. Botilẹjẹpe o jẹ olokiki pupọ pe awọn itọka bii:
$ curl http://example.com/ | sh
jẹ awọn pipaṣẹ titari ipaniyan koodu, diẹ eniyan mọ pe awọn aṣẹ ti o farapamọ le wọ inu console nigba didakọ ati lẹẹmọ lati ẹrọ aṣawakiri wẹẹbu kan, paapaa lẹhin iṣayẹwo iṣọra.
git clone git: //git.kernel.org/pub/scm/utils/kup/kup.git
yi pada sinu iru iparun nigba ti o lẹẹmọ lati oju opo wẹẹbu Horn sinu ebute naa:
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
Bawo ni o ṣe n ṣiṣẹ? Koodu irira wa ninu bulọki naa , eyi ti o ti gbe jade ni wiwo olumulo nipa lilo CSS.
set enable-bracketed-paste on
Laisi ani, aaye idanwo Horn tun fihan bi o ṣe le fori aabo yii nipasẹ ọna kika ọrọ funrararẹ ati pe laipẹ pari ni lilo ipo Bracketed si rẹ. Eyi ṣiṣẹ nitori diẹ ninu awọn ebute ko ṣe àlẹmọ awọn ọna abayo ni deede ṣaaju fifi ara wọn kun. Fun apẹẹrẹ, ninu temi Emi ko ni anfani lati pari awọn idanwo Konsole paapaa pẹlu iṣeto to pe .inputrc faili. Eyi tumọ si pe o le ni rọọrun gba atunto eto rẹ jẹ ibajẹ nitori ohun elo ti ko ni atilẹyin tabi ikarahun ti a tunto ti ko tọ. Eyi lewu paapaa nigbati o wọle si awọn olupin latọna jijin, nibiti iṣẹ iṣeto iṣọra ko wọpọ, paapaa ti o ba ni ọpọlọpọ awọn ẹrọ jijin.
Ojutu ti o dara si iṣoro yii ni ohun itanna ijẹrisi lẹẹ fun ebute naa uxvt, eyi ti o rọrun beere igbanilaaye lati fi ọrọ eyikeyi ti o ni awọn laini titun sii. Emi ko rii aṣayan aabo diẹ sii fun ikọlu ọrọ ti a ṣalaye nipasẹ Horn.
Awọn taabu ati awọn profaili
Ẹya olokiki ni bayi ni atilẹyin fun wiwo taabu, eyiti a yoo ṣalaye bi window ebute kan ti o ni ọpọlọpọ awọn ebute miiran. Iṣẹ yii yatọ fun awọn ebute oriṣiriṣi, ati botilẹjẹpe awọn ebute xtermin ibile ko ṣe atilẹyin awọn taabu rara, awọn incarnations ebute ode oni bii Xfce Terminal, GNOME Terminal ati Konsole ni iṣẹ yii. Urxvt tun ṣe atilẹyin awọn taabu, ṣugbọn nikan ti o ba lo ohun itanna kan. Ṣugbọn ni awọn ofin ti atilẹyin taabu funrararẹ, Terminator jẹ oludari ti ko ni ariyanjiyan: kii ṣe atilẹyin awọn taabu nikan, ṣugbọn tun le ṣeto awọn ebute ni eyikeyi aṣẹ (wo aworan ni isalẹ).
Ẹya miiran ti Terminator ni agbara lati “ṣe akojọpọ” awọn taabu wọnyi papọ ki o firanṣẹ awọn titẹ bọtini kanna si awọn ebute lọpọlọpọ ni akoko kanna, pese ohun elo robi fun ṣiṣe awọn iṣẹ olopobobo lori awọn olupin lọpọlọpọ nigbakanna. Ẹya ti o jọra tun jẹ imuse ni Konsole. Lati lo ẹya yii ni awọn ebute miiran, o gbọdọ lo sọfitiwia ẹnikẹta gẹgẹbi
Awọn taabu ṣiṣẹ daradara daradara nigbati a ba so pọ pẹlu awọn profaili: fun apẹẹrẹ, o le ni taabu kan fun imeeli, omiiran fun iwiregbe, ati bẹbẹ lọ. Eyi ni atilẹyin daradara nipasẹ Terminal Konsole ati GNOME Terminal. Mejeeji gba taabu kọọkan lati ṣe ifilọlẹ profaili tirẹ laifọwọyi. Terminator tun ṣe atilẹyin awọn profaili, ṣugbọn Emi ko le wa ọna lati ṣe ifilọlẹ awọn eto kan laifọwọyi nigbati o ṣii taabu kan pato. Miiran ebute ko ni awọn Erongba ti "profaili" ni gbogbo.
Awọn ruffles
Ohun ikẹhin ti Emi yoo bo ni apakan akọkọ ti nkan yii ni irisi awọn ebute naa. Fun apẹẹrẹ GNOME, Xfce ati urxvt ṣe atilẹyin akoyawo, ṣugbọn ti fi atilẹyin silẹ laipẹ fun awọn aworan abẹlẹ, fi ipa mu diẹ ninu awọn olumulo lati yipada si ebute
Diẹ ninu awọn ebute tun ṣe itupalẹ ọrọ fun awọn ilana URL lati jẹ ki awọn ọna asopọ tẹ. Eyi kan si gbogbo awọn ebute VTE ti o jẹri, lakoko ti urxvt nilo ohun itanna pataki kan ti yoo yi awọn URL pada ni titẹ tabi lilo ọna abuja keyboard kan. Awọn ebute miiran Mo ti ni idanwo awọn URL ifihan ni awọn ọna miiran.
Nikẹhin, aṣa tuntun ni awọn ebute ni aṣayan ti ifipamọ yi lọ. Fun apẹẹrẹ, st ko ni idaduro yi lọ; o ti wa ni pe olumulo yoo lo multiplexer ebute bi tmux ati
Alacritty tun ko ni awọn buffers backscroll, ṣugbọn
Àpapọ̀
Ni apakan keji ti ohun elo (ninu atilẹba awọn wọnyi ni awọn nkan oriṣiriṣi meji - isunmọ. ona) a yoo ṣe afiwe iṣẹ ṣiṣe, lilo iranti ati lairi. Ṣugbọn a ti le rii tẹlẹ pe diẹ ninu awọn ebute ni ibeere ni awọn aito pataki. Fun apẹẹrẹ, awọn olumulo ti n ṣiṣẹ nigbagbogbo pẹlu awọn iwe afọwọkọ RTL le fẹ lati gbero mlterm ati pterm, nitori wọn dara julọ ni mimu awọn iṣẹ ṣiṣe ti o jọra ju awọn miiran lọ. Konsole tun ṣe daradara. Awọn olumulo ti ko ṣiṣẹ pẹlu awọn iwe afọwọkọ RTL le yan nkan miiran.
Ni awọn ofin ti aabo lodi si fifi sii koodu irira, urxvt duro jade nitori imuse pataki ti aabo rẹ si iru ikọlu yii, eyiti o dabi pe o rọrun fun mi. Fun awon ti nwa fun diẹ ninu awọn agogo ati whistles, Konsole tọ a wo. Nikẹhin, o tọ lati ṣe akiyesi pe VTE jẹ ipilẹ ti o dara julọ fun awọn ebute, eyiti o ṣe iṣeduro atilẹyin awọ, idanimọ URL, ati bẹbẹ lọ. Ni wiwo akọkọ, ebute aiyipada ti o wa pẹlu agbegbe ayanfẹ rẹ le pade gbogbo awọn ibeere, ṣugbọn jẹ ki a fi ibeere yii silẹ ni ṣiṣi titi ti a yoo fi loye iṣẹ naa.
Jẹ ki a tẹsiwaju ibaraẹnisọrọ naa
Ni gbogbogbo, iṣẹ ti awọn ebute ninu funrararẹ le dabi iṣoro ti o jinna, ṣugbọn bi o ti wa ni jade, diẹ ninu wọn ṣafihan iyalẹnu giga lairi fun sọfitiwia ti iru ipilẹ ipilẹ kan. Paapaa nigbamii ti a yoo wo ohun ti aṣa ti a pe ni “iyara” (ni otitọ, eyi ni iyara yiyi) ati agbara iranti ti ebute naa (pẹlu akiyesi pe eyi ko ṣe pataki loni bi o ti jẹ ọdun mẹwa sẹhin).
Idaduro
Lẹhin iwadi ni kikun ti iṣẹ ebute, Mo wa si ipari pe paramita pataki julọ ni ọran yii ni lairi (ping). Ninu nkan rẹ
Ṣùgbọ́n kí ni àìfararọ, kí sì nìdí tó fi ṣe pàtàkì tó bẹ́ẹ̀? Ninu nkan rẹ, Fatin ṣalaye rẹ bi “idaduro laarin titẹ bọtini kan ati imudojuiwọn iboju ti o baamu” ati sọ asọye.
Fatin ṣàlàyé pé ping yìí ní àbájáde jíjinlẹ̀ ju ìtẹ́lọ́rùn lásán lọ pé: “títẹ̀wé máa ń lọ lọ́ra, àwọn àṣìṣe púpọ̀ máa ń wáyé, ojú àti iṣan iṣan sì ń pọ̀ sí i.” Ni awọn ọrọ miiran, idaduro nla le ja si awọn typos ati tun didara koodu kekere, bi o ṣe nfa si afikun fifuye oye lori ọpọlọ. Ṣugbọn kini o buru julọ ni pe ping “mu oju ati igara iṣan pọ si,” eyiti o dabi pe o tumọ si
Diẹ ninu awọn ipa wọnyi ti mọ fun igba pipẹ, ati awọn abajade
Fatin ṣe awọn idanwo rẹ lori awọn olootu ọrọ; o ṣẹda ohun elo to ṣee gbe ti a npe ni
Eyi ni awọn abajade ti awọn iwọn mi, ati diẹ ninu awọn abajade Fatin, lati fihan pe idanwo mi gba pẹlu awọn idanwo rẹ:
Ohun akọkọ ti o kọlu mi ni akoko idahun to dara julọ ti awọn eto agbalagba bii xterm ati mlterm. Pẹlu airi iforukọsilẹ ti o buruju (2,4 ms), wọn ṣe dara julọ ju ebute ode oni ti o yara ju (10,6 ms fun st). Ko si ebute ode oni ti o ṣubu ni isalẹ iloro millisecond 10. Ni pataki, Alacritty kuna lati pade ẹtọ “emulator ebute ti o yara ju ti o wa”, botilẹjẹpe awọn ikun rẹ ti ni ilọsiwaju lati atunyẹwo akọkọ rẹ ni ọdun 2017. Nitootọ, awọn onkọwe ti ise agbese na
Sibẹsibẹ, awọn iyatọ le ma ṣe akiyesi si oju. Gẹgẹ bi Fatin ṣe ṣalaye, “ko ni lati mọ idaduro naa ki o le ni ipa lori rẹ.” Fatin tun kilọ nipa iyapa boṣewa: “eyikeyi idamu ninu aipe (jitter) ṣẹda aapọn afikun nitori airotẹlẹ wọn.”
Awonya loke ti wa ni ya lori funfun Debian 9 (na) pẹlu
Yi lọ iyara
Idanwo t’okan jẹ idanwo “iyara” tabi “bandwidth” ti aṣa, eyiti o ṣe iwọn bawo ni iyara ti ebute le yi oju-iwe kan han lakoko ti o n ṣafihan iye ọrọ pupọ loju iboju. Awọn oye ti idanwo naa yatọ; idanwo atilẹba ni lati ṣe agbekalẹ okun ọrọ kanna ni lilo pipaṣẹ seq. Awọn idanwo miiran pẹlu idanwo Thomas E. Dickey (olutọju xterm), eyiti o leralera
Nibi ti a ba ri rxvt ati st fa niwaju ti awọn idije, atẹle nipa awọn Elo Opo Alacritty, eyi ti o jẹ apẹrẹ pẹlu kan aifọwọyi lori išẹ. Nigbamii ni Xfce ( idile VTE) ati Konsole, eyiti o fẹrẹẹ lemeji ni iyara. Ikẹhin ni xterm, eyiti o lọra ni igba marun ju rxvt. Lakoko idanwo naa, xterm tun ya pupọ, ti o jẹ ki ọrọ gbigbe ṣoro lati rii paapaa ti o ba jẹ laini kanna. Konsole yara, ṣugbọn o jẹ ẹtan ni awọn igba: ifihan yoo di didi lati igba de igba, ti nfihan ọrọ apa kan tabi kii ṣe afihan rara. Awọn ebute miiran ṣe afihan awọn gbolohun ọrọ ni kedere, pẹlu st, Alacritty, ati rxvt.
Dickey ṣalaye pe awọn iyatọ iṣẹ jẹ nitori apẹrẹ ti awọn buffers yiyi ni awọn ebute oriṣiriṣi. Ni pataki, o fi ẹsun kan rxvt ati awọn ebute miiran ti “ko tẹle awọn ofin gbogbogbo”:
“Ko dabi xterm, rxvt ko gbiyanju lati ṣafihan gbogbo awọn imudojuiwọn. Ti o ba ṣubu lẹhin, yoo kọ diẹ ninu awọn imudojuiwọn lati yẹ. Eyi ni ipa nla lori iyara yiyi ti o han ju lori eto iranti inu lọ. Idipada kan ni pe ere idaraya ASCII jẹ aiṣedeede diẹ. ”
Lati ṣatunṣe ilọra xterm ti a rii yii, Dickey daba lilo awọn orisun
Lilo awọn oluşewadi
Laibikita boya o jẹ oye lati gbero iyara yiyi bi metric iṣẹ, idanwo yii gba wa laaye lati ṣe adaṣe fifuye lori awọn ebute, eyiti o jẹ ki a ṣe iwọn awọn aye miiran bii iranti tabi lilo disk. Awọn metiriki naa ni a gba nipasẹ ṣiṣe idanwo pàtó kan atele labẹ Python ilana monitoring. O gba data mita
Ninu idanwo yii, ST gba aye akọkọ pẹlu iwọn lilo iranti ti o kere julọ ti 8 MB, eyiti kii ṣe iyalẹnu ni imọran pe imọran akọkọ ti apẹrẹ jẹ ayedero. mlterm, xterm ati rxvt jẹ diẹ diẹ sii - nipa 12 MB. Abajade akiyesi miiran jẹ Alacritty, eyiti o nilo 30 MB lati ṣiṣẹ. Lẹhinna awọn ebute ti idile VTE wa pẹlu awọn isiro lati 40 si 60 MB, eyiti o jẹ pupọ pupọ. Lilo yii le ṣe alaye nipasẹ otitọ pe awọn ebute wọnyi lo awọn ile-ikawe ipele giga, fun apẹẹrẹ, GTK. Konsole wa ni ikẹhin pẹlu 65MB ti agbara iranti lakoko awọn idanwo, botilẹjẹpe eyi le jẹ idalare nipasẹ awọn ẹya pupọ ti awọn ẹya.
Ti a ṣe afiwe si awọn abajade iṣaaju ti o gba ni ọdun mẹwa sẹhin, gbogbo awọn eto bẹrẹ lati jẹ akiyesi iranti diẹ sii. Xterm lo lati nilo 4 MB, ṣugbọn nisisiyi o nilo 15 MB kan ni ibẹrẹ. Ilọsi iru kan wa ni lilo fun rxvt, eyiti o nilo 16 MB lati inu apoti. Xfce Terminal gba 34 MB, eyiti o tobi ni igba mẹta ju iṣaaju lọ, ṣugbọn GNOME Terminal nilo 20 MB nikan. Nitoribẹẹ, gbogbo awọn idanwo iṣaaju ni a ṣe lori faaji 32-bit. Ni LCA 2012 Rusty Russell
Sibẹsibẹ, Emi ko le ṣe iranlọwọ ṣugbọn lero pe ipinfunni iranti diẹ sii si nkan bi ipilẹ bi ebute naa jẹ isonu ti awọn orisun. Awọn eto wọnyi yẹ ki o jẹ eyiti o kere julọ ti o kere julọ, o yẹ ki o ni anfani lati ṣiṣẹ lori eyikeyi “apoti”, paapaa apoti bata, ti a ba wa si aaye nibiti wọn nilo lati ni ipese pẹlu awọn eto Linux (ati pe o mọ pe yoo jẹ bẹ. ) . Ṣugbọn pẹlu awọn nọmba wọnyi, lilo iranti yoo di ariyanjiyan ni ọjọ iwaju ni eyikeyi agbegbe ti n ṣiṣẹ awọn ebute lọpọlọpọ yatọ si diẹ ti o fẹẹrẹfẹ ati opin julọ ni awọn agbara. Lati sanpada fun eyi, GNOME Terminal, Konsole, urxvt, Terminator ati Xfce Terminal ni ipo Daemon kan ti o fun ọ laaye lati ṣakoso awọn ebute lọpọlọpọ nipasẹ ilana kan, diwọn agbara iranti wọn.
Lakoko awọn idanwo mi, Mo wa si abajade airotẹlẹ miiran nipa kika kika disk: Mo nireti lati rii nkankan rara nibi, ṣugbọn o wa ni pe diẹ ninu awọn ebute kọ data ti o pọ julọ si disk. Nitorinaa, ile-ikawe VTE nitootọ tọju ifipamọ lilọ kiri lori disiki (ẹya yii
ipari
Ni apakan akọkọ ti nkan naa, a rii pe awọn ebute orisun VTE ni awọn ẹya ti o dara, ṣugbọn ni bayi a rii pe eyi wa pẹlu diẹ ninu awọn idiyele iṣẹ. Bayi iranti kii ṣe ọran nitori gbogbo awọn ebute VTE ni a le ṣakoso nipasẹ ilana Daemon, eyiti o ṣe idiwọ ifẹkufẹ wọn. Bibẹẹkọ, awọn eto agbalagba ti o ni awọn idiwọn ti ara lori iye Ramu ati awọn buffers ekuro le tun nilo awọn ẹya iṣaaju ti awọn ebute, nitori wọn jẹ awọn orisun ti o dinku pupọ. Botilẹjẹpe awọn ebute VTE ṣe daradara ni awọn idanwo igbejade (yilọ), aiwọn ifihan wọn wa loke ala ti a ṣeto sinu Itọsọna Olumulo GNOME. VTE Difelopa yẹ ki o jasi gba yi sinu iroyin. Ti a ba ṣe akiyesi pe paapaa fun awọn olumulo Linux alakobere ti o pade ebute kan jẹ eyiti ko ṣeeṣe, wọn le jẹ ki o jẹ ore olumulo diẹ sii. Fun awọn geeks ti o ni iriri, iyipada lati ebute aiyipada le paapaa tumọ si igara oju ti o dinku ati agbara lati yago fun awọn ipalara ti o ni ibatan iṣẹ iwaju ati awọn aisan nitori awọn akoko iṣẹ pipẹ. Laanu, nikan xterm atijọ ati mlterm mu wa si ẹnu-ọna ping idan ti 10 milliseconds, eyiti ko ṣe itẹwọgba fun ọpọlọpọ.
Awọn wiwọn ala tun fihan pe nitori idagbasoke ti awọn agbegbe ayaworan Linux, awọn olupilẹṣẹ ni lati ṣe nọmba awọn adehun. Diẹ ninu awọn olumulo le fẹ lati wo awọn alakoso window deede bi wọn ṣe pese idinku ping pataki. Laanu, ko ṣee ṣe lati wiwọn lairi fun Wayland: eto Typometer ti Mo lo ni a ṣẹda fun kini Wayland ti ṣe lati ṣe idiwọ: ṣe amí lori awọn window miiran. Mo lero wipe Wayland compositing ṣe dara ju X.org, ati ki o Mo tun lero wipe ni ojo iwaju ẹnikan yoo wa ona kan lati wiwọn lairi ni yi ayika.
orisun: www.habr.com