{"id":37222,"date":"2019-10-31T22:16:26","date_gmt":"2019-10-31T19:16:26","guid":{"rendered":"https:\/\/prohoster.info\/blog\/obzor-emulyatorov-terminala\/"},"modified":"2019-10-31T22:16:26","modified_gmt":"2019-10-31T19:16:26","slug":"obzor-emulyatorov-terminala","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/obzor-emulyatorov-terminala","title":{"rendered":"Terminali emulatorite \u00fclevaade","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>M\u00f5ned s\u00f5nad meie t\u00f5lkeb\u00fcroost: tavaliselt p\u00fc\u00fctakse t\u00f5lkida k\u00f5ige v\u00e4rskemaid materjale ja avaldusi, ja me ei ole erand. Kuid terminalid ei ole just need, mis uuenevad kord n\u00e4dalas. Seet\u00f5ttu t\u00f5lkisime teile Antoine Bopr\u00e9 artikli, mis ilmus 2018. aasta kevadel: vaatamata oma \u201evanusele\u201d on see meie arvates endiselt asjakohane. Lisaks on originaal kahe artikli seeria, kuid otsustasime need \u00fchendada \u00fcheks suureks postituseks.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Terminali emulatorite \u00fclevaade\" src=\"\/wp-content\/uploads\/2019\/08\/23b2893d4d23ee402f42f8d686fec788.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTerminalid m\u00e4ngivad arvuti ajaloos erilist rolli, kuid viimastel aastak\u00fcmnetel on nad olnud sunnitud koos k\u00e4sureaga ellu j\u00e4\u00e4ma, kuna graafilised liidesed on laialdaselt levinud. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Terminal_emulator\">Terminalide emulaatorid<\/a><\/noindex> asendasid oma <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Computer_terminal\">riistvaralised venna<\/a><\/noindex>, mis olid omakorda muudetud s\u00fcsteemidest, mis kasutasid puidust kaartide ja l\u00fclitite s\u00fcsteemi. Kaasaegsed distributsioonid pakuvad hulganisti terminali emulaatoreid eri vormide ja v\u00e4rvitoonidega. Kuigi paljud on rahul standardse terminaliga, mille nende t\u00f6\u00f6keskkond pakub, kasutavad m\u00f5ned uhkusega t\u00f5eliselt eksootilist tarkvara, et k\u00e4ivitada oma lemmik shelli v\u00f5i tekstiredaktorit. Kuid nagu me sellest artiklist n\u00e4eme, ei ole k\u00f5ik terminalid loodud \u00fchesuguseks: need erinevad \u00fcksteisest funktsionaalsuse, suuruse ja tulemuslikkuse osas.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>M\u00f5ned terminalid on varustatud \u00fcllatavalt suurte turvaaukudega, lisaks omavad enamik t\u00e4iesti erinevat funktsioonide komplekti, alates vahekaardiga liidese tosupportamisest kuni skriptideni. Kuigi me <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/88161\/\">oleme varem k\u00e4sitlenud terminali emulaatoreid<\/a><\/noindex>, on see artikkel varasemate materjalide uuendamine, mis aitab lugejatel kindlaks teha, millist terminali kasutada 2018. aastal. Artikli esimeses pooles v\u00f5rreldakse funktsioone ja teises hinnatakse tulemuslikkust.<\/p>\n<p>Siin on minu \u00fclevaatuses seotud terminalid:<\/p>\n<p><img decoding=\"async\" alt=\"Terminali emulatorite \u00fclevaade\" src=\"\/wp-content\/uploads\/2019\/08\/be76032ca4392c23dd0c111a36b199ef.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV\u00f5imalik, et need ei ole k\u00f5ige uuemad versioonid, kuna piirdusin stabiilsete kogumitega hetkel, mil materjali kirjutasingi, mille suutsin t\u00f6\u00f6le saada Debian 9 v\u00f5i Fedora 27 peal. Ainsaks erandiks on Alacritty. See on GPU-kiirenduse kasutav terminal ja on kirjutatud ebatavalisel ja uuel keelel - Rust. V\u00e4lja j\u00e4tsin oma \u00fclevaatest veebiterminalid (sealhulgas ka <noindex><a rel=\"nofollow\" href=\"https:\/\/electronjs.org\/\">Electron<\/a><\/noindex>), sest eeltestid n\u00e4itasid nende \u00e4\u00e4rmiselt madalat j\u00f5udlust.<\/p>\n<h4>Unicode-toe olemasolu<\/h4>\n<p>\nAlustasin oma teste Unicode-toe hindamisega. Terminaalide esimene test oli kuvada Unicode'i stringi <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Unicode#Web\">Wikipedias<\/a><\/noindex>: \"\u00e9, \u0394, \u0419, \u05e7, \u0645, \u0e57, \u3042, \u53f6, \u8449 ja \ub9d0\". See lihtne test n\u00e4itab, kas terminal suudab t\u00f6\u00f6tada kogu maailmas. Terminal xterm ei kuva araabia t\u00e4hem\u00e4rki <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Mem\">M\u00e4lu<\/a><\/noindex> vaikimisi seadistuses:<\/p>\n<p><img decoding=\"async\" alt=\"Terminali emulatorite \u00fclevaade\" src=\"\/wp-content\/uploads\/2019\/08\/92e1b9f6e7f3129a55d09cd48310c699.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVaikimisi kasutab xterm klassikalist \"fikseeritud\" fonti, mis vastavalt <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Open-source_Unicode_typefaces\">samale Wikile<\/a><\/noindex>, sisaldab \u201em\u00e4rkimisv\u00e4\u00e4rset Unicode katvust alates 1997. aastast\u201c. Selles fondis toimub midagi, mis p\u00f5hjustab s\u00fcmboli kuvamise t\u00fchjana, ja ainult siis, kui teksti fondi suurust suurendada 20+ punktini, hakkab s\u00fcmbol l\u00f5puks \u00f5igesti kuvama. Siiski rikub selline \u201eparandus\u201c teiste Unicode s\u00fcmbolite kuvamist:<\/p>\n<p><img decoding=\"async\" alt=\"Terminali emulatorite \u00fclevaade\" src=\"\/wp-content\/uploads\/2019\/08\/4300f72d87bb9b729d4c682e876b4998.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNeed ekraanipildid tehti Fedora 27-s, kuna see andis paremaid tulemusi kui Debian 9, kus m\u00f5ned vanemad terminaliversioonid (konkreetsemalt \u2014 mlterm) ei suutnud fonte korralikult k\u00e4sitleda. \u00d5nneks on see hiljemates versioonides parandatud.<\/p>\n<p>N\u00fc\u00fcd p\u00f6\u00f6rake t\u00e4helepanu xterm-is oleva rea kuvamisele. Selgub, et s\u00fcmbol Mem ja sellele j\u00e4rgnev Semitic <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Qoph\">Qoph<\/a><\/noindex> kuuluvad RTL (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Right-to-left\">right-to-left<\/a><\/noindex>) stiilide alla, seega peaksid nad tehniliselt kuvama paremale. Veebibrauserid, n\u00e4iteks Firefox 57, t\u00f6\u00f6tlevad \u00fclaltoodud rida \u00f5igesti. Lihtsam n\u00e4ide RTL-tekstist on s\u00f5na \u201e<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Sarah\">Sarah<\/a><\/noindex>\u201c heebrea keeles (<noindex><a rel=\"nofollow\" href=\"https:\/\/he.wikipedia.org\/wiki\/%D7%A9%D7%A8%D7%94\">\u05e9\u05e8\u05d4<\/a><\/noindex>). <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Bi-directional_text\">Wiki leht kahepoolsest tekstist<\/a><\/noindex> \u00fctleb j\u00e4rgmist:<\/p>\n<blockquote><p>\u201ePaljud arvutiprogrammid ei suuda kahe suunalist teksti \u00f5igesti kuvada. N\u00e4iteks juudi nimi \u201eSara\u201d koosneb t\u00e4htedest sin (\u05e9) (mis tuleb paremale), seej\u00e4rel resh (\u05e8) ja l\u00f5puks chet (\u05d4) (mis peaks ilmuma vasakule).\u201c<\/p><\/blockquote>\n<p>\nPaljud terminalid ei l\u00e4binud seda testi: Alacritty, Gnome ja XFCE VTE-p\u00f5hised terminalid, urxvt, st ja xterm kuvavad \u201eSara\u201d vastupidises j\u00e4rjekorras, nagu oleksime selle nime kirjutanud kui \u201eAras\u201d.<\/p>\n<p><img decoding=\"async\" alt=\"Terminali emulatorite \u00fclevaade\" src=\"\/wp-content\/uploads\/2019\/08\/9decee6d198bd9d3e4f4883a8f2b0da6.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeine kahe suunalise teksti probleem on see, et neid tuleb kuidagi joondada, eriti kui tegemist on RTL ja LTR tekstide segamisega. RTL stsenaariumid peaksid algama terminali akna paremas servas, kuid mis peaks juhtuma terminalidega, mis vaikimisi t\u00f6\u00f6tavad LTR-inglise keeles? Enamik neist ei oma mingeid spetsiaalseid mehhanisme ja joondavad kogu teksti vasakule (sealhulgas Konsole). Eranditeks on pterm ja mlterm, mis j\u00e4rgivad standardeid ja joondavad sellised read paremale.<\/p>\n<p><img decoding=\"async\" alt=\"Terminali emulatorite \u00fclevaade\" src=\"\/wp-content\/uploads\/2019\/08\/a32675d44e7cadce6d197d6eb5c8d9e2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h4>Sisestamise kaitse<\/h4>\n<p>\nJ\u00e4rgmine kriitiline omadus, mille ma enda jaoks m\u00e4\u00e4ratlesin, on sisestamise kaitse. Kuigi on laialdaselt teada, et sellised loitsud:<\/p>\n<pre><code class=\"plaintext\">$ curl http:\/\/example.com\/ | sh<\/code><\/pre>\n<p>\non koodide t\u00e4itmiseks m\u00f5eldud push-k\u00e4sklused, kuid v\u00e4he on neid, kes teavad, et peidetud k\u00e4sud v\u00f5ivad kopitud ja kleebitud veebibrauserist konsooli sattuda, isegi p\u00e4rast p\u00f5hjalikku \u00fclevaatamist. <noindex><a rel=\"nofollow\" href=\"http:\/\/thejh.net\/misc\/website-terminal-copy-paste\">Janna Horni kontrollimisleht<\/a><\/noindex> t\u00f5husalt illustreerib, kuidas n\u00e4iliselt kahjutu k\u00e4sk:<\/p>\n<pre><code class=\"plaintext\">git clone git:\/\/git.kernel.org\/pub\/scm\/utils\/kup\/kup.git<\/code><\/pre>\n<p>\nmuutub Horni saidilt kleepimisel terminalis t\u00f5eliseks probleemiks:<\/p>\n<pre><code class=\"plaintext\">git clone \/dev\/null;\n    clear;\n\techo -n \"Tere \";\n\twhoami|tr -d 'n';\n\techo -e '!nSee oli halb m\u00f5te. \u00c4ra kopeeri koodi veebilehtedelt, mida sa ei usalda! \n\tSiin on esimene rida sinu \/etc\/passwd: ';\n\thead -n1 \/etc\/passwd\n\tgit clone git:\/\/git.kernel.org\/pub\/scm\/utils\/kup\/kup.git<\/code><\/pre>\n<p>\nKuidas see t\u00f6\u00f6tab? Kahjulik kood on eraldatud plokki <b>&lt;sp\u0430n&gt;<\/b>, mis on CSS-i vahendite abil kasutaja silmist eemaldatud.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/cirw.in\/blog\/bracketed-paste\">Bracketed paste re\u017eiim<\/a><\/noindex> on selgelt ette n\u00e4htud sarnaste r\u00fcnnakute neutraliseerimiseks. Sel moel paigutavad terminalid sisestatud teksti paaridesse erilistesse escape-j\u00e4rjestustesse, et teavitada shelli selle teksti p\u00e4ritolust. Nii saab shell signaali, et ta v\u00f5ib ignoreerida neid erim\u00e4rke, mida sisestatud tekst v\u00f5iks sisaldada. K\u00f5ik terminalid, sealhulgas austatav xterm, toetavad seda funktsiooni, kuid Bracketed-re\u017eiim vajab toetust samuti shellilt v\u00f5i rakenduselt, mis t\u00f6\u00f6tab terminalis. N\u00e4iteks tarkvara, mis kasutab <noindex><a rel=\"nofollow\" href=\"https:\/\/tiswww.case.edu\/php\/chet\/readline\/rltop.html\">GNU Readline<\/a><\/noindex> (sama Bash), vajab faili <b>~ \/.inputrc<\/b>:<\/p>\n<pre><code class=\"plaintext\">set enable-bracketed-paste on<\/code><\/pre>\n<p>\nKahjuks n\u00e4itab Horni testimisait ka seda, kuidas seda kaitset \u00fcletada teksti enda vormindamise kaudu ja Bracketed-re\u017eiimi rakendamise enneaegse l\u00f5petamisega. See t\u00f6\u00f6tab, sest m\u00f5ned terminalid filtreerivad escape-j\u00e4rjestused valesti enne omaenda lisamist. N\u00e4iteks ei suutnud ma isegi \u00f5ige konfiguratsiooni korral oma teste Konsole'is edukalt l\u00f5petada <b>.inputrc<\/b> faili. See t\u00e4hendab, et saate kergesti kahjustada s\u00fcsteemi konfiguratsiooni toetamata rakenduse v\u00f5i vale seadistuse t\u00f5ttu. See on eriti ohtlik kaugserveritele logimise korral, kus konfiguratsiooni hoolikas t\u00f6\u00f6tlus esineb harvemini, eriti kui teid on palju selliseid kaugmasinaid.<\/p>\n<p>Hea lahendus selle probleemi jaoks on terminali kinnitusplugin <b>urxvt<\/b>, mis lihtsalt k\u00fcsib luba igasuguste uute ridadega teksti kleepimiseks. Minu jaoks pole selle kirjeldatud Horno tekstir\u00fcnnaku jaoks turvalisemat varianti.<\/p>\n<h4>Vahekaartide ja profiilide<\/h4>\n<p>\nPopulaarne funktsioon, mida n\u00fc\u00fcd toetatakse, on sakkide liidese tugi, mida m\u00e4\u00e4ratleme kui \u00fche terminali akna, mis sisaldab endas veel mitmeid terminale. Erinevate terminalide jaoks erineb see funktsioon ning kuigi traditsioonilised xterm t\u00fc\u00fcpi terminalid ei toeta \u00fcldse sakke, on kaasaegsemad terminali versioonid nagu Xfce Terminal, GNOME Terminal ja Konsole selle funktsiooni omavad. Samuti on sakivaatamistoetuse olemas Urxvt, kuid ainult juhul, kui kasutatakse pluginat. Kuid sakivaatamise toetuse osas on terminator absoluutne liider: see toetab mitte ainult sakke, vaid suudab terminale paigutada ka suvalisse j\u00e4rjekorda (vt allolevat pilti).<\/p>\n<p><img decoding=\"async\" alt=\"Terminali emulatorite \u00fclevaade\" src=\"\/wp-content\/uploads\/2019\/08\/5ac2cdbdd969420cd7c19597d20c8c35.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeise olulise omadusena v\u00f5imaldab Terminator \u201er\u00fchmitada\u201c need sakkid kokku ja saata samu klahvivajutusi mitu terminali korraga, mis pakub j\u00e4medat t\u00f6\u00f6riista massiliste toimingute tegemiseks mitmel serveril korraga. Sarnane funktsioon on olemas ka Konsole'is. Selle funktsiooni kasutamiseks teistes terminalides on vajalik kolmanda osapoole tarkvara, nagu <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/duncs\/clusterssh\">Cluster SSH<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"http:\/\/hea-www.harvard.edu\/~fine\/Tech\/xlax.html\">xlax<\/a><\/noindex> v\u00f5i <noindex><a rel=\"nofollow\" href=\"https:\/\/tmux.github.io\/\">tmux<\/a><\/noindex>.<\/p>\n<p>Eriti h\u00e4sti t\u00f6\u00f6tavad sakkid koos profiilidega: n\u00e4iteks v\u00f5ite omada \u00fchte sakkid e-kirjade jaoks, teist jututoas jne. Seda toetavad h\u00e4sti terminalid Konsole ja GNOME Terminal. M\u00f5lemad v\u00f5imaldavad igal sakkidel automaatselt k\u00e4ivitada oma profiili. Terminator toetab samuti profiile, kuid ma ei leidnud viisi teatud programmide automaatseks k\u00e4ivitamiseks, kui avatakse konkreetne sakk. Teised terminalid ei tunne \u00fcldse m\u00f5istet \u201eprofiil\u201c.<\/p>\n<h4>R\u00fc\u00fcsid<\/h4>\n<p>\nViimased, mida ma esimeses osas k\u00e4sitlen, on terminalide v\u00e4limus. N\u00e4iteks GNOME, Xfce ja urxvt toetavad l\u00e4bipaistvust, kuid hiljuti on nad taustapiltide toe l\u00f5petanud, mis on sundinud m\u00f5nda kasutajat \u00fcle minema terminalile. <noindex><a rel=\"nofollow\" href=\"https:\/\/gnunn1.github.io\/tilix-web\/\">Tilix<\/a><\/noindex>. Isiklikult mul see sobib ja on lihtsalt <b>Xresources<\/b>, mis seadistab urxvt jaoks p\u00f5hikomplekti taustav\u00e4rve. Siiski v\u00f5ivad mittestandardsete v\u00e4rviteemade kasutamine tekitada probleeme. N\u00e4iteks, <noindex><a rel=\"nofollow\" href=\"http:\/\/ethanschoonover.com\/solarized\">Solarized<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/altercation\/solarized\/issues\/220\">ei toimi<\/a><\/noindex> rakendustega <noindex><a rel=\"nofollow\" href=\"http:\/\/hisham.hm\/htop\/\">htop<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"http:\/\/iptraf.seul.org\/\">IPTraf<\/a><\/noindex>, kuna need kasutavad juba oma v\u00e4rve.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/VT100\">Originaalne VT100 terminal<\/a><\/noindex> ei toetanud v\u00e4rve ja uued olid sageli piiratud 256 v\u00e4rvi paletiga. Kogenud kasutajatele, kes stiilivad oma terminale, v\u00f5ivad k\u00e4surea v\u00f5i oleku ridadel keerulised viisid osutuda ebamugavaks piiranguks. <noindex><a rel=\"nofollow\" href=\"https:\/\/gist.github.com\/XVilka\/8346728\">Gist<\/a><\/noindex> j\u00e4lgib, millised terminalid toetavad \"True Color\". Minu testid kinnitavad, et st, Alacritty ja VTE-p\u00f5hised terminalid toetavad True Colorit suurep\u00e4raselt. Teised terminalid ei tunne end selles osas eriti h\u00e4sti ja ei n\u00e4ita isegi 256 v\u00e4rvi. Allpool n\u00e4ete erinevust True Color toetuses GNOME, st ja xterminaalide vahel, mis teevad selle \u00fclesande 256-v\u00e4rvilise paletiga h\u00e4sti, ja urxvt, mis mitte ainult ei pruugi testi l\u00e4bida, vaid n\u00e4itab isegi vilkuvaid s\u00fcmboleid.<\/p>\n<p><img decoding=\"async\" alt=\"Terminali emulatorite \u00fclevaade\" src=\"\/wp-content\/uploads\/2019\/08\/bc6ceac84a1918b9bfa14a5cadd28746.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nM\u00f5ned terminalid anal\u00fc\u00fcsivad ka teksti URL-mustrite tuvastamiseks, et muuta lingid klikkimiseks sobivaks. See kehtib k\u00f5igi VTE-p\u00f5histe terminalide kohta, samas kui urxvt vajab spetsiaalset plugina, mis muudab URL-aadresse klikkimise v\u00f5i klahvikombinatsiooni abil. Teised testitud terminalid kuvavad URL-e muul viisil.<\/p>\n<p>L\u00f5puks on uus trend terminalides - kerimisbuffri valikulisus. N\u00e4iteks st-s puudub kerimisbuffers; eeldatakse, et kasutaja kasutab terminali multiplexerit, nagu tmux ja <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gnu.org\/software\/screen\/\">GNU Screen<\/a><\/noindex>.<\/p>\n<p>Alacritty-l puuduvad ka tagasikerimise moodulid, kuid <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jwilm\/alacritty\/issues\/124\">peagi lisandub<\/a><\/noindex> selle tugi \u00abulatusliku tagasiside\u00bb t\u00f5ttu sellel teemal kasutajatelt. Lisaks nendele eranditele toetab iga kontrollitud terminal, mille ma suutsin leida, tagasikerimist.<\/p>\n<h4>Vahekokkuv\u00f5te<\/h4>\n<p>\nTeises osas materjalist (<i>originaalis olid need kaks erinevat artiklit, \u2014 toimetaja m\u00e4rkus.<\/i>) v\u00f5rdleme j\u00f5udlust, m\u00e4lu kasutamist ja viivitust. Kuid me n\u00e4eme juba, et m\u00f5ned arutatavad terminalid omavad t\u00f5siseid puudusi. N\u00e4iteks v\u00f5ivad regulaarsetes RTL-skriptidega t\u00f6\u00f6tavad kasutajad p\u00f6\u00f6rata t\u00e4helepanu mltermile ja ptermile, kuna need saavad sellega paremini hakkama kui teised. Konsole on samuti h\u00e4sti esinenud. RTL-skriptidega mitte t\u00f6\u00f6tavad kasutajad v\u00f5ivad valida midagi muud.<\/p>\n<p>Turvalisuse seisukohalt paistab urxvt silma oma erilise kaitsetehnoloogia poolest, mis kaitseb kahjuliku koodi lisamise r\u00fcnnakute eest \u2013 see tundub t\u00f5eliselt mugav. Neile, kes otsivad rohkem funktsioone, tasub vaadata Konsole'i. L\u00f5puks v\u00e4\u00e4rib m\u00e4rkimist, et VTE on suurep\u00e4rane baas terminalide jaoks, tagades toega v\u00e4rve, URL-ide tuvastamise ja nii edasi. Esmapilgul v\u00f5ib teie lemmikeskeskkonnaga kaasasolev vaike-terminal vastata k\u00f5igile n\u00f5udmistele, kuid j\u00e4tame selle k\u00fcsimuse lahtiseks, kuni saame aru j\u00f5udlusest.<\/p>\n<p><i><\/p>\n<h4>J\u00e4tkame vestlust<\/h4>\n<p><\/i><br \/>\nTegelikult v\u00f5ib terminalide j\u00f5udlus tunduda liialdatud probleemina, kuid nagu selgus, n\u00e4itavad m\u00f5ned neist \u00fcllatavalt suurt viivitust sellise fundamentaalse tarkvara jaoks. Samuti vaatleme edasi seda, mida tavaliselt nimetatakse \u2018kiirus\u2019 (t\u00f5epoolest, see on kerimise kiirus) ja terminali m\u00e4lu tarbimist (kortsu silmas pidades, et t\u00e4na ei ole see nii kriitiline kui k\u00fcmneid aastaid tagasi).<\/p>\n<h4>Viivitus<\/h4>\n<p>\nP\u00e4rast terminalide j\u00f5udluse p\u00f5hjalikku uurimist j\u00f5udsin j\u00e4reldusele, et selle osas on k\u00f5ige olulisem parameeter viivituse suurus (ping). Oma artiklis <noindex><a rel=\"nofollow\" href=\"https:\/\/pavelfatin.com\/typing-with-pleasure\/\">\u00abTr\u00fcki r\u00f5\u00f5muga\u00bb<\/a><\/noindex> Pavel Fatin vaatas erinevate tekstiredaktorite viivitust ja vihjas, et terminalid v\u00f5ivad selles osas t\u00f6\u00f6tada aeglasemalt kui k\u00f5ige kiiremad tekstiredaktorid. Just see vihje t\u00f5i mind l\u00f5puks oma testide l\u00e4biviimisele ja selle artikli kirjutamisele.<\/p>\n<p>Aga mis on viivitus ja miks see on nii oluline? Oma artiklis m\u00e4\u00e4ratles Fatin selle kui \u00abviivituse klahvi vajutamise ja vastava ekraani uuendamise vahel\u00bb ning tsiteeris <noindex><a rel=\"nofollow\" href=\"https:\/\/books.google.com\/books\/about\/Handbook_of_Human_Computer_Interaction.html?id=WuQbERgXR10C&amp;redir_esc=y\">\u00abInimese ja arvuti interaktsiooni juhend\u00bb<\/a><\/noindex>, milles \u00f6eldakse: \u00abEkraanil visuaalse tagasiside viivitus m\u00f5jutab oluliselt masinakirjutaja k\u00e4itumist ja rahulolu\u00bb.<\/p>\n<p>Fatin selgitab, et see pinge on s\u00fcgavamate tagaj\u00e4rgedega kui pelgalt rahulolu: \"tr\u00fckkimine muutub aeglasemaks, vigu tekib rohkem, silmade ja lihaste pinge suureneb.\" Teisis\u00f5nu, suurem viivitus v\u00f5ib viia tr\u00fckivigadeni ning koodi kvaliteedi langusele, suurendades aju t\u00e4iendavat kognitiivset koormust. Kuid mis veel hullem, pinge \"suurendab silmade ja lihaste pinget\", mis viitab selgelt sellele, et <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Repetitive_strain_injury\">kutsehaiguste areng<\/a><\/noindex> tulevikus (<i>ilmselt m\u00f5tleb autor silmade, selja, k\u00e4te ja loomulikult n\u00e4gemise probleemidele \u2014 t\u00f5lkija m\u00e4rkus.<\/i>) korduva pinge t\u00f5ttu.<\/p>\n<p>M\u00f5ned neist m\u00f5judest on ammu tuntud ning 1976. aastal ajakirjas Ergonomics avaldatud tulemused n\u00e4itavad, et 100 millisekundi viivitus \"halvendab m\u00e4rkimisv\u00e4\u00e4rselt tr\u00fckkimise kiirus.\" Hiljuti viidi GNOME'i kasutajate juhendisse <noindex><a rel=\"nofollow\" href=\"https:\/\/doi.org\/10.1080\/00140137608931531\">uurimise<\/a><\/noindex>vastuv\u00f5etav reageerimisaeg <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.gnome.org\/hig-book\/3.12\/feedback-response-times.html.en\">10 millisekundit, ja kui edasi minna, siis<\/a><\/noindex> Microsoft Research <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=vOvQCPLkPt4\">n\u00e4itab, et ideaalne on 1 millisekund.<\/a><\/noindex> \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0438\u0434\u0435\u0430\u043b\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f 1 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u0430.<\/p>\n<p>Fatin viis oma teste l\u00e4bi tekstiredaktorites; ta l\u00f5i portaabelt\u00f6\u00f6riista nimega <noindex><a rel=\"nofollow\" href=\"https:\/\/pavelfatin.com\/typometer\">Typometer<\/a><\/noindex>, mida kasutasin pingete kontrollimiseks terminali emulatorites. Pidage meeles, et test viidi l\u00e4bi simuleerimisre\u017eiimis: tegelikult peab arvesse v\u00f5tma ka sisendi (klaviatuur, USB-kontroller jne) ja v\u00e4ljundi (videokaardi puhvers\u00e4ilitamine, monitor) hilinemist. Fateri s\u00f5nul on t\u00fc\u00fcpilistes konfiguratsioonides see umbes 20 ms. M\u00e4ngijate varustusega on v\u00f5imalik saavutada tulemuseks ainult 3 millisekundit. Kuna meil on juba nii kiire varustus, ei tohiks rakendus veelgi oma viivitust lisada. Fatini eesm\u00e4rk on viia rakenduse viivitus 1 millisekundini v\u00f5i v\u00f5imalusel saavutada m\u00e4\u00e4ramatute viivitustenii, <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jetbrains.com\/idea\/2015\/08\/experimental-zero-latency-typing-in-intellij-idea-15-eap\/\">kui<\/a><\/noindex>IntelliJ IDEA 15 <noindex><a rel=\"nofollow\" href=\"https:\/\/confluence.jetbrains.com\/display\/IDEADEV\/IDEA+15+EAP\">Siin on aga minu m\u00f5\u00f5tmiste tulemused ja m\u00f5ned Fatini tulemused, et n\u00e4idata, et minu katse on koosk\u00f5las tema testidega:<\/a><\/noindex>.<\/p>\n<p>\u0410 \u0432\u043e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043c\u043e\u0438\u0445 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0439, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0424\u0430\u0442\u0438\u043d\u0430 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043c\u043e\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u0441\u043e\u0433\u043b\u0430\u0441\u0443\u0435\u0442\u0441\u044f \u0441 \u0435\u0433\u043e \u0442\u0435\u0441\u0442\u0430\u043c\u0438:<\/p>\n<p><img decoding=\"async\" alt=\"Terminali emulatorite \u00fclevaade\" src=\"\/wp-content\/uploads\/2019\/08\/d7ae46c8309e9cfd517164d5fed093f7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEsimene, mis mind \u00fcllatas, oli vanade programmide, nagu xterm ja mlterm, parem reageerimisaeg. Kehvema katkestuse latentsus (2,4 ms) saavutas tulemused, mis olid paremad kui k\u00f5ige kiiremal t\u00e4nap\u00e4evasel terminalil (10,6 ms st jaoks). \u00dckski t\u00e4nap\u00e4evane terminal ei j\u00e4\u00e4 alla 10 millisekundi l\u00e4vendile. Eriti Alacritty ei vasta n\u00f5uetele, et olla \"kiireim olemasolevatest terminali emulatoritest,\" kuigi selle tulemused on paranenud p\u00e4rast esimese kontrolli 2017. aastal. T\u00f5epoolest, projekti autorid <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jwilm\/alacritty\/issues\/673\">on teadlikud olukorrast<\/a><\/noindex> ja t\u00f6\u00f6tavad kuvamise parendamise nimel. Samuti tuleb m\u00e4rkida, et GTK3-d kasutav Vim on oma GTK2 analoogist v\u00f5rreldes oluliselt aeglasem. Sellest v\u00f5ib j\u00e4reldada, et GTK3 tekitab t\u00e4iendavat latentsust, mis kajastub k\u00f5igis teistes terminalides, mis seda kasutavad (Terminator, Xfce4 Terminal ja GNOME Terminal).<\/p>\n<p>Kuid silmale v\u00f5ivad erinevused olla m\u00e4rkamatud. Nagu selgitab Fatin: \"ei ole alati vajalik teadvustada viivitust, et see oleks teie jaoks efektiivne.\" Fatin hoiatab ka standardh\u00e4lbe eest: \"k\u00f5ik katkestused viivituse kestuses (v\u00e4risemine) p\u00f5hjustavad t\u00e4iendavat koormust nende ettearvamatuse t\u00f5ttu.\"<\/p>\n<p><img decoding=\"async\" alt=\"Terminali emulatorite \u00fclevaade\" src=\"\/wp-content\/uploads\/2019\/08\/e128a7e6c32a1517c98ffc612fe09128.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00dclaltoodud graafik on saadud puhtal Debian 9 (stretch) p\u00f5hjal <noindex><a rel=\"nofollow\" href=\"https:\/\/i3wm.org\/\">i3 aknahaldurist<\/a><\/noindex>. See keskkond annab parimad tulemused viivituse m\u00e4\u00e4ramise testides. Nagu selgus, loob GNOME k\u00f5igi m\u00f5\u00f5tmiste jaoks t\u00e4iendava 20 ms pingi. Sellele v\u00f5ib olla v\u00f5imalik seletus, et olemas on programmid, mis t\u00f6\u00f6tlevad sisendite s\u00fcndmusi s\u00fcnkroonselt. Fatin toob selle juhtumi jaoks n\u00e4iteks <noindex><a rel=\"nofollow\" href=\"http:\/\/www.workrave.org\/\">Workrave<\/a><\/noindex>, mis lisab viivituse, t\u00f6\u00f6tledes k\u00f5ik sisend-s\u00fcndmused s\u00fcnkroonselt. Vaikimisi on GNOME varustatud ka aknahalduriga <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Mutter_(software)\">Mutter<\/a><\/noindex>, mis loob t\u00e4iendava puhverdamise taseme, mis m\u00f5jutab pingi ja lisab v\u00e4hemalt 8 millisekundi viivitust.<\/p>\n<p><img decoding=\"async\" alt=\"Terminali emulatorite \u00fclevaade\" src=\"\/wp-content\/uploads\/2019\/08\/3585d1edf4cee214d7a53858943b1845.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h4>Kerimiskiirus<\/h4>\n<p>\nJ\u00e4rgmine test on traditsiooniline \u00abkiirus\u00bb v\u00f5i \u00abb\u00e4nnide\u00bb kontroll, mis m\u00f5\u00f5dab, kui kiiresti terminal suudab lehte sirvida, kuvades suurt hulka teksti ekraanil. Testi mehhaanika varieerub; algne test koosnes lihtsalt sama teksti rea genereerimisest k\u00e4suga seq. Teised testid h\u00f5lmavad Thomas E. Dicki kontrolli (kaasa arvatud xterm), mille raames toimub korduv <noindex><a rel=\"nofollow\" href=\"https:\/\/invisible-island.net\/xterm\/xterm.faq.html#scroll_speed\">faili terminfo.src eksportimine<\/a><\/noindex>. Veel \u00fches terminalide j\u00f5udluse \u00fclevaates <noindex><a rel=\"nofollow\" href=\"https:\/\/danluu.com\/term-latency\/\">Den Luu<\/a><\/noindex> kasutab base32 kodeeringus juhuslike baitide rida, mis n\u00e4idatakse terminalis k\u00e4suga cat. Luu peab sellist testi \"nii kasutuks standardiks, kui see vaid m\u00f5eldav on\", ning soovitab selle asemel kasutada terminali vastust p\u00f5hin\u00e4itajana. Diki nimetab oma testi eksitavaks. Siiski tunnustavad m\u00f5lemad autorid, et terminali akna l\u00e4bilaskev\u00f5ime v\u00f5ib olla probleem. Luu avastas Emacs Eshelli k\u00fclmumise suurte failide kuvamisel, samas kui Diki optimeeris terminali, et vabaneda visuaalsest aeglustumisest xtrerm. Seet\u00f5ttu on selles testis ikkagi teatud m\u00f5te, kuid kuna renderdamisprotsess erineb terminalist terminali, saab seda kasutada ka testkomponendina teiste parameetrite kontrollimiseks.<\/p>\n<p><img decoding=\"async\" alt=\"Terminali emulatorite \u00fclevaade\" src=\"\/wp-content\/uploads\/2019\/08\/3231877fdcd7725c3248fb393185ece4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSiit n\u00e4eme, et rxvt ja st t\u00f5usevad konkurentide seas esile, neid j\u00e4rgneb palju uuem Alacritty, mis on v\u00e4lja t\u00f6\u00f6tatud j\u00f5udluse r\u00f5huasetusega. J\u00e4rgmised on Xfce (VTE perekond) ja Konsole, mis t\u00f6\u00f6tavad peaaegu kaks korda kiiremini. L\u00f5pus on xterm, mis on viis korda aeglasem kui rxvt. Testi ajal n\u00e4itas xterm ka tugevat virvendamist, m\u00f6\u00f6duvat teksti oli raske n\u00e4ha, isegi kui see oli sama rida. Konsole osutus kiireks, kuid aeg-ajalt \u201epettes\u201c: kuvamine j\u00e4\u00e4b m\u00f5nikord pidama, n\u00e4idates teksti osaliselt v\u00f5i mitte n\u00e4idates seda \u00fcldse. Teised terminalid, sealhulgas st, Alacritty ja rxvt, n\u00e4itasid ridu selgelt.<\/p>\n<p>Diki selgitab, et j\u00f5udluse erinevused tulenevad erinevate terminalide kerimisbuffrite disainist. Eelk\u00f5ige s\u00fc\u00fcdistab ta rxvt ja teisi terminale selles, et need \"ei j\u00e4rgi \u00fcldisi reegleid\":<\/p>\n<blockquote><p>Erinevalt xterm'ist ei p\u00fc\u00fcdnud rxvt k\u00f5iki v\u00e4rskendusi kuvada. Kui see j\u00e4\u00e4b maha, loobub see m\u00f5nedest v\u00e4rskendustest, et j\u00e4rgida, mis on rohkem m\u00f5jutanud n\u00e4iliselt kerimise kiirusest kui sise-m\u00e4lu korraldusest. \u00dcheks puuduseks oli see, et ASCII animatsioon oli pisut ebat\u00e4pne.<\/p><\/blockquote>\n<p>\nSelle n\u00e4ilise aegluse parandamiseks xterm'i puhul soovitab Dick kasutada ressurssi <noindex><a rel=\"nofollow\" href=\"https:\/\/invisible-island.net\/xterm\/manpage\/xterm.html#VT100-Widget-Resources:fastScroll\">fastScroll<\/a><\/noindex>, mis v\u00f5imaldab xterm'il filtreerida m\u00f5ned ekraani v\u00e4rskendused, et mitte maha j\u00e4\u00e4da voost. Minu testid kinnitavad, et fastScroll parandab j\u00f5udlust ja t\u00f5stab xterm'i rxvt tasemele. See aga on \u00fcsna j\u00e4ik lahendus, nagu Dick ise selgitab: \"M\u00f5nikord tundub xterm - nagu konsool - peatuma, kuna ootab uut ekraani v\u00e4rskenduste komplekti p\u00e4rast seda, kui m\u00f5ned neist on eemaldatud\". Sellega seoses n\u00e4ib, et teised terminalid on leidnud parima tasakaalu kiiruse ja ekraani terviklikkuse vahel.<\/p>\n<h4>Ressursikasutamine<\/h4>\n<p>\nHoolimata sellest, kui asjakohaseks v\u00f5iks pidada kerimise kiirusest r\u00e4\u00e4kimist kui j\u00f5udluse n\u00e4itajast, v\u00f5imaldab see test simuleerida koormust terminalides, mis omakorda v\u00f5imaldab meil m\u00f5\u00f5ta teisi parameetreid, nagu m\u00e4lu v\u00f5i ketta kasutamine. Metrika saadakse, k\u00e4ivitades antud testi. <b>seq<\/b> Python protsessi j\u00e4lgimise all. See kogus loenduri andmeid. <noindex><a rel=\"nofollow\" href=\"http:\/\/man7.org\/linux\/man-pages\/man2\/getrusage.2.html\">getrusage ()<\/a><\/noindex> kuna <b>ru_maxrss<\/b>, summa <b>ru_oublock<\/b> ja <b>ru_inblock<\/b> ja lihtne ajataimer.<\/p>\n<p><img decoding=\"async\" alt=\"Terminali emulatorite \u00fclevaade\" src=\"\/wp-content\/uploads\/2019\/08\/df378c145a559ed4aad98fa70b58c72c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSel testil saavutab ST esikoha k\u00f5ige v\u00e4iksema keskmise m\u00e4lu tarbimisega 8 MB, mis pole \u00fcllatav, arvestades, et projekti p\u00f5hieesm\u00e4rk on lihtsus. Natuke rohkem tarbivad mlterm, xterm ja rxvt \u2014 umbes 12 MB.Veel \u00fcks silmapaistev tulemus on Alacritty, mille t\u00f6\u00f6ks on vajalik 30 MB. J\u00e4rgmisel kohal on VTE pere termin\u00e1lid, mille n\u00e4itajad ulatuvad 40-60 MB-ni, mis on \u00fcsna palju. Selline tarbimine on seletatav sellega, et need terminalid kasutavad k\u00f5rgema taseme teeke, nagu GTK. Konsole j\u00e4\u00e4b viimaseks, tarbides testi ajal tohutult 65 MB m\u00e4lu, kuigi seda saab \u00f5igustada tema ulatusliku funktsioonide komplektiga.<\/p>\n<p>v\u00f5rreldes k\u00fcmne aasta taguste tulemustega, on k\u00f5ik programmid hakanud oluliselt rohkem m\u00e4lu tarbima. Varem n\u00f5udis Xterm 4 MB, kuid n\u00fc\u00fcd vajab see k\u00e4ivitamiseks 15 MB. Samuti on rxvt kasvanud ja n\u00f5uab n\u00fc\u00fcd koheselt 16 MB. Xfce terminal v\u00f5tab 34 MB, mis on kolm korda rohkem kui varem, samas kui GNOME Terminal vajab vaid 20 MB. Loomulikult viidi k\u00f5ik varasemad testid l\u00e4bi 32-bitistel arhitektuuridel. LCA 2012 s\u00fcndmuses r\u00e4\u00e4kis Rasti Russell <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/477155\/\">r\u00e4\u00e4kis<\/a><\/noindex>, et on palju peenemaid p\u00f5hjuseid, mis v\u00f5ivad seletada m\u00e4lutarbimise suurenemist. Sellega seoses elame t\u00e4nap\u00e4eval ajal, mil meil on terveid gigabaite m\u00e4lu, nii et me saame sellega kuidagi hakkama.<\/p>\n<p>Siiski ei saa ma minema j\u00e4tta tunnet, et suurema m\u00e4lu eraldamine nii p\u00f5hilisele tarkvarale nagu terminal on lihtsalt ressursi raiskamine. Need programmid peaksid olema k\u00f5ige v\u00e4iksemad, suutma t\u00f6\u00f6tada igasugune 'karbis', isegi kingakarbis, kui peaksime kunagi olukorda, kus need peavad olema varustatud Linux-s\u00fcsteemidega (ja teate k\u00fcll, et see tuleb). Kuid nende numbritega muutub m\u00e4lu kasutamine tulevikus probleemiks igas keskkonnas, kui avada mitu terminali, v\u00e4lja arvatud olukord, kus on m\u00f5ned k\u00f5ige kergemad ja piiratud v\u00f5imalustega. Selle kompenseerimiseks on GNOME Terminalil, Konsolel, urxvt-l, Terminatoril ja Xfce Terminalil Daemon-re\u017eiim, mis v\u00f5imaldab hallata mitut terminali \u00fche protsessi kaudu, piirates nende m\u00e4lu tarbimist.<\/p>\n<p><img decoding=\"async\" alt=\"Terminali emulatorite \u00fclevaade\" src=\"\/wp-content\/uploads\/2019\/08\/65ade9cc81284f24f0c44322eec73ef0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOma testide k\u00e4igus j\u00f5udsin veel \u00fche ootamatu tulemuseni, mis puudutab ketta lugemist-kirjutamist: ma ei oodanud siit \u00fcldse midagi n\u00e4ha, kuid selgus, et m\u00f5ned terminalid kirjutavad k\u00f5ige suuremaid andmeid ketta. N\u00e4iteks VTE teek hoiab tegelikult ketas kerimise vahem\u00e4lu (see omadus <noindex><a rel=\"nofollow\" href=\"https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=631685\">m\u00e4rgati juba 2010. aastal<\/a><\/noindex>, ja see toimub siiani). Kuid erinevalt vanadest rakendustest on n\u00fc\u00fcd v\u00e4hemalt need andmed AES256 GCM kr\u00fcptimisega kaitstud (<noindex><a rel=\"nofollow\" href=\"https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=664611#c48\">versioonist 0.39.2<\/a><\/noindex>). Kuid tekib m\u00f5istlik k\u00fcsimus, mis on siis nii erilist VTE raamatukogus, et see vajab sellist ebatavalist l\u00e4henemist rakendusele\u2026<\/p>\n<h4>Kokkuv\u00f5te<\/h4>\n<p>\nArtikli esimeses osas leidsime, et VTE-p\u00f5hised terminalid omavad head funktsioonide kogumit, kuid n\u00fc\u00fcd n\u00e4eme, et nende j\u00f5udluse tagamine toob kaasa teatud kulud. Praegu pole m\u00e4lu probleem, kuna k\u00f5iki VTE-terminalid saab hallata Daemon-protsessi kaudu, mis piirab nende vajadusi. Siiski v\u00f5ivad vanad s\u00fcsteemid, millel on f\u00fc\u00fcsilised piirangud operatiivm\u00e4lu ja tuuma pufferi koguse osas, endiselt vajada varasemaid versioone terminalidest, kuna need tarbivad m\u00e4rgatavalt v\u00e4hem ressursse. Kuigi VTE-terminalid on l\u00e4bi teinud head testid ribalaiuse (kerimise) osas, on nende andmete kuvamise latentsus ekraanil k\u00f5rgem kui GNOME'i kasutajajuhendi kehtestatud piir. T\u00f5en\u00e4oliselt peaks VTE arendajatele seda silmas pidama. Arvestades, et isegi Linuxi algajate kasutajate jaoks on terminaliga kohtumine v\u00e4ltimatu, v\u00f5iksid nad muuta selle kasutajas\u00f5bralikumaks. Kogenud tehnikutele t\u00e4hendab vaikimisi terminali vahetus isegi visuaalse koormuse v\u00e4hendamist ja professionaalsete vigastuste ning haiguste v\u00e4ltimist tulevikus pikaajaliste t\u00f6\u00f6sessioonide t\u00f5ttu. Kahjuks viivad meid maagilisse 10 millisekundi pingepingesse ainult vanad xterm ja mlterm, mis on paljudele vastuv\u00f5etamatud.<\/p>\n<p>Kontrollm\u00f5\u00f5tmised on samuti n\u00e4idanud, et t\u00e4nu Linuxi graafiliste keskkondade arengule pidid arendajad tegema mitmeid kompromisse. M\u00f5ned kasutajad peaksid vaatama tavap\u00e4raste aknahaldurite poole, kuna need pakuvad m\u00e4rkimisv\u00e4\u00e4rset pingelangust. Kahjuks ei \u00f5nnestunud Waylandi viivitust m\u00f5\u00f5ta: programm Typometer, mida kasutasin, oli loodud selleks, et Wayland takistab \u2014 teiste aknade pealt nuhkimise. Loodan, et Waylandi komposiit on j\u00f5udluselt parem kui X.org, ja loodan ka, et tulevikus keegi leiab viisi viivituse taseme hindamiseks selles keskkonnas.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/463785\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0430\u0440\u0430 \u0441\u043b\u043e\u0432 \u043e\u0442 \u043d\u0430\u0448\u0435\u0433\u043e translate-\u0431\u044e\u0440\u043e: \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u0441\u0435 \u0441\u0442\u0440\u0435\u043c\u044f\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u0441\u0430\u043c\u044b\u0435 \u0441\u0432\u0435\u0436\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438, \u0438 \u043c\u044b \u043d\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u041d\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044b \u2014 \u044d\u0442\u043e \u043d\u0435 \u0442\u043e, \u0447\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0430\u0437 \u0432 \u043d\u0435\u0434\u0435\u043b\u044e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0438 \u0434\u043b\u044f \u0432\u0430\u0441 \u0441\u0442\u0430\u0442\u044c\u044e \u0410\u043d\u0442\u0443\u0430\u043d\u0430 \u0411\u043e\u043f\u0440\u0435, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0432\u0435\u0441\u043d\u043e\u0439 2018 \u0433\u043e\u0434\u0430: \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0441\u043e\u043b\u0438\u0434\u043d\u044b\u0439 \u043f\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043c\u0435\u0440\u043a\u0430\u043c \u00ab\u0432\u043e\u0437\u0440\u0430\u0441\u0442\u00bb, \u043d\u0430 \u043d\u0430\u0448 \u0432\u0437\u0433\u043b\u044f\u0434, \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u043b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27911,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37222","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0430\u0440\u0430 \u0441\u043b\u043e\u0432 \u043e\u0442 \u043d\u0430\u0448\u0435\u0433\u043e translate-\u0431\u044e\u0440\u043e: \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u0441\u0435 \u0441\u0442\u0440\u0435\u043c\u044f\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u0441\u0430\u043c\u044b\u0435 \u0441\u0432\u0435\u0436\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438, \u0438 \u043c\u044b \u043d\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u041d\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044b \u2014 \u044d\u0442\u043e \u043d\u0435 \u0442\u043e, \u0447\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0430\u0437 \u0432 \u043d\u0435\u0434\u0435\u043b\u044e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0438 \u0434\u043b\u044f \u0432\u0430\u0441 \u0441\u0442\u0430\u0442\u044c\u044e \u0410\u043d\u0442\u0443\u0430\u043d\u0430 \u0411\u043e\u043f\u0440\u0435, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0432\u0435\u0441\u043d\u043e\u0439 2018 \u0433\u043e\u0434\u0430: \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0441\u043e\u043b\u0438\u0434\u043d\u044b\u0439 \u043f\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043c\u0435\u0440\u043a\u0430\u043c \u00ab\u0432\u043e\u0437\u0440\u0430\u0441\u0442\u00bb, \u043d\u0430 \u043d\u0430\u0448 \u0432\u0437\u0433\u043b\u044f\u0434, \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u043b\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/obzor-emulyatorov-terminala\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u0431\u0437\u043e\u0440 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0430\u0440\u0430 \u0441\u043b\u043e\u0432 \u043e\u0442 \u043d\u0430\u0448\u0435\u0433\u043e translate-\u0431\u044e\u0440\u043e: \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u0441\u0435 \u0441\u0442\u0440\u0435\u043c\u044f\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u0441\u0430\u043c\u044b\u0435 \u0441\u0432\u0435\u0436\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438, \u0438 \u043c\u044b \u043d\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u041d\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044b \u2014 \u044d\u0442\u043e \u043d\u0435 \u0442\u043e, \u0447\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0430\u0437 \u0432 \u043d\u0435\u0434\u0435\u043b\u044e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0438 \u0434\u043b\u044f \u0432\u0430\u0441 \u0441\u0442\u0430\u0442\u044c\u044e \u0410\u043d\u0442\u0443\u0430\u043d\u0430 \u0411\u043e\u043f\u0440\u0435, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0432\u0435\u0441\u043d\u043e\u0439 2018 \u0433\u043e\u0434\u0430: \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0441\u043e\u043b\u0438\u0434\u043d\u044b\u0439 \u043f\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043c\u0435\u0440\u043a\u0430\u043c \u00ab\u0432\u043e\u0437\u0440\u0430\u0441\u0442\u00bb, \u043d\u0430 \u043d\u0430\u0448 \u0432\u0437\u0433\u043b\u044f\u0434, \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u043b\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/obzor-emulyatorov-terminala\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:16:26+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:16:26+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Terminoloogia emulaatorite \u00fclevaade | ProHoster","description":"Meie t\u00f5lke b\u00fcroo paar s\u00f5na: tavaliselt p\u00fc\u00fcavad k\u00f5ik t\u00f5lkida k\u00f5ige v\u00e4rskemaid materjale ja avaldusi ning me ei ole erand. Kuid terminalid ei ole see, mis uuendatakse iga n\u00e4dal. Seet\u00f5ttu t\u00f5lkisime teile Antoine Bopr\u00e9 artikli, mis avaldati 2018. aasta kevadel: vaatamata oma ajalooliselt suurele \u201evanusele\u201d on meie arvates materjal t\u00e4iesti asjakohane.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/obzor-emulyatorov-terminala","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u0431\u0437\u043e\u0440 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 | ProHoster","og:description":"\u041f\u0430\u0440\u0430 \u0441\u043b\u043e\u0432 \u043e\u0442 \u043d\u0430\u0448\u0435\u0433\u043e translate-\u0431\u044e\u0440\u043e: \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u0441\u0435 \u0441\u0442\u0440\u0435\u043c\u044f\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u0441\u0430\u043c\u044b\u0435 \u0441\u0432\u0435\u0436\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438, \u0438 \u043c\u044b \u043d\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u041d\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044b \u2014 \u044d\u0442\u043e \u043d\u0435 \u0442\u043e, \u0447\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0430\u0437 \u0432 \u043d\u0435\u0434\u0435\u043b\u044e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0438 \u0434\u043b\u044f \u0432\u0430\u0441 \u0441\u0442\u0430\u0442\u044c\u044e \u0410\u043d\u0442\u0443\u0430\u043d\u0430 \u0411\u043e\u043f\u0440\u0435, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0432\u0435\u0441\u043d\u043e\u0439 2018 \u0433\u043e\u0434\u0430: \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0441\u043e\u043b\u0438\u0434\u043d\u044b\u0439 \u043f\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043c\u0435\u0440\u043a\u0430\u043c \u00ab\u0432\u043e\u0437\u0440\u0430\u0441\u0442\u00bb, \u043d\u0430 \u043d\u0430\u0448 \u0432\u0437\u0433\u043b\u044f\u0434, \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u043b","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/obzor-emulyatorov-terminala","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:16:26+00:00","article:modified_time":"2019-10-31T19:16:26+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37222","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 16:48:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:31:24","updated":"2026-01-23 16:48:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/37222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=37222"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/37222\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/27911"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=37222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=37222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=37222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}