Overview ny terminal emulators

Teny vitsivitsy avy amin'ny biraon'ny fandikan-teny: mazàna ny rehetra dia miezaka mandika ireo fitaovana sy boky farany farany, ary tsy an-kanavaka isika. Saingy ny terminal dia tsy zavatra havaozina indray mandeha isan-kerinandro. Noho izany, nandika ho anao ny lahatsoratra nosoratan'i Antoine Beaupré, navoaka tamin'ny lohataonan'ny 2018: na dia eo aza ny "taona" be dia be amin'ny fenitra maoderina, araka ny hevitray, ny fitaovana dia tsy very ny maha-zava-dehibe azy. Ankoatra izany, andian-dahatsoratra roa ity tany am-boalohany, saingy nanapa-kevitra ny hanambatra azy ireo ho lahatsoratra lehibe iray izahay.

Overview ny terminal emulators

Manana toerana manokana eo amin'ny tantaran'ny informatika ny terminal, saingy tao anatin'ny folo taona lasa izay dia voatery niaina teo akaikin'ny baikon'ny baiko izy ireo satria lasa hatraiza hatraiza ny fifandraisana an-tsary. Terminal emulators nisolo ny azy hardware rahalahy, izay, indray, dia fanovana rafitra mifototra amin'ny karatra totohondry sy switch toggle. Ny fizarana maoderina dia tonga miaraka amin'ny emulator terminal isan-karazany amin'ny endrika sy loko rehetra. Ary na dia maro aza no afa-po amin'ny terminal manara-penitra omen'ny tontolo iasany, ny sasany dia mampiasa rindrambaiko tena hafahafa mba hampandehanana ny shell na tonian-dahatsoratra tiany indrindra. Saingy, araka ny ho hitantsika amin'ity lahatsoratra ity, tsy ny terminal rehetra no noforonina tamin'ny sary iray ihany: tsy mitovy amin'ny fiasa, ny habeny ary ny fampisehoana izy ireo.

Ny terminal sasany dia manana lavaka fiarovana mahagaga, ary ny ankamaroany dia manana karazana fiasa hafa tanteraka, manomboka amin'ny fanohanana ny interface misy tabilao mankany amin'ny scripting. Na dia izahay nijery ny terminal emulators tamin'ny lasa lavitra, ity lahatsoratra ity dia fanavaozana ny fitaovana teo aloha izay hanampy ny mpamaky hamantatra izay terminal hampiasaina amin'ny 2018. Ny tapany voalohany amin'ny lahatsoratra dia mampitaha ireo endri-javatra, ary ny tapany faharoa dia manombana ny fahombiazany.

Ireto ny terminal nodinihiko:

Overview ny terminal emulators

Mety tsy ireo no dikan-teny farany indrindra, satria voafetra ho an'ny fananganana stable aho tamin'ny fotoana nanoratana, izay azoko navoaka tamin'ny Debian 9 na Fedora 27. Ny hany tokana dia Alacritty. Taranak'ireo terminal accelerated GPU ary nosoratana tamin'ny fiteny tsy mahazatra sy vaovao ho an'ity asa ity - Rust. Nesoriko tamin'ny famerenako ny terminal web (anisan'izany ireo on elektronika), satria ny fitsapana savaranonando dia nampiseho ny fahombiazany faran'izay ratsy.

Fanohanana Unicode

Nanomboka ny fitsapana nataoko tamin'ny fanohanana Unicode aho. Ny fitsapana voalohany amin'ireo terminal dia ny mampiseho ny tady Unicode avy amin'ny Lahatsoratra Wikipedia: “é, Δ, И, ק, م, ๗, あ, 叶, 葉 ary 말.” Ity fitsapana tsotra ity dia mampiseho raha afaka miasa tsara maneran-tany ny terminal. xterm terminal dia tsy mampiseho toetra arabo MEM amin'ny config default:

Overview ny terminal emulators

Amin'ny alàlan'ny default, xterm dia mampiasa ny endri-tsoratra "fixed" mahazatra, izay, araka ny mbola Vicki ihany, dia manana "fandrakofana Unicode lehibe nanomboka tamin'ny 1997". Misy zavatra mitranga ao amin'ity endritsoratra ity izay mahatonga ny endri-tsoratra ho toy ny frame tsy misy dikany ary rehefa ampitomboina ho 20+ isa ny endri-tsoratra vao manomboka miseho tsara ny endri-tsoratra. Na izany aza, ity "fix" ity dia manapaka ny fampisehoana ireo endri-tsoratra Unicode hafa:

Overview ny terminal emulators

Ireo pikantsary ireo dia nalaina tao amin'ny Fedora 27, satria nanome vokatra tsara kokoa noho ny Debian 9, izay misy dikan-teny tranainy sasany (indrindra fa mlterm) tsy afaka mitantana ireo endritsoratra araka ny tokony ho izy. Soa ihany fa raikitra izany tamin'ny dikan-teny taty aoriana.

Jereo izao ny fomba fanehoana ny tsipika amin'ny xterm. Hita fa ny famantarana Mem sy ny Semitika manaraka Kôfa jereo ny script style RTL (marina-to-ankavia), ka ara-teknika dia tokony haseho miankavanana miankavia izy ireo. Ireo mpitety tranonkala toa an'i Firefox 57 dia mitantana tsara ny andalana etsy ambony. Ny dikan-teny RTL tsotra kokoa dia ny teny hoe "Сараamin'ny teny hebreo (שר). Pejy Wiki momba ny lahatsoratra roa tonta hoy ireto manaraka ireto:

“Maro amin'ny programa informatika no tsy afaka mampiseho tsara ny lahatsoratra roa tondro. Ohatra, ny anarana hebreo hoe “Sarah” dia misy tarehin-tsoratra hoe sin (ש) (izay miseho eo ankavanana), avy eo resh (ר) ary farany izy (ה) (izay miseho eo amin’ny ankavia).

Betsaka ny terminal tsy nahomby tamin'ity fitsapana ity: Alacritty, VTE-derived Gnome ary XFCE terminals, urxvt, st ary xterm dia mampiseho "Sara" amin'ny filaharana mivadika, toy ny hoe nanoratra ny anarana hoe "Aras".

Overview ny terminal emulators

Olana iray hafa amin'ny lahatsoratra roa tondro dia ny hoe mila ampifanarahana amin'ny fomba ahoana izy ireo, indrindra amin'ny fampifangaroana lahatsoratra RTL sy LTR. Ny script RTL dia tokony handeha amin'ny ilany havanana amin'ny varavarankelin'ny terminal, fa inona no tokony hitranga amin'ny terminal izay tsy mitovy amin'ny LTR English? Ny ankamaroan'izy ireo dia tsy manana mekanika manokana ary mampifanaraka ny lahatsoratra rehetra amin'ny ankavia (anisan'izany ny Konsole). Ny maningana dia pterm sy mlterm, izay mifikitra amin'ny fenitra ary mampifanaraka ny andalana toy izany.

Overview ny terminal emulators

Fiarovana fampidirana

Ny endri-javatra manan-danja manaraka hitako dia ny fiarovana manohitra ny fampidirana. Na dia fantatry ny besinimaro aza fa ny tsipelina toy ny:

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

dia baiko fanerena fanerena kaody, vitsy ny olona mahafantatra fa ny baiko miafina dia afaka miditra ao amin'ny console rehefa mandika sy mametaka avy amin'ny navigateur web, na dia aorian'ny fisafoana tsara aza. Tranonkala fanamarinana Gianna Horna mampiseho amin'ny fomba mamirapiratra fa tsy misy dikany ny baiko:

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

Nivadika ho fanelingelenana toy izany rehefa napetaka tao amin'ny tranokalan'i Horn ho ao amin'ny terminal:

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

Ahoana ny fandehany? Ny kaody ratsy dia tafiditra ao anatin'ny sakana , izay nesorina tsy ho hitan'ny mpampiasa mampiasa CSS.

Fomba fametahana bracket dia natao mazava tsara mba neutralize ny fanafihana toy izany. Amin'ity fomba ity, ny terminal dia mamehy ny lahatsoratra apetaka amin'ny filaharan'ny fandosirana manokana mba hilazana ny niandohan'ny lahatsoratra. Izany dia milaza amin'ny akorandriaka fa afaka tsy miraharaha ireo tarehintsoratra manokana izay mety ho ao anatin'ilay lahatsoratra apetaka. Ny terminal rehetra miverina amin'ny xterm mendri-kaja dia manohana an'io endri-javatra io, fa ny fametahana amin'ny fomba Bracketed dia mila fanohanana avy amin'ny akorandriaka na fampiharana mandeha amin'ny terminal. Ohatra, mampiasa rindrambaiko GNU Readline (Bash mitovy), mila rakitra ~/.inputrc:

set enable-bracketed-paste on

Indrisy anefa fa ny tranokalam-panadinana an'i Horn dia mampiseho ihany koa ny fomba hialana amin'ity fiarovana ity amin'ny alàlan'ny fandrafetana lahatsoratra ary hampihatra aloha ny maody Bracketed aminy. Mandeha izany satria ny terminal sasany dia tsy manivana araka ny tokony ho izy ny filaharan'ny fandosirana alohan'ny hanampiana ny azy. Ohatra, ao amin'ny ahy dia tsy vitako mihitsy ny nahavita ny fitsapana Konsole na dia tamin'ny fanamboarana marina aza .inputrc rakitra. Midika izany fa azonao atao ny manimba mora foana ny fandrindrana ny rafitrao noho ny fampiharana tsy tohanana na ny akorandriaka tsy voarindra. Mampidi-doza indrindra izany rehefa miditra amin'ny lohamilina lavitra, izay tsy dia mahazatra loatra ny fiasan'ny fikirakirana amim-pitandremana, indrindra raha manana milina lavitra toy izany ianao.

Ny vahaolana tsara amin'ity olana ity dia ny plugin fanamafisana fametahana ho an'ny terminal urxvt, izay mangataka alalana fotsiny hampiditra lahatsoratra misy andalana vaovao. Tsy nahita safidy azo antoka kokoa momba ny fanafihana an-tsoratra nofaritan'i Horn aho.

Tabs sy profil

Ny endri-javatra malaza amin'izao fotoana izao dia ny fanohanana ny interface misy tabilao, izay hofaritantsika ho fikandrana terminal iray misy terminal maromaro hafa. Ity fiasa ity dia tsy mitovy amin'ny terminal samy hafa, ary na dia tsy mahazaka tabilao mihitsy aza ny terminal xterm nentim-paharazana, dia manana an'io fiasa io ny fampidirana terminal maoderina kokoa toa ny Xfce Terminal, GNOME Terminal ary Konsole. Urxvt koa dia manohana tabilao, fa raha mampiasa plugin ianao. Saingy amin'ny resaka fanohanana tabilao dia ny Terminator no mpitarika tsy azo iadian-kevitra: tsy manohana tabilao fotsiny izy io, fa afaka mandamina ny terminal amin'ny filaharana rehetra (jereo ny sary etsy ambany).

Overview ny terminal emulators

Ny endri-javatra iray hafa amin'ny Terminator dia ny fahafahana "manangona" ireo tabilao miaraka ary mandefa ny fanendry fanalahidy mitovy amin'ny terminal maro miaraka amin'ny fotoana iray ihany, manome fitaovana tsy misy dikany amin'ny fanatanterahana asa marobe amin'ny servisy maromaro miaraka. Misy endri-javatra mitovy amin'izany koa apetraka ao amin'ny Konsole. Raha hampiasa an'io endri-javatra io amin'ny terminal hafa ianao dia tsy maintsy mampiasa rindrambaiko avy amin'ny antoko fahatelo toy ny Cluster SSH, xlax na tmux.

Ny tabilao dia miasa tsara indrindra rehefa ampiarahina amin'ny mombamomba: ohatra, azonao atao ny manana tabilao iray ho an'ny mailaka, iray hafa ho an'ny chat, sns. Izany dia tohanan'ny Konsole Terminal sy GNOME Terminal. Samy mamela ny kiheba tsirairay handefa ho azy ny mombamomba azy manokana. Ny Terminator koa dia manohana ny mombamomba azy, saingy tsy hitako ny fomba hanombohana programa sasany rehefa manokatra tabilao manokana ianao. Ny terminal hafa dia tsy manana ny foto-kevitry ny "profil" mihitsy.

Ruffles

Ny zavatra farany horesahiko amin'ny ampahany voalohany amin'ity lahatsoratra ity dia ny endriky ny terminal. Ohatra, ny GNOME, ny Xfce ary ny urxvt dia manohana ny mangarahara, saingy vao haingana no nandao ny fanohanana ny sary ambadika, nanery ny mpampiasa sasany hifindra any amin'ny terminal. Tilix. Izaho manokana dia faly amin'io ary tsotra Xresource, izay mametraka ny loko fototra ho an'ny urxvt. Na izany aza, ny lohahevitra loko tsy manara-penitra dia mety hiteraka olana ihany koa. Ohatra, Voahitsakitsaka tsy miasa miaraka amin'ny fampiharana htop и IPTraf, satria efa mampiasa ny lokony manokana izy ireo.

VT100 voalohany terminal tsy nanohana loko, ary ny vaovao matetika dia voafetra amin'ny palette 256-loko. Ho an'ireo mpampiasa efa mandroso izay manamboatra ny terminal, mety ho famerana manelingelina ny baikon'ny shell na bar sata amin'ny fomba sarotra. votoatin'ny dia manara-maso izay terminal manana fanohanana "True Color". Ny fitsapana nataoko dia manamafy fa ny terminal st, Alacritty ary VTE dia manohana tanteraka ny True Color. Ny terminal hafa dia tsy mandeha tsara amin'io lafiny io ary, raha ny marina, dia tsy mampiseho loko 256 akory. Eto ambany ianao dia afaka mahita ny fahasamihafana misy eo amin'ny fanohanan'ny True Color amin'ny terminal GNOME, st sy xterm, izay manao asa tsara amin'izany miaraka amin'ny palette loko 256, ary ny urxvt, izay tsy vitan'ny hoe tsy nahomby tamin'ny fitsapana, fa na dia mampiseho tarehintsoratra mikitroka aza izy ireo.

Overview ny terminal emulators

Ny terminal sasany dia mamakafaka lahatsoratra ho an'ny lamina URL mba hahatonga ny rohy azo kitihina. Izany dia mihatra amin'ny terminal rehetra avy amin'ny VTE, raha ny urxvt dia mitaky plugin manokana izay hanova URL amin'ny tsindry iray na amin'ny fampiasana hitsin-dàlana fitendry. Terminal hafa nosedraiko ny URL aseho amin'ny fomba hafa.

Farany, fironana vaovao amin'ny terminal dia ny safidy amin'ny buffer scroll. Ohatra, st tsy manana scroll buffer; dia heverina fa hampiasa terminal multiplexer toy ny tmux sy Efijery GNU.

Alacritty koa dia tsy manana buffer backscroll, saingy dia ampiana tsy ho ela ny fanohanany noho ny "fepetra be dia be" momba ity lohahevitra ity avy amin'ny mpampiasa. Ankoatra ireo fanombohana ireo, ny terminal rehetra nosedraiko izay hitako dia manohana ny fihodinana miverina.

subtotals

Ao amin'ny ampahany faharoa amin'ny fitaovana (tany am-boalohany dia lahatsoratra roa samy hafa ireo - eo ho eo. lalana) dia hampitaha ny zava-bita, ny fampiasana fahatsiarovana ary ny fahatarana. Hitantsika sahady anefa fa manana lesoka lehibe ny terminal sasany resahina. Ohatra, ireo mpampiasa izay miasa tsy tapaka amin'ny script RTL dia mety te handinika mlterm sy pterm, satria izy ireo dia tsara kokoa amin'ny fikarakarana asa mitovy amin'ny hafa. Nilalao tsara koa i Konsole. Ireo mpampiasa izay tsy miasa amin'ny script RTL dia afaka misafidy zavatra hafa.

Amin'ny lafiny fiarovana amin'ny fampidirana kaody ratsy, urxvt dia misongadina noho ny fampiharana manokana ny fiarovana amin'ity karazana fanafihana ity, izay toa azo antoka ho ahy. Ho an'ireo izay mitady lakolosy sy sioka sasany, Konsole dia mendrika hojerena. Farany, tsara ny manamarika fa ny VTE dia fototra tsara ho an'ny terminal, izay miantoka ny fanohanana ny loko, ny fanekena URL, sy ny sisa. Raha vao jerena dia mety mahafeno ny fepetra rehetra ny terminal default izay miaraka amin'ny tontolo tianao indrindra, fa avelao hisokatra ity fanontaniana ity mandra-pahazoantsika ny fampisehoana.

Andeha isika hanohy ny resaka


Amin'ny ankapobeny, ny fampandehanana ny terminal amin'ny tenany dia mety ho toy ny olana lavitra, saingy raha ny fandehany, ny sasany amin'izy ireo dia mampiseho fahatarana avo be ho an'ny rindrambaiko amin'ny karazana fototra toy izany. Hojerentsika manaraka ihany koa ilay antsoina hoe "hafainganam-pandeha" mahazatra (raha ny marina, io no hafainganam-pandehan'ny horonam-boky) sy ny fanjifana fahatsiarovana ny terminal (miaraka amin'ny fampitandremana fa tsy dia manakiana loatra amin'izao fotoana izao tahaka ny efa am-polony taona lasa izay).

fahatarana

Taorian'ny fandalinana lalina momba ny fahombiazan'ny terminal, dia tonga tamin'ny fanatsoahan-kevitra aho fa ny mari-pamantarana manan-danja indrindra amin'io lafiny io dia ny latency (ping). Ao amin'ny lahatsorany “Faly izahay manao pirinty” Pavel Fatin dia nijery ny elanelam-potoanan'ny mpamoaka lahatsoratra isan-karazany ary nanamarika fa ny terminal amin'io lafiny io dia mety ho miadana kokoa noho ny mpamoaka lahatsoratra haingana indrindra. Io soson-kevitra io no nitarika ahy hanao ny fanadinako manokana sy hanoratra ity lahatsoratra ity.

Inona anefa no atao hoe latency, ary nahoana izy io no zava-dehibe? Tao amin'ny lahatsorany, i Fatin dia namaritra azy io ho "ny fahatarana eo anelanelan'ny fanindriana fanalahidy sy ny fanavaozana ny efijery mifanaraka amin'izany" ary nanonona teny. "Torolalana ho an'ny fifandraisan'ny olombelona sy ny solosaina", izay milaza hoe: “Misy fiantraikany lehibe eo amin’ny fitondran-tenan’ny mpanao pirinty sy ny fahafaham-po ny fahatarana amin’ny fanehoan-kevitra hita maso eo amin’ny fampisehoana ordinatera.”

Nohazavain’i Fatin fa misy vokany lalina kokoa noho ny fahafaham-po fotsiny io ping io: “Manjary miadana kokoa ny fanoratana, mihamitombo ny fahadisoana, ary mitombo ny fihenjanan’ny maso sy ny hozatra.” Raha lazaina amin'ny teny hafa, ny fahatarana lehibe dia mety hitarika ho amin'ny typos ary hampihena ny kalitaon'ny kaody, satria mitarika ho amin'ny enta-mavesatry ny kognita fanampiny amin'ny atidoha izany. Fa ny ratsy kokoa dia ny ping "mampitombo ny fihenjanan'ny maso sy ny hozatra", izay toa midika izany fampandrosoana ny ratra amin'ny asa amin'ny ho avy (Toa ny mpanoratra dia midika olana amin'ny hozatry ny maso, lamosina, sandry ary, mazava ho azy, ny fahitana - eo ho eo. lalana) noho ny adin-tsaina miverimberina.

Ny sasany amin'ireo fiantraikany ireo dia efa fantatra hatry ny ela, ary ny vokany fikarohana, navoaka tamin’ny 1976 tao amin’ny gazety Ergonomics, dia nilaza fa ny fahataran’ny 100 milisegondra dia “manelingelina be ny hafainganan’ny fanoratana”. Vao haingana, nampidirina ny Torolàlana ho an'ny mpampiasa GNOME fotoana valiny azo ekena ao anatin'ny 10 milisegondra, ary raha mandroso kokoa ianao, dia Microsoft Research mampiseho fa ny 1 milisegondra no tena tsara.

Nanao ny fitsapana nataony tamin'ny mpamoaka lahatsoratra i Fatin; namorona fitaovana azo entina antsoina hoe Typometer, izay nampiasaiko nanandrana ping tamin'ny emulators terminal. Ataovy ao an-tsaina fa ny fitsapana dia natao tamin'ny fomba simulation: raha ny marina, mila mandinika ny fidirana (keyboard, USB controller, sns.) sy ny famoahana (buffer carte video, monitor). Araka ny filazan'i Fatin, amin'ny fanamafisana mahazatra dia manodidina ny 20 ms izany. Raha manana fitaovana filalaovana ianao dia afaka mahatratra io tarehimarika io ao anatin'ny 3 milisegondra monja. Koa satria efa manana fitaovana haingana toy izany isika, dia tsy mila manampy azy manokana ny fampiharana. Ny tanjon'i Fatin dia ny hampiakatra ny faharetan'ny fampiharana ho 1 milisegondra, na hanatratra ny antso an-tariby tsy misy fahatarana azo refesina, ahoana ny IntelliJ IDEA 15.

Ireto ny valin'ny fandrefesako, ary koa ny valin'ny Fatin sasany, mba hampisehoana fa mifanaraka amin'ny fitsapana nataony ny andrana nataoko:

Overview ny terminal emulators

Ny zavatra voalohany nanaitra ahy dia ny fotoana famaliana tsara kokoa an'ireo programa taloha toa ny xterm sy mlterm. Miaraka amin'ny fahatarana rejistra ratsy indrindra (2,4 ms), dia nahavita tsara kokoa noho ny terminal maoderina haingana indrindra izy ireo (10,6 ms ho an'ny st). Tsy misy terminal maoderina latsaka ambanin'ny fe-potoana 10 milisegondra. Indrindra indrindra, tsy mahafeno ny fitakiana "emulator terminal haingana indrindra azo alaina" i Alacritty, na dia nihatsara aza ny naoty nanomboka tamin'ny famerenana voalohany tamin'ny taona 2017. Eny tokoa, ny mpanoratra ny tetikasa mahafantatra ny zava-misy ary miasa hanatsara ny fampisehoana. Marihina ihany koa fa Vim mampiasa GTK3 dia filaharana miadana kokoa noho ny GTK2 mitovy aminy. Avy amin'izany no azontsika tsoahina fa ny GTK3 dia mamorona latency fanampiny, ary izany dia hita taratra amin'ny terminal hafa rehetra mampiasa azy (Terminator, Xfce4 Terminal ary GNOME Terminal).

Mety tsy ho hitan’ny maso anefa ny fahasamihafana. Araka ny fanazavan’i Fatin, “tsy voatery ho tsapanao ny fahatarana vao hisy vokany eo aminao izany.” Mampitandrina momba ny fivilian-dàlana marim-pototra koa i Fatin: "Ny fikorontanan'ny fahatarana (jitter) dia miteraka adin-tsaina fanampiny noho ny tsy ampoizina azy."

Overview ny terminal emulators

Ny kisary etsy ambony dia nalaina tamin'ny Debian 9 madio (stretch) miaraka amin'ny i3 mpitantana varavarankely. Ity tontolo iainana ity dia mamokatra vokatra tsara indrindra amin'ny fitsapana fahatarana. Raha ny fandehany fa ny GNOME dia mamorona ping fanampiny 20 ms ho an'ny fandrefesana rehetra. Ny fanazavana azo atao amin'izany dia ny fisian'ny programa miaraka amin'ny fanodinana synchronous ny hetsika fampidirana. Fatin dia manome ohatra ho an'ny tranga toy izany workrave, izay manampy fanemorana amin'ny alàlan'ny fanodinana ny hetsika fampidirana rehetra miaraka. Amin'ny alàlan'ny default, ny GNOME dia tonga miaraka amin'ny mpitantana varavarankely reny, izay mamorona sosona fitehirizana fanampiny, izay misy fiantraikany amin'ny ping ary manampy 8 milisegondra farafahatarany ny fahatarana.

Overview ny terminal emulators

Hafainganam-boky

Ny fitsapana manaraka dia fitsapana "hafainganam-pandeha" na "bandwidth" mahazatra, izay mandrefy ny hafainganam-pandehan'ny terminal amin'ny horonana pejy iray raha mampiseho lahatsoratra be dia be eo amin'ny efijery. Ny mekanika amin'ny fitsapana dia miovaova; ny andrana tany am-boalohany dia ny famoronana tady lahatsoratra mitovy amin'ny fampiasana ny baiko seq. Ny fitsapana hafa dia ny fitsapana nataon'i Thomas E. Dickey (xterm maintainer), izay miverimberina alaina ny rakitra terminfo.src. Amin'ny famerenana hafa momba ny fahombiazan'ny terminal Den Luu dia mampiasa tady base32 misy tsipika kisendrasendra, izay mivoaka amin'ny terminal mampiasa saka. Heverin'i Luu ho "marika tsy misy ilana azy araka izay azo eritreretina" ny fitsapana toy izany ary manoro hevitra ny hampiasa ny valin'ny terminal ho metrika voalohany. Antsoin'i Dickey koa fa mamitaka ny fitsapana nataony. Na izany aza, samy manaiky ny mpanoratra roa fa mety ho olana ny bandwidth fikandrana terminal. Hitan'i Luu fa nivaingana ny Emacs Eshell rehefa mampiseho rakitra lehibe, ary i Dickey dia nanatsara ny terminal mba hialana amin'ny hakamoan'ny xtrerm. Noho izany dia mbola misy ny fahamendrehana amin'ity fitsapana ity, saingy satria tsy mitovy amin'ny terminal mankany amin'ny terminal ny fizotran'ny famandrihana, dia azo ampiasaina ho singa fitsapana ihany koa izy io mba hitsapana ireo masontsivana hafa.

Overview ny terminal emulators

Eto isika dia mahita ny rxvt sy st misintona mialoha ny fifaninanana, arahin'ny Alacritty vaovao kokoa, izay natao hifantoka amin'ny fampisehoana. Manaraka izany dia Xfce (fianakaviana VTE) sy Konsole, izay efa ho avo roa heny noho ny haingana. Ny farany dia xterm, izay avo dimy heny miadana kokoa noho ny rxvt. Nandritra ny fitsapana, ny xterm koa dia nivezivezy be, ka sarotra ny mahita ny lahatsoratra mandalo na dia andalana iray ihany aza. Haingana ny Konsole, saingy sarotra indraindray: mivaingana tsindraindray ny fampiratiana, mampiseho lahatsoratra ampahany na tsy mampiseho izany mihitsy. Ny terminal hafa dia nampiseho tady mazava tsara, anisan'izany ny st, Alacritty, ary rxvt.

Nohazavain'i Dickey fa ny fahasamihafan'ny zava-bita dia noho ny fandrafetana ny scroll buffers amin'ny terminal samihafa. Indrindra indrindra, miampanga ny rxvt sy ny terminal hafa ho "tsy manaraka ny fitsipika ankapobeny" izy:

"Tsy toy ny xterm, tsy nanandrana nampiseho ny fanavaozana rehetra i rxvt. Raha lavo izy, dia mandà ny fanavaozana sasany ho tratrarina. Nisy fiantraikany lehibe kokoa tamin'ny hafainganam-pandehan'ny horonan-tsary izany noho ny fandaminana fitadidiana anatiny. Ny tsy fahampiana iray dia ny tsy fahampian'ny animation ASCII."

Mba hanitsiana an'io fahamaizana xterm io dia manoro hevitra ny fampiasana ny loharanon-karena i Dickey fastScroll, mamela ny xterm hanilika ny fanavaozam-baovao sasany amin'ny efijery mba hanarahana ny fikorianan'ny. Ny fitsapana nataoko dia manamafy fa ny fastScroll dia manatsara ny fahombiazany ary mitondra xterm mitovy amin'ny rxvt. Ity anefa dia somary manjavozavo, araka ny fanazavan'i Dickey tenany: "indraindray ny xterm - toy ny konsole - dia toa mijanona eo am-piandrasana ny fanavaozana ny efijery vaovao rehefa nesorina ny sasany." Amin'ity tranga ity, toa ny terminal hafa no nahita ny marimaritra iraisana tsara indrindra eo amin'ny hafainganam-pandeha sy ny fahamendrehana.

Fanjifana loharanon-karena

Na inona na inona maha-zava-dehibe ny fiheverana ny hafainganam-pandehan'ny horonam-boky ho toy ny metrika fampisehoana, ity fitsapana ity dia mamela antsika haka tahaka ny enta-mavesatra eo amin'ny terminal, izay mamela antsika handrefesana ireo mari-pamantarana hafa toy ny fitadidiana na fampiasana kapila. Ny metrika dia azo tamin'ny alalan'ny fanaovana ny fitsapana voafaritra seq eo ambanin'ny fanaraha-maso ny fizotran'ny Python. Nanangona angona metatra izy getrusage () ho an'ny ru_maxrss, vola ru_oublock и ru_inblock ary fameram-potoana tsotra.

Overview ny terminal emulators

Amin'ity fitsapana ity, ny ST dia mahazo ny laharana voalohany miaraka amin'ny fanjifana fahatsiarovana ambany indrindra amin'ny 8 MB, izay tsy mahagaga raha jerena fa ny hevi-dehibe amin'ny famolavolana dia tsotra. mlterm, xterm ary rxvt dia mandany kely kokoa - eo amin'ny 12 MB. Vokatra iray hafa misongadina dia ny Alacritty, izay mitaky 30 MB raha mihazakazaka. Avy eo dia misy terminal ny fianakaviana VTE miaraka amin'ny tarehimarika 40 ka hatramin'ny 60 MB, izay tena betsaka. Ity fanjifana ity dia azo hazavaina amin'ny hoe mampiasa tranomboky avo lenta ireo terminal ireo, ohatra, GTK. Ny Konsole dia tonga amin'ny farany miaraka amin'ny fanjifana fahatsiarovana 65MB be dia be mandritra ny fitsapana, na dia azo hamarinina amin'ny endri-javatra maro be aza izany.

Raha oharina amin'ny vokatra teo aloha azo folo taona lasa izay, ny programa rehetra dia nanomboka nandany fahatsiarovana bebe kokoa. Ny Xterm taloha dia nitaky 4 MB, fa ankehitriny dia mila 15 MB vao manomboka. Misy fitomboana mitovy amin'ny fanjifana ho an'ny rxvt, izay mitaky 16 MB avy ao anaty boaty. Ny Xfce Terminal dia mandray 34 MB, izay avo telo heny noho ny teo aloha, fa ny GNOME Terminal dia mila 20 MB ihany. Mazava ho azy fa ny fitsapana teo aloha rehetra dia natao tamin'ny maritrano 32-bit. Ao amin'ny LCA 2012 Rusty Russell nolazaiko, fa misy antony ankolaka maro kokoa izay afaka manazava ny fitomboan'ny fanjifana fahatsiarovana. Rehefa nilaza izany isika dia miaina ao anatin'ny fotoana ananantsika fitadidiana gigabytes, noho izany dia hitantana izany isika.

Na izany aza, tsy afa-manoatra aho fa mahatsapa fa fandaniam-bola ny fametrahana fahatsiarovana bebe kokoa amin'ny zavatra fototra toy ny terminal. Ireo programa ireo dia tokony ho kely indrindra amin'ny kely indrindra, tokony ho afaka mandeha amin'ny "boaty" rehetra, eny fa na dia boaty kiraro aza, raha toa ka tonga amin'ny toerana ilana azy ireo ny fitaovana Linux (ary fantatrao fa ho toy izany koa izany. ). Saingy miaraka amin'ireo isa ireo, ny fampiasana fahatsiarovana dia ho lasa olana amin'ny ho avy amin'ny tontolo rehetra mandeha amin'ny terminal maro ankoatry ny vitsivitsy amin'ireo maivana sy voafetra indrindra amin'ny fahaiza-manao. Mba hanonerana izany, ny GNOME Terminal, Konsole, urxvt, Terminator ary Xfce Terminal dia manana fomba Daemon izay ahafahanao mifehy terminal maromaro amin'ny alàlan'ny dingana iray, mametra ny fanjifana fahatsiarovana azy.

Overview ny terminal emulators

Nandritra ny fitsapana nataoko dia nisy valiny tsy nampoizina hafa momba ny famakiana-manoratra kapila aho: nanantena aho fa tsy hahita na inona na inona eto, saingy hita fa misy terminal sasany manoratra ny angona be indrindra amin'ny kapila. Noho izany, ny tranomboky VTE dia mitazona scroll buffer amin'ny kapila (ity endri-javatra ity tsikaritra tamin'ny taona 2010, ary mbola mitranga izany). Saingy tsy toy ny fampiharana taloha, farafaharatsiny ity angon-drakitra ity dia voarakotra amin'ny alàlan'ny AES256 GCM (avy amin'ny dikan-0.39.2). Saingy misy fanontaniana mitombina: inona no mampiavaka ny tranomboky VTE ka mitaky fomba tsy manara-penitra toy izany amin'ny fampiharana...

famaranana

Ao amin'ny tapany voalohany amin'ny lahatsoratra dia hitanay fa ny terminal miorina amin'ny VTE dia manana endri-javatra tsara, saingy izao dia hitantsika fa miaraka amin'ny vidin'ny fampisehoana izany. Ankehitriny dia tsy olana ny fitadidiana satria ny terminal VTE rehetra dia azo fehezina amin'ny alàlan'ny dingana Daemon, izay mametra ny filany. Na izany aza, ny rafitra taloha izay manana fetra ara-batana amin'ny habetsaky ny RAM sy ny buffer kernel dia mety mbola mila dikan-teny taloha kokoa, satria mandany loharanon-karena vitsy kokoa. Na dia nahavita tsara aza ny terminal VTE tamin'ny fitsapana throughput (scrolling), dia mihoatra ny tokonam-baravarana napetraka ao amin'ny Torolàlana ho an'ny mpampiasa GNOME. Ny mpamorona VTE angamba dia tokony handinika izany. Raha raisinay fa na dia ho an'ireo mpampiasa Linux vaovao aza dia tsy azo ihodivirana, dia afaka manao izany ho mora kokoa amin'ny mpampiasa. Ho an'ny geeks efa za-draharaha, ny fifindran'ny terminal default dia mety hidika ho kely kokoa ny maso sy ny fahafahana misoroka ny ratra sy ny aretina mifandray amin'ny asa noho ny fotoam-piasana lava. Indrisy anefa fa ny xterm sy mlterm taloha ihany no mitondra antsika amin'ny tokonam-baravaran'ny ping majika 10 milliseconds, izay tsy azo ekena ho an'ny maro.

Ny fandrefesana Benchmark dia nampiseho ihany koa fa noho ny fivoaran'ny tontolon'ny grafika Linux dia tsy maintsy nanao marimaritra iraisana ny mpamorona. Ny mpampiasa sasany dia mety te-hijery ireo mpitantana varavarankely mahazatra satria manome fampihenana ping lehibe izy ireo. Indrisy anefa fa tsy azo natao ny nandrefesana ny fahatarana ho an'ny Wayland: ny programa Typometer nampiasaiko dia noforonina ho an'ny zavatra natao hisorohana ny Wayland: fitsikilovana amin'ny varavarankely hafa. Manantena aho fa ny famoronana Wayland dia mahavita tsara kokoa noho ny X.org, ary manantena koa aho fa amin'ny hoavy dia hisy olona hahita fomba handrefesana ny fahatarana amin'ity tontolo ity.

Source: www.habr.com

Add a comment