{"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\/hu\/blog\/administrirovanie\/obzor-emulyatorov-terminala","title":{"rendered":"Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>N\u00e9h\u00e1ny sz\u00f3 a ford\u00edt\u00f3irod\u00e1nkt\u00f3l: \u00e1ltal\u00e1ban mindenki a leg\u00fajabb anyagok \u00e9s publik\u00e1ci\u00f3k ford\u00edt\u00e1s\u00e1ra t\u00f6rekszik, \u00e9s mi sem vagyunk kiv\u00e9telek. De a termin\u00e1lok nem olyanok, amik hetente friss\u00fclnek. Ez\u00e9rt leford\u00edtottuk Antoine Bopre 2018 tavasz\u00e1n k\u00f6zz\u00e9tett cikk\u00e9t: a szerz\u0151d\u00e9ses \u00e9letkor\u00e1hoz k\u00e9pest teljesen aktu\u00e1lisnak tartjuk az anyagot. Ezen k\u00edv\u00fcl az eredeti cikk egy k\u00e9t r\u00e9szes sorozat, de \u00fagy d\u00f6nt\u00f6tt\u00fcnk, hogy egy nagy posztba foglaljuk \u0151ket.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se\" src=\"\/wp-content\/uploads\/2019\/08\/23b2893d4d23ee402f42f8d686fec788.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA termin\u00e1lok k\u00fcl\u00f6nleges helyet foglalnak el a sz\u00e1m\u00edt\u00e1stechnika t\u00f6rt\u00e9net\u00e9ben, de az elm\u00falt \u00e9vtizedekben sz\u00f3 szerint egy\u00fctt kellett \u00e9lni\u00fck a parancssorral a grafikusan elterjedt fel\u00fcletek h\u00e1tter\u00e9ben. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Terminal_emulator\">Termin\u00e1lemul\u00e1torok<\/a><\/noindex> helyettes\u00edtett\u00e9k hardveres megfelel\u0151iket <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Computer_terminal\">, amelyek viszont a lyukaszt\u00f3soros \u00e9s kapcsol\u00f3s rendszerek m\u00f3dos\u00edt\u00e1sai voltak. A modern disztrib\u00faci\u00f3k rengeteg termin\u00e1lemul\u00e1tort k\u00edn\u00e1lnak, mindenf\u00e9le form\u00e1ban \u00e9s sz\u00ednben. M\u00edg sokan teljesen el\u00e9gedettek a munkahely\u00fck \u00e1ltal biztos\u00edtott alap\u00e9rtelmezett termin\u00e1llal, n\u00e9h\u00e1nyan b\u00fcszk\u00e9n haszn\u00e1lnak kifejezetten egzotikus szoftvert, hogy futtass\u00e1k kedvenc shell-j\u00fcket vagy sz\u00f6vegszerkeszt\u0151j\u00fcket. De ahogy ebben a cikkben l\u00e1tni fogjuk, nem minden termin\u00e1l egyform\u00e1n k\u00e9sz\u00fclt: jelent\u0151sen elt\u00e9rnek funkcionalit\u00e1sban, m\u00e9retben \u00e9s teljes\u00edtm\u00e9nyben.<\/a><\/noindex>N\u00e9h\u00e1ny termin\u00e1lban meglep\u0151 biztons\u00e1gi r\u00e9seket tal\u00e1lhatunk, r\u00e1ad\u00e1sul a legt\u00f6bbj\u00fck nagyon elt\u00e9r\u0151 funkci\u00f3kkal rendelkezik, a tabbed fel\u00fclet t\u00e1mogat\u00e1s\u00e1t\u00f3l a szkriptekig. B\u00e1r mi<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>r\u00e9gen foglalkoztunk termin\u00e1lemul\u00e1torokkal <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/88161\/\">, ez a cikk friss\u00edt\u00e9se a kor\u00e1bbi anyagnak, amely seg\u00edt az olvas\u00f3knak eld\u00f6nteni, melyik termin\u00e1lt \u00e9rdemes haszn\u00e1lni 2018-ban. A cikk els\u0151 fel\u00e9ben a funkci\u00f3kat, m\u00edg a m\u00e1sodikban a teljes\u00edtm\u00e9nyt hasonl\u00edtjuk \u00f6ssze.<\/a><\/noindex>\u00cdme az \u00e1ltalam megvizsg\u00e1lt termin\u00e1lok:<\/p>\n<p>\u00cdme az \u00e1ltalam megvizsg\u00e1lt termin\u00e1lok:<\/p>\n<p><img decoding=\"async\" alt=\"Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se\" src=\"\/wp-content\/uploads\/2019\/08\/be76032ca4392c23dd0c111a36b199ef.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLehets\u00e9ges, hogy ezek nem a legfrissebb verzi\u00f3k, mivel a meg\u00edr\u00e1s id\u0151pontj\u00e1ban a stabil kiad\u00e1sokra korl\u00e1toz\u00f3dtam, amelyeket Debian 9-en vagy Fedora 27-en tudtam telep\u00edteni. Az egyetlen kiv\u00e9tel az Alacritty. Ez egy GPU-gyors\u00edt\u00e1ssal rendelkez\u0151 termin\u00e1lok ut\u00f3dja, \u00e9s egy szokatlan, \u00faj nyelven \u00edr\u00f3dott ehhez a feladathoz \u2014 Rust. Kiz\u00e1rtam a web-termin\u00e1lokat a bemutat\u00f3mb\u00f3l (\u00edgy a <noindex><a rel=\"nofollow\" href=\"https:\/\/electronjs.org\/\">Electron<\/a><\/noindex>), mert a kezdeti tesztek rendk\u00edv\u00fcl alacsony teljes\u00edtm\u00e9nyt mutattak.<\/p>\n<h4>Unicode t\u00e1mogat\u00e1s<\/h4>\n<p>\nA tesztjeimet a Unicode t\u00e1mogat\u00e1ssal kezdtem. Az els\u0151 termin\u00e1lteszt a Unicode-r\u00f3l a k\u00f6vetkez\u0151 sz\u00f6veg megjelen\u00edt\u00e9se volt <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Unicode#Web\">a Wikip\u00e9dia cikk\u00e9b\u0151l<\/a><\/noindex>: \u201e\u00e9, \u0394, \u0419, \u05e7, \u0645, \u0e57, \u3042, \u53f6, \u8449 \u00e9s \ub9d0\u201d. Ez az egyszer\u0171 teszt megmutatja, hogy a termin\u00e1l k\u00e9pes-e helyesen m\u0171k\u00f6dni vil\u00e1gszerte. Az xterm termin\u00e1l nem jelen\u00edti meg az arab karaktert <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Mem\">Mem<\/a><\/noindex> alap\u00e9rtelmezett konfigur\u00e1ci\u00f3ban:<\/p>\n<p><img decoding=\"async\" alt=\"Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se\" src=\"\/wp-content\/uploads\/2019\/08\/92e1b9f6e7f3129a55d09cd48310c699.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAlap\u00e9rtelmez\u00e9s szerint az xterm a klasszikus \u201efix\u201d bet\u0171t\u00edpust haszn\u00e1lja, amely szerint <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Open-source_Unicode_typefaces\">ugyanez a Wiki<\/a><\/noindex>, \u201ejelent\u0151s Unicode-t\u00e1mogat\u00e1sa 1997 \u00f3ta van\u201d. Ebben a bet\u0171t\u00edpusban valami t\u00f6rt\u00e9nik, ami \u00fcres keretk\u00e9nt jelen\u00edti meg a karaktert, \u00e9s csak akkor kezd el helyesen megjelenni, amikor a sz\u00f6veg bet\u0171m\u00e9ret\u00e9t 20+ pontra n\u00f6velem. Azonban ez a \u201ejav\u00edt\u00e1s\u201d megszak\u00edtja m\u00e1s Unicode karakterek megjelen\u00edt\u00e9s\u00e9t:<\/p>\n<p><img decoding=\"async\" alt=\"Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se\" src=\"\/wp-content\/uploads\/2019\/08\/4300f72d87bb9b729d4c682e876b4998.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEzek a k\u00e9perny\u0151k\u00e9pek a Fedora 27-en k\u00e9sz\u00fcltek, mivel ez adta a legjobb eredm\u00e9nyeket a Debian 9-hez k\u00e9pest, ahol n\u00e9h\u00e1ny r\u00e9gi termin\u00e1lverzi\u00f3 (nevezetesen \u2014 mlterm) nem tudta megfelel\u0151en kezelni a bet\u0171t\u00edpusokat. Szerencs\u00e9re ezt k\u00e9s\u0151bbi verzi\u00f3kban jav\u00edtott\u00e1k.<\/p>\n<p>Most n\u00e9zz\u00fck meg az xterm-ben a sor megjelen\u00edt\u00e9s\u00e9t. Kider\u00fcl, hogy a Mem karakter \u00e9s a m\u00f6g\u00f6tte \u00e1ll\u00f3 szemita <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Qoph\">Qoph<\/a><\/noindex> karakterek a RTL (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Right-to-left\">jobbr\u00f3l balra<\/a><\/noindex>) \u00edr\u00e1si ir\u00e1nyhoz tartoznak, \u00edgy technikailag jobbr\u00f3l balra kellene megjelenni\u00fck. A webb\u00f6ng\u00e9sz\u0151k, p\u00e9ld\u00e1ul a Firefox 57, helyesen kezelik a fent eml\u00edtett sz\u00f6veget. Az RTL sz\u00f6veg egyszer\u0171bb v\u00e1ltozata a \u201e<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Sarah\">Sara<\/a><\/noindex>\u201d sz\u00f3 h\u00e9ber\u00fcl (<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\">A k\u00e9tnyelv\u0171 sz\u00f6vegek Wiki oldala a k\u00f6vetkez\u0151t mondja:<\/a><\/noindex> \u201eSok sz\u00e1m\u00edt\u00f3g\u00e9pes program nem tudja helyesen megjelen\u00edteni a k\u00e9tnyelv\u0171 sz\u00f6veget. P\u00e9ld\u00e1ul a h\u00e9ber n\u00e9v \u201eSara\u201d a sin (\u05e9) (ami jobbr\u00f3l \u00e1ll), majd a resh (\u05e8) \u00e9s v\u00e9g\u00fcl a he (\u05d4) (ami balr\u00f3l kellene, hogy \u00e1lljon) karaktereib\u0151l \u00e1ll.\u201d<\/p>\n<blockquote><p>\u201eSok sz\u00e1m\u00edt\u00f3g\u00e9pes program nem tudja helyesen kezelni a k\u00e9tir\u00e1ny\u00fa sz\u00f6veget. P\u00e9ld\u00e1ul a h\u00e9ber n\u00e9v \u201eS\u00e1ra\u201d karaktereib\u0151l \u00e1ll, ahol a sin (\u05e9) (ami jobbra ker\u00fcl), azt\u00e1n a resh (\u05e8) \u00e9s v\u00e9g\u00fcl a he (\u05d4) (ami balra kell, hogy ker\u00fclj\u00f6n).\u201d<\/p><\/blockquote>\n<p>\nSok termin\u00e1l nem teljes\u00edti ezt a tesztet: Alacritty, Gnome \u00e9s XFCE VTE-termin\u00e1lok, urxvt, st \u00e9s xterm az \u201eSara\u201d sz\u00f3t ford\u00edtva jelen\u00edti meg, mintha a nevet \u201eAras\u201d-nak \u00edrn\u00e1nk le.<\/p>\n<p><img decoding=\"async\" alt=\"Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se\" src=\"\/wp-content\/uploads\/2019\/08\/9decee6d198bd9d3e4f4883a8f2b0da6.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA k\u00e9tnyelv\u0171 sz\u00f6vegek m\u00e1sik probl\u00e9m\u00e1ja, hogy valahogy \u00f6ssze kell \u0151ket hangolni, k\u00fcl\u00f6n\u00f6sen ha RTL \u00e9s LTR sz\u00f6vegek keverednek. Az RTL szkripteknek a termin\u00e1l ablak\u00e1nak jobb oldal\u00e1n kell megjelenni\u00fck, de mi t\u00f6rt\u00e9nik azokkal a termin\u00e1lokkal, amelyek alap\u00e9rtelmezetten LTR angolul m\u0171k\u00f6dnek? A legt\u00f6bbj\u00fck nem rendelkezik k\u00fcl\u00f6nleges mechanizmusokkal, \u00e9s minden sz\u00f6veget balra igaz\u00edtanak (bele\u00e9rtve a Konsole-t is). Kiv\u00e9telt k\u00e9pez a pterm \u00e9s mlterm, amelyek betartj\u00e1k a szabv\u00e1nyokat \u00e9s az ilyen sorokat jobbra igaz\u00edtj\u00e1k.<\/p>\n<p><img decoding=\"async\" alt=\"Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se\" src=\"\/wp-content\/uploads\/2019\/08\/a32675d44e7cadce6d197d6eb5c8d9e2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h4>Beilleszt\u00e9s elleni v\u00e9delem<\/h4>\n<p>\nA k\u00f6vetkez\u0151 kritikus jellemz\u0151, amelyet kijel\u00f6ltem, a beilleszt\u00e9s elleni v\u00e9delem. B\u00e1r sz\u00e9les k\u00f6rben ismert, hogy az olyan parancsok, mint:<\/p>\n<pre><code class=\"plaintext\">$ curl http:\/\/example.com\/ | sh<\/code><\/pre>\n<p>\nk\u00f3dv\u00e9grehajt\u00f3 push-parancsok, kevesen tudj\u00e1k, hogy rejtett parancsok is bejuthatnak a konzolba, ha m\u00e1solj\u00e1k-beillesztik \u0151ket egy webb\u00f6ng\u00e9sz\u0151b\u0151l, m\u00e9g alapos ellen\u0151rz\u00e9s ut\u00e1n is. <noindex><a rel=\"nofollow\" href=\"http:\/\/thejh.net\/misc\/website-terminal-copy-paste\">Janna Horn webhelye<\/a><\/noindex> kiv\u00e1l\u00f3an bemutatja, hogy a l\u00e1tsz\u00f3lag \u00e1rtalmatlan parancsb\u00f3l:<\/p>\n<pre><code class=\"plaintext\">git clone git:\/\/git.kernel.org\/pub\/scm\/utils\/kup\/kup.git<\/code><\/pre>\n<p>\na Horn webhelyr\u0151l val\u00f3 beilleszt\u00e9s ut\u00e1n a termin\u00e1lban \u00edgy n\u00e9z ki:<\/p>\n<pre><code class=\"plaintext\">git clone \/dev\/null;\n    clear;\n\techo -n \"Hello \";\n\twhoami|tr -d 'n';\n\techo -e '!nAz rossz \u00f6tlet volt. Ne m\u00e1solj k\u00f3dot olyan webhelyekr\u0151l, amikben nem b\u00edzol! \n\tItt a \/etc\/passwd els\u0151 sora: ';\n\thead -n1 \/etc\/passwd\n\tgit clone git:\/\/git.kernel.org\/pub\/scm\/utils\/kup\/kup.git<\/code><\/pre>\n<p>\nHogyan m\u0171k\u00f6dik ez? A k\u00e1rt\u00e9kony k\u00f3d a <b><span><\/b>, blokkba ker\u00fcl, amely CSS seg\u00edts\u00e9g\u00e9vel nem l\u00e1that\u00f3 a felhaszn\u00e1l\u00f3 sz\u00e1m\u00e1ra.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/cirw.in\/blog\/bracketed-paste\">Bracketed paste m\u00f3d<\/a><\/noindex> kifejezetten az ilyen t\u00e1mad\u00e1sok semleges\u00edt\u00e9s\u00e9re lett kifejlesztve. Ebben a m\u00f3dban a termin\u00e1lok beillesztett sz\u00f6veget z\u00e1r\u00f3 speci\u00e1lis escape-sorozatokkal keretezik, hogy t\u00e1j\u00e9koztass\u00e1k a shellt a sz\u00f6veg eredet\u00e9r\u0151l. \u00cdgy a shell jelet kap, hogy elhanyagolhatja a beillesztett sz\u00f6veget esetleg tartalmaz\u00f3 speci\u00e1lis karaktereket. Minden termin\u00e1l, bele\u00e9rtve a tiszteletbeli xterm-et is, t\u00e1mogatja ezt a funkci\u00f3t, azonban a Bracketed m\u00f3dban val\u00f3 beilleszt\u00e9s t\u00e1mogat\u00e1st ig\u00e9nyel a shellt\u0151l vagy az alkalmaz\u00e1st\u00f3l, amely a termin\u00e1lon fut. P\u00e9ld\u00e1ul a <noindex><a rel=\"nofollow\" href=\"https:\/\/tiswww.case.edu\/php\/chet\/readline\/rltop.html\">GNU Readline<\/a><\/noindex> (ugyanaz, mint Bash) sz\u00fcks\u00e9ge van egy f\u00e1jlra <b>~ \/.inputrc<\/b>:<\/p>\n<pre><code class=\"plaintext\">set enable-bracketed-paste on<\/code><\/pre>\n<p>\nSajnos, a Horn tesztoldala is megmutatja, hogyan ker\u00fclhet\u0151 meg ez a v\u00e9delem a sz\u00f6veg \u00f6n\u00e1ll\u00f3 form\u00e1z\u00e1s\u00e1n kereszt\u00fcl, \u00e9s hogyan lehet el\u0151re befejezni a Bracketed m\u00f3d alkalmaz\u00e1s\u00e1t. Ez az\u00e9rt m\u0171k\u00f6dik, mert egyes termin\u00e1lok helytelen\u00fcl sz\u0171rik a menek\u00fcl\u00e9si szekvenci\u00e1kat, miel\u0151tt hozz\u00e1adn\u00e1k a saj\u00e1tjukat. P\u00e9ld\u00e1ul az \u00e9n g\u00e9pemen nem tudtam sikeresen befejezni a Konsole tesztjeit, m\u00e9g a helyes konfigur\u00e1ci\u00f3 figyelembev\u00e9tel\u00e9vel sem. <b>.inputrc<\/b> f\u00e1jl. Ez azt jelenti, hogy k\u00f6nnyen kaphat s\u00e9r\u00fclt rendszerkonfigur\u00e1ci\u00f3t nem t\u00e1mogatott alkalmaz\u00e1s vagy rosszul be\u00e1ll\u00edtott shell miatt. K\u00fcl\u00f6n\u00f6sen vesz\u00e9lyes ez t\u00e1voli szerverekre val\u00f3 bel\u00e9p\u00e9skor, ahol a konfigur\u00e1ci\u00f3 gondos kidolgoz\u00e1sa ritk\u00e1bb, f\u0151leg ha sok ilyen t\u00e1voli g\u00e9p van.<\/p>\n<p>A probl\u00e9ma j\u00f3 megold\u00e1sa a termin\u00e1lhoz k\u00e9sz\u00fclt beilleszt\u00e9si meger\u0151s\u00edt\u0151 b\u0151v\u00edtm\u00e9ny <b>urxvt<\/b>, amely egyszer\u0171en enged\u00e9lyt k\u00e9r minden, \u00faj sorokat tartalmaz\u00f3 sz\u00f6veg beilleszt\u00e9s\u00e9re. Er\u0151sebb megold\u00e1st a Hornt \u00e1ltal le\u00edrt sz\u00f6veges t\u00e1mad\u00e1sra nem tal\u00e1ltam.<\/p>\n<h4>F\u00fclek \u00e9s profilok<\/h4>\n<p>\nJelenleg n\u00e9pszer\u0171 funkci\u00f3 a f\u00fclkezel\u0151 fel\u00fclet t\u00e1mogat\u00e1sa, amelyet \u00fagy defini\u00e1lunk, mint egy termin\u00e1lablakot, amely t\u00f6bb termin\u00e1lt tartalmaz. K\u00fcl\u00f6nb\u00f6z\u0151 termin\u00e1lok eset\u00e9n ez a funkci\u00f3 elt\u00e9r\u0151, \u00e9s b\u00e1r a hagyom\u00e1nyos xterm t\u00edpus\u00fa termin\u00e1lok egy\u00e1ltal\u00e1n nem t\u00e1mogatj\u00e1k a f\u00fcleket, a modernebb termin\u00e1lok, mint az Xfce Terminal, GNOME Terminal \u00e9s Konsole, rendelkeznek ezzel a funkci\u00f3val. Az Urxvt is t\u00e1mogatja a f\u00fcleket, de csak b\u0151v\u00edtm\u00e9ny haszn\u00e1lata eset\u00e9n. De f\u00fcl t\u00e1mogat\u00e1s szempontj\u00e1b\u00f3l a Terminator k\u00e9ts\u00e9gtelen\u00fcl az \u00e9len j\u00e1r: nemcsak a f\u00fcleket t\u00e1mogatja, hanem a termin\u00e1lokat is tetsz\u0151leges sorrendbe tudja helyezni (l\u00e1sd az al\u00e1bbi k\u00e9pet).<\/p>\n<p><img decoding=\"async\" alt=\"Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se\" src=\"\/wp-content\/uploads\/2019\/08\/5ac2cdbdd969420cd7c19597d20c8c35.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA Terminator egy m\u00e1sik jellemz\u0151je, hogy lehet\u0151v\u00e9 teszi a f\u00fclek \u201ecsoportos\u00edt\u00e1s\u00e1t\u201d, \u00e9s ugyanazokat a billenty\u0171le\u00fct\u00e9seket t\u00f6bb termin\u00e1lba egyszerre k\u00fcldheti, ami egy durva eszk\u00f6zt biztos\u00edt t\u00f6meges m\u0171veletek v\u00e9grehajt\u00e1s\u00e1ra t\u00f6bb szerveren egyidej\u0171leg. Hasonl\u00f3 funkci\u00f3t a Konsole is megval\u00f3s\u00edt. E funkci\u00f3 haszn\u00e1lat\u00e1hoz m\u00e1s termin\u00e1lokon k\u00fcls\u0151 szoftverre van sz\u00fcks\u00e9g, mint p\u00e9ld\u00e1ul <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> vagy <noindex><a rel=\"nofollow\" href=\"https:\/\/tmux.github.io\/\">tmux<\/a><\/noindex>.<\/p>\n<p>K\u00fcl\u00f6n\u00f6sen j\u00f3l m\u0171k\u00f6dnek a f\u00fclk\u00e9k a profilokkal egy\u00fctt: p\u00e9ld\u00e1ul lehet egy f\u00fcl az e-mailhez, egy m\u00e1sik a cseveg\u00e9shez, \u00e9s \u00edgy tov\u00e1bb. Ezt j\u00f3l t\u00e1mogatja a Konsole \u00e9s a GNOME Terminal. Mindkett\u0151 lehet\u0151v\u00e9 teszi, hogy minden f\u00fcl automatikusan elind\u00edtja a saj\u00e1t profilj\u00e1t. A Termin\u00e1tor szint\u00e9n t\u00e1mogatja a profilokat, de nem tal\u00e1ltam m\u00f3dot arra, hogy automatikusan elind\u00edtsam a meghat\u00e1rozott programokat egy adott f\u00fcl megnyit\u00e1sakor. M\u00e1s termin\u00e1lok egy\u00e1ltal\u00e1n nem ismerik a \u201eprofil\u201d fogalm\u00e1t.<\/p>\n<h4>Frufru<\/h4>\n<p>\nAz utols\u00f3 dolog, amit az article els\u0151 r\u00e9sz\u00e9ben megvizsg\u00e1lok, a termin\u00e1lok megjelen\u00e9se. P\u00e9ld\u00e1ul a GNOME, Xfce \u00e9s urxvt t\u00e1mogatj\u00e1k az \u00e1tl\u00e1tsz\u00f3s\u00e1got, de nemr\u00e9giben megsz\u00fcntett\u00e9k a h\u00e1tt\u00e9rk\u00e9pek t\u00e1mogat\u00e1s\u00e1t, ami arra k\u00e9nyszer\u00edtette egyes felhaszn\u00e1l\u00f3kat, hogy \u00e1t\u00e1lljanak m\u00e1s termin\u00e1lokra. <noindex><a rel=\"nofollow\" href=\"https:\/\/gnunn1.github.io\/tilix-web\/\">Tilix<\/a><\/noindex>. Szem\u00e9ly szerint nekem ez is megfelel, egyszer\u0171en <b>Xresources<\/b>, amely alap\u00e9rtelmezett h\u00e1tt\u00e9rsz\u00edn-k\u00e9szletet \u00e1ll\u00edt be az urxvt sz\u00e1m\u00e1ra. Azonban a nem szabv\u00e1nyos sz\u00edns\u00e9m\u00e1k probl\u00e9m\u00e1kat okozhatnak. P\u00e9ld\u00e1ul, <noindex><a rel=\"nofollow\" href=\"http:\/\/ethanschoonover.com\/solarized\">Solarized<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/altercation\/solarized\/issues\/220\">nem m\u0171k\u00f6dik<\/a><\/noindex> alkalmaz\u00e1sokkal <noindex><a rel=\"nofollow\" href=\"http:\/\/hisham.hm\/htop\/\">glances<\/a><\/noindex> \u00e9s <noindex><a rel=\"nofollow\" href=\"http:\/\/iptraf.seul.org\/\">IPTraf<\/a><\/noindex>, mivel m\u00e1r saj\u00e1t sz\u00edneiket haszn\u00e1lj\u00e1k.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/VT100\">Az eredeti VT100 termin\u00e1l<\/a><\/noindex> nem t\u00e1mogatta a sz\u00edneket, m\u00edg az \u00fajabbak gyakran 256 sz\u00edn\u0171 palett\u00e1ra korl\u00e1toz\u00f3dtak. A tapasztalt felhaszn\u00e1l\u00f3k, akik bonyolult m\u00f3don stiliz\u00e1lj\u00e1k a termin\u00e1ljaikat, kellemetlen korl\u00e1toz\u00e1sokat tapasztalhatnak a parancssori k\u00e9r\u00e9sek vagy \u00e1llapotsorok form\u00e1z\u00e1sakor. <noindex><a rel=\"nofollow\" href=\"https:\/\/gist.github.com\/XVilka\/8346728\">Gist<\/a><\/noindex> nyomon k\u00f6veti, hogy mely termin\u00e1lok t\u00e1mogatj\u00e1k a \u201eTrue Color\u201d funkci\u00f3t. A tesztjeim meger\u0151s\u00edtik, hogy az st, Alacritty \u00e9s a VTE alap\u00fa termin\u00e1lok remek\u00fcl t\u00e1mogatj\u00e1k a True Color-t. M\u00e1s termin\u00e1lok ebben a tekintetben nem teljes\u00edtenek j\u00f3l, \u00e9s val\u00f3j\u00e1ban m\u00e9g 256 sz\u00ednt sem jelen\u00edtenek meg. Az al\u00e1bbiakban l\u00e1thatja a k\u00fcl\u00f6nbs\u00e9get a True Color t\u00e1mogat\u00e1sban a GNOME, st \u00e9s xterm termin\u00e1lok k\u00f6z\u00f6tt, amelyek el\u00e9g j\u00f3l teljes\u00edtenek a 256 sz\u00edn\u0171 palett\u00e1jukkal, \u00e9s az urxvt, amely nemcsak hogy nem teljes\u00edti a tesztet, hanem valamilyen villog\u00f3 szimb\u00f3lumokat is mutat helyett\u00fck.<\/p>\n<p><img decoding=\"async\" alt=\"Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se\" src=\"\/wp-content\/uploads\/2019\/08\/bc6ceac84a1918b9bfa14a5cadd28746.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00e9h\u00e1ny termin\u00e1l szint\u00e9n elemzi a sz\u00f6veget URL-mint\u00e1k alapj\u00e1n, hogy kattinthat\u00f3 linkeket hozzon l\u00e9tre. Ez minden VTE-b\u0151l sz\u00e1rmaz\u00f3 termin\u00e1lra vonatkozik, m\u00edg az urxvt speci\u00e1lis b\u0151v\u00edtm\u00e9nyt ig\u00e9nyel, amely \u00e1talak\u00edtja az URL-c\u00edmeket kattint\u00e1sra vagy billenty\u0171parancs seg\u00edts\u00e9g\u00e9vel. M\u00e1s tesztelt termin\u00e1lok elt\u00e9r\u0151 m\u00f3don jelen\u00edtik meg az URL-c\u00edmeket.<\/p>\n<p>V\u00e9gre, az \u00faj termin\u00e1ltrendi v\u00e1laszt\u00e1si lehet\u0151s\u00e9g a g\u00f6rget\u00e9si puffern\u00e9l. P\u00e9ld\u00e1ul az st termin\u00e1lban nincs g\u00f6rget\u00e9si puffer, azt felt\u00e9telezik, hogy a felhaszn\u00e1l\u00f3 termin\u00e1lmultiplexert, mint a tmux-ot fog haszn\u00e1lni, \u00e9s <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gnu.org\/software\/screen\/\">GNU Screen<\/a><\/noindex>.<\/p>\n<p>Az Alacritty-ben szint\u00e9n nincsenek visszag\u00f6rget\u00e9si pufferek, de <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jwilm\/alacritty\/issues\/124\">hamarosan hozz\u00e1ad\u00f3dik<\/a><\/noindex> a t\u00e1mogat\u00e1sa a felhaszn\u00e1l\u00f3k sz\u00e1m\u00e1ra \u00e9rkezett \"sz\u00e9lesk\u00f6r\u0171 visszajelz\u00e9sek\" miatt err\u0151l a t\u00e9m\u00e1r\u00f3l. Ezeken a kiv\u00e9teleken k\u00edv\u00fcl minden \u00e1ltalam ellen\u0151rz\u00f6tt termin\u00e1l, amit megtal\u00e1ltam, t\u00e1mogatja a visszag\u00f6rget\u00e9st.<\/p>\n<h4>K\u00f6zbens\u0151 eredm\u00e9nyek<\/h4>\n<p>\nA cikk m\u00e1sodik r\u00e9sz\u00e9ben (<i>eredetileg ez k\u00e9t k\u00fcl\u00f6n cikk volt \u2014 a ford\u00edt\u00f3 megjegyz\u00e9se.<\/i>) \u00f6sszehasonl\u00edtjuk a teljes\u00edtm\u00e9nyt, a mem\u00f3riahaszn\u00e1latot \u00e9s a k\u00e9sleltet\u00e9st. De m\u00e1r l\u00e1tjuk, hogy n\u00e9h\u00e1ny vizsg\u00e1lt termin\u00e1lnak komoly h\u00e1tr\u00e1nyai vannak. P\u00e9ld\u00e1ul a RTL-skriptekkel rendszeresen dolgoz\u00f3 felhaszn\u00e1l\u00f3k figyelm\u00e9t a mlterm \u00e9s pterm vonzza, mivel ezek jobban kezelik az ilyen feladatokat. A Konsole szint\u00e9n j\u00f3l teljes\u00edtett. Az RTL-skriptekkel nem foglalkoz\u00f3 felhaszn\u00e1l\u00f3k v\u00e1laszthatnak valami m\u00e1st.<\/p>\n<p>A rosszindulat\u00fa k\u00f3dbeilleszt\u00e9s elleni v\u00e9delmet n\u00e9zve az urxvt k\u00fcl\u00f6n\u00e1ll\u00f3 helyet foglal el a t\u00e1mad\u00e1sokkal szembeni v\u00e9delem saj\u00e1tos megval\u00f3s\u00edt\u00e1sa miatt, amely sz\u00e1momra hat\u00e1rozottan k\u00e9nyelmes. Aki valami extr\u00e1t keres, n\u00e9zzen meg a Konsole-t. V\u00e9g\u00fcl meg kell eml\u00edteni, hogy a VTE nagyszer\u0171 alapk\u00e9nt szolg\u00e1l a termin\u00e1lok sz\u00e1m\u00e1ra, amely garant\u00e1lja a sz\u00edn t\u00e1mogat\u00e1s\u00e1t, az URL-ek felismer\u00e9s\u00e9t \u00e9s \u00edgy tov\u00e1bb. Els\u0151 pillant\u00e1sra a kedvenc k\u00f6rnyezettel sz\u00e1ll\u00edtott alap\u00e9rtelmezett termin\u00e1l minden ig\u00e9nynek megfelelhet, de ezt a k\u00e9rd\u00e9st nyitva hagyjuk, am\u00edg a teljes\u00edtm\u00e9ny\u00e9vel nem fogunk foglalkozni.<\/p>\n<p><i><\/p>\n<h4>Folytassuk a besz\u00e9lget\u00e9st<\/h4>\n<p><\/i><br \/>\nVal\u00f3j\u00e1ban a termin\u00e1lok teljes\u00edtm\u00e9nye \u00f6nmag\u00e1ban \u00e1lprobl\u00e9m\u00e1nak t\u0171nhet, de kider\u00fclt, hogy k\u00f6z\u00fcl\u00fck n\u00e9h\u00e1ny meglep\u0151en nagy k\u00e9sleltet\u00e9st mutat az ilyen alapvet\u0151 t\u00edpus\u00fa szoftverek eset\u00e9ben. Tov\u00e1bb\u00e1 megvizsg\u00e1ljuk azt, amit hagyom\u00e1nyosan \"sebess\u00e9gnek\" neveznek (val\u00f3j\u00e1ban ez a g\u00f6rget\u00e9s sebess\u00e9ge) \u00e9s a termin\u00e1l mem\u00f3riahaszn\u00e1lat\u00e1t (figyelembe v\u00e9ve, hogy ma m\u00e1r ez nem olyan kritikus, mint \u00e9vtizedekkel ezel\u0151tt).<\/p>\n<h4>K\u00e9sleltet\u00e9s<\/h4>\n<p>\nA termin\u00e1lok teljes\u00edtm\u00e9ny\u00e9nek alapos vizsg\u00e1lata ut\u00e1n arra a k\u00f6vetkeztet\u00e9sre jutottam, hogy ebben a tekintetben a legfontosabb param\u00e9ter a k\u00e9sleltet\u00e9s m\u00e9rt\u00e9ke (ping). Az \u00edr\u00e1somban <noindex><a rel=\"nofollow\" href=\"https:\/\/pavelfatin.com\/typing-with-pleasure\/\">\u201e\u00d6r\u00f6mmel g\u00e9pel\u00fcnk\u201c<\/a><\/noindex> Pavel Fatin megvizsg\u00e1lta a k\u00fcl\u00f6nb\u00f6z\u0151 sz\u00f6vegszerkeszt\u0151k k\u00e9sleked\u00e9s\u00e9t, \u00e9s arra utalt, hogy a termin\u00e1lok ebben a tekintetben lassabban m\u0171k\u00f6dhetnek, mint a leggyorsabb sz\u00f6vegszerkeszt\u0151k. Ez az utal\u00e1s vezetett v\u00e9g\u00fcl saj\u00e1t tesztjeim elind\u00edt\u00e1s\u00e1hoz \u00e9s ennek a cikknek a meg\u00edr\u00e1s\u00e1hoz.<\/p>\n<p>De mi is az a k\u00e9sleked\u00e9s, \u00e9s mi\u00e9rt olyan fontos? Fatin a cikk\u00e9ben \u201ea billenty\u0171 lenyom\u00e1sa \u00e9s a k\u00e9perny\u0151 megfelel\u0151 friss\u00edt\u00e9se k\u00f6z\u00f6tti k\u00e9sleked\u00e9sk\u00e9nt\u201c hat\u00e1rozta meg, \u00e9s id\u00e9zte <noindex><a rel=\"nofollow\" href=\"https:\/\/books.google.com\/books\/about\/Handbook_of_Human_Computer_Interaction.html?id=WuQbERgXR10C&amp;redir_esc=y\">\u201eAz emberi sz\u00e1m\u00edt\u00f3g\u00e9p-interakci\u00f3 k\u00e9zik\u00f6nyve\u201c<\/a><\/noindex>, amelyben azt \u00e1ll\u00edtj\u00e1k: \u201eA k\u00e9sleked\u00e9s a sz\u00e1m\u00edt\u00f3g\u00e9p kijelz\u0151j\u00e9n a vizu\u00e1lis visszajelz\u00e9sben jelent\u0151s hat\u00e1ssal van a g\u00e9p\u00edr\u00f3 viselked\u00e9s\u00e9re \u00e9s el\u00e9gedetts\u00e9g\u00e9re.\u201c<\/p>\n<p>Fatin magyar\u00e1zza, hogy ez a ping egy m\u00e9lyebb k\u00f6vetkezm\u00e9nyekkel j\u00e1r, mint egyszer\u0171en a k\u00e9nyelmess\u00e9g: \u201ea g\u00e9pel\u00e9s lassabb\u00e1 v\u00e1lik, t\u00f6bb hiba t\u00f6rt\u00e9nik, n\u0151 a szem- \u00e9s izomfesz\u00fclts\u00e9g.\u201d M\u00e1s sz\u00f3val, a nagyobb k\u00e9sleked\u00e9s g\u00e9pel\u00e9si hib\u00e1khoz vezethet, \u00e9s cs\u00f6kkentheti a k\u00f3d min\u0151s\u00e9g\u00e9t, mivel extra kognit\u00edv terhet r\u00f3 az agyra. De ami m\u00e9g rosszabb, a ping \u201en\u00f6veli a szem- \u00e9s izomfesz\u00fclts\u00e9get\u201c, ami nyilv\u00e1nval\u00f3an utal <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Repetitive_strain_injury\">a j\u00f6v\u0151beli szakmai s\u00e9r\u00fcl\u00e9sekre<\/a><\/noindex> (<i>\u00fagy t\u0171nik, hogy a szerz\u0151 a szem, h\u00e1t, k\u00e9z \u00e9s term\u00e9szetesen a l\u00e1t\u00e1s probl\u00e9m\u00e1ira utal - a ford\u00edt\u00f3 megj.<\/i>) a folyamatos fesz\u00fclts\u00e9g miatt.<\/p>\n<p>Ezek k\u00f6z\u00fcl n\u00e9h\u00e1ny hat\u00e1s r\u00e9g\u00f3ta ismert, \u00e9s az <noindex><a rel=\"nofollow\" href=\"https:\/\/doi.org\/10.1080\/00140137608931531\">kutat\u00e1sok<\/a><\/noindex>, amelyeket m\u00e1r 1976-ban tettek k\u00f6zz\u00e9 az Ergonomics foly\u00f3iratban, azt mutatj\u00e1k, hogy a 100 milliszekundumos k\u00e9sleked\u00e9s \u201ejelent\u0151sen rontja a g\u00e9pel\u00e9si sebess\u00e9get\u201c. Nemr\u00e9giben a GNOME felhaszn\u00e1l\u00f3i k\u00e9zik\u00f6nyv\u00e9be beker\u00fclt <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.gnome.org\/hig-book\/3.12\/feedback-response-times.html.en\">elfogadhat\u00f3 v\u00e1laszid\u0151<\/a><\/noindex> 10 milliszekundumra, \u00e9s ha tov\u00e1bb megy\u00fcnk, akkor <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=vOvQCPLkPt4\">a Microsoft Research<\/a><\/noindex> megmutatja, hogy az ide\u00e1lis 1 milliszekundum.<\/p>\n<p>Fatin a sz\u00f6vegszerkeszt\u0151ken v\u00e9gezte a tesztjeit; l\u00e9trehozott egy hordozhat\u00f3 eszk\u00f6zt, amelyet <noindex><a rel=\"nofollow\" href=\"https:\/\/pavelfatin.com\/typometer\">Typometer n\u00e9ven nevezett.<\/a><\/noindex>, amelyet a ping ellen\u0151rz\u00e9s\u00e9re haszn\u00e1ltam termin\u00e1lemul\u00e1torokban. Ne feledje, hogy a teszt szimul\u00e1ci\u00f3s m\u00f3dban zajlott: val\u00f3j\u00e1ban figyelembe kell venni a bemeneti (billenty\u0171zet, USB-vez\u00e9rl\u0151 stb.) \u00e9s a kimeneti (videok\u00e1rtya puffere, monitor) k\u00e9sleltet\u00e9st. Fatinj szerint a tipikus konfigur\u00e1ci\u00f3kban ez k\u00f6r\u00fclbel\u00fcl 20 ms. J\u00e1t\u00e9kberendez\u00e9ssel 3 milliszekundumos eredm\u00e9ny is el\u00e9rhet\u0151. Mivel m\u00e1r van ilyen gyors berendez\u00e9s\u00fcnk, az alkalmaz\u00e1snak nem szabad tov\u00e1bbi k\u00e9sleltet\u00e9st okoznia. Fatinj c\u00e9lja, hogy az alkalmaz\u00e1s k\u00e9sleltet\u00e9s\u00e9t 1 milliszekundumra cs\u00f6kkentse, vagy ak\u00e1r el\u00e9rje a k\u00e9sleltet\u00e9s n\u00e9lk\u00fcli bevitelt. <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jetbrains.com\/idea\/2015\/08\/experimental-zero-latency-typing-in-intellij-idea-15-eap\/\">m\u00e9rhet\u0151 k\u00e9sleltet\u00e9s n\u00e9lk\u00fcl<\/a><\/noindex>, mint a <noindex><a rel=\"nofollow\" href=\"https:\/\/confluence.jetbrains.com\/display\/IDEADEV\/IDEA+15+EAP\">IntelliJ IDEA 15<\/a><\/noindex>.<\/p>\n<p>Ezek a m\u00e9r\u00e9seim eredm\u00e9nyei, valamint Fatinj n\u00e9h\u00e1ny m\u00e9r\u00e9se, hogy megmutassam, hogy k\u00eds\u00e9rletem \u00f6sszhangban van az \u0151 tesztjeivel:<\/p>\n<p><img decoding=\"async\" alt=\"Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se\" src=\"\/wp-content\/uploads\/2019\/08\/d7ae46c8309e9cfd517164d5fed093f7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEls\u0151k\u00e9nt leny\u0171g\u00f6z\u00f6tt, hogy a r\u00e9gi programok, mint az xterm \u00e9s mlterm, jobb v\u00e1laszid\u0151t mutattak. A legrosszabb regisztr\u00e1ci\u00f3s k\u00e9sleltet\u00e9ssel (2,4 ms) jobb eredm\u00e9nyt \u00e9rtek el, mint a leggyorsabb modern termin\u00e1l (10,6 ms az st eset\u00e9ben). Egy modern termin\u00e1l sem esik 10 milliszekundum al\u00e1. K\u00fcl\u00f6n\u00f6sen az Alacritty nem felel meg a \u201eleggyorsabb termin\u00e1lemul\u00e1tor\u201d k\u00f6vetelm\u00e9nyeinek, b\u00e1r az eredm\u00e9nyei javultak az els\u0151 ellen\u0151rz\u00e9s \u00f3ta 2017-ben. Val\u00f3ban, a projekt szerz\u0151i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jwilm\/alacritty\/issues\/673\">tudat\u00e1ban vannak a helyzetnek<\/a><\/noindex> \u00e9s dolgoznak a megjelen\u00e9s jav\u00edt\u00e1s\u00e1n. Meg kell eml\u00edteni, hogy a GTK3-at haszn\u00e1l\u00f3 Vim l\u00e9nyegesen lassabb, mint GTK2-es megfelel\u0151je. Ez arra utal, hogy a GTK3 tov\u00e1bbi k\u00e9sleltet\u00e9st okoz, ami t\u00fckr\u00f6z\u0151dik az \u00f6sszes t\u00f6bbi termin\u00e1lban is, amelyek ezt haszn\u00e1lj\u00e1k (Terminator, Xfce4 Terminal \u00e9s GNOME Terminal).<\/p>\n<p>Azonban a szem sz\u00e1m\u00e1ra a k\u00fcl\u00f6nbs\u00e9gek \u00e9szrev\u00e9tlenek lehetnek. Ahogy Fatinj magyar\u00e1zza: \u201enem felt\u00e9tlen\u00fcl sz\u00fcks\u00e9ges tudom\u00e1sul venni a k\u00e9sleltet\u00e9s jelenl\u00e9t\u00e9t ahhoz, hogy hat\u00e1ssal legyen r\u00e1d\u201d. Fatinj a norm\u00e1l eloszl\u00e1sra is figyelmeztet: \u201eb\u00e1rmilyen zavar a k\u00e9sleltet\u00e9s tartam\u00e1ban (rezg\u00e9s) tov\u00e1bbi terhet jelent az el\u0151rejelezhetetlens\u00e9g miatt\u201d.<\/p>\n<p><img decoding=\"async\" alt=\"Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se\" src=\"\/wp-content\/uploads\/2019\/08\/e128a7e6c32a1517c98ffc612fe09128.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA fenti grafikon egy tiszta Debian 9 (stretch) rendszerb\u0151l sz\u00e1rmazik, <noindex><a rel=\"nofollow\" href=\"https:\/\/i3wm.org\/\">i3 ablakkezel\u0151vel<\/a><\/noindex>. Ez a k\u00f6rnyezet a legjobb eredm\u00e9nyeket ny\u00fajtja a k\u00e9sleltet\u00e9s meghat\u00e1roz\u00e1s\u00e1ra szolg\u00e1l\u00f3 tesztekben. Kider\u00fclt, hogy a GNOME 20 ms extra pinget gener\u00e1l minden m\u00e9r\u00e9shez. A lehets\u00e9ges magyar\u00e1zat ennek az, hogy vannak olyan programok, amelyek szinkron m\u00f3don dolgozz\u00e1k fel a bej\u00f6v\u0151 esem\u00e9nyeket. Fatin p\u00e9ldak\u00e9nt eml\u00edti ezt az esetet. <noindex><a rel=\"nofollow\" href=\"http:\/\/www.workrave.org\/\">Workrave<\/a><\/noindex>, amely k\u00e9sleltet\u00e9st ad, mivel az \u00f6sszes beviteli esem\u00e9nyt szinkron m\u00f3don dolgozza fel. Alap\u00e9rtelmez\u00e9s szerint a GNOME ablakkezel\u0151je is rendelkezik. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Mutter_(software)\">Mutter<\/a><\/noindex>, amely tov\u00e1bbi puffereket hoz l\u00e9tre, ami befoly\u00e1solja a pinget, \u00e9s legal\u00e1bb 8 milliszekundumos k\u00e9sleltet\u00e9st ad hozz\u00e1.<\/p>\n<p><img decoding=\"async\" alt=\"Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se\" src=\"\/wp-content\/uploads\/2019\/08\/3585d1edf4cee214d7a53858943b1845.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h4>G\u00f6rget\u00e9si sebess\u00e9g<\/h4>\n<p>\nA k\u00f6vetkez\u0151 teszt a hagyom\u00e1nyos \u201esebess\u00e9g\u201d vagy \u201es\u00e1vsz\u00e9less\u00e9g\u201d vizsg\u00e1lata, amely azt m\u00e9ri, hogy a termin\u00e1l milyen gyorsan tudja g\u00f6rgetni az oldalt, mik\u00f6zben nagy mennyis\u00e9g\u0171 sz\u00f6veget jelen\u00edt meg a k\u00e9perny\u0151n. A teszt mechanik\u00e1ja v\u00e1ltoz\u00f3; az eredeti teszt abb\u00f3l \u00e1llt, hogy egyszer\u0171en ugyanazon sz\u00f6vegsort gener\u00e1ltuk a seq parancs seg\u00edts\u00e9g\u00e9vel. M\u00e1s tesztek k\u00f6z\u00f6tt szerepel Thomas E. Dick tesztje (amely k\u00eds\u00e9ri az xtermet), amely sor\u00e1n t\u00f6bbsz\u00f6r\u3002 <noindex><a rel=\"nofollow\" href=\"https:\/\/invisible-island.net\/xterm\/xterm.faq.html#scroll_speed\">ki\u00fcr\u00edtj\u00fck a terminfo.src f\u00e1jlt<\/a><\/noindex>. Egy m\u00e1sik teljes\u00edtm\u00e9ny\u00e9rt\u00e9kel\u00e9sben <noindex><a rel=\"nofollow\" href=\"https:\/\/danluu.com\/term-latency\/\">Den Luu<\/a><\/noindex> v\u00e9letlenszer\u0171 b\u00e1jtok sorozat\u00e1t haszn\u00e1lja base32 k\u00f3dol\u00e1sban, amelyet a termin\u00e1lba a cat parancs seg\u00edts\u00e9g\u00e9vel k\u00fcld be. Luu ezt a tesztet \u201eannyira haszontalan m\u00e9r\u0151sz\u00e1mnak tartja, amennyire csak lehet\u201d \u00e9s azt javasolja, hogy ink\u00e1bb a termin\u00e1l v\u00e1lasz\u00e1t haszn\u00e1ljuk f\u0151 mutat\u00f3k\u00e9nt. Dick is f\u00e9lrevezet\u0151nek tartja a saj\u00e1t tesztj\u00e9t. Mindazon\u00e1ltal mindk\u00e9t szerz\u0151 elismeri, hogy a termin\u00e1lablak s\u00e1vsz\u00e9less\u00e9ge probl\u00e9m\u00e1t jelenthet. Luu \u00e9szlelte az Emacs Eshell akadoz\u00e1s\u00e1t, mik\u00f6zben nagy f\u00e1jlokat jelen\u00edtett meg, m\u00edg Dick optimaliz\u00e1lta a termin\u00e1lt, hogy megszabaduljon az xterm vizu\u00e1lis lass\u00fas\u00e1g\u00e1t\u00f3l. Ez\u00e9rt ebben a tesztben m\u00e9g mindig van n\u00e9mi \u00e9rv\u00e9nyess\u00e9g, de mivel a renderel\u00e9si folyamat termin\u00e1lr\u00f3l termin\u00e1lra jelent\u0151sen elt\u00e9r, tesztkomponensk\u00e9nt is felhaszn\u00e1lhat\u00f3 m\u00e1s param\u00e9terek ellen\u0151rz\u00e9s\u00e9re.<\/p>\n<p><img decoding=\"async\" alt=\"Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se\" src=\"\/wp-content\/uploads\/2019\/08\/3231877fdcd7725c3248fb393185ece4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nItt l\u00e1thatjuk, hogy az rxvt \u00e9s az st el\u0151t\u00e9rbe ker\u00fclnek a versenyt\u00e1rsakkal szemben, m\u00f6g\u00f6tt\u00fck k\u00f6vetkezik a sokkal \u00fajabb Alacritty, amely a teljes\u00edtm\u00e9nyre \u00f6sszpontos\u00edt. A k\u00f6vetkez\u0151 helyen \u00e1ll a Xfce (VTE csal\u00e1d) \u00e9s a Konsole, amelyek szinte k\u00e9tszer gyorsabbak. Utols\u00f3k\u00e9nt az xterm szerepel, amely \u00f6t\u00f6dsz\u00f6r lassabb, mint az rxvt. A teszt sor\u00e1n az xterm is er\u0151sen rezgett, a fut\u00f3 sz\u00f6veget neh\u00e9z volt \u00e9szrevenni, m\u00e9g ha ugyanarr\u00f3l a sorral volt is sz\u00f3. A Konsole gyorsnak bizonyult, de id\u0151nk\u00e9nt \u201etr\u00fckk\u00f6z\u00f6tt\u201d: a kijelz\u0151 n\u00e9ha megakadt, a sz\u00f6veget r\u00e9szben mutatta, vagy egy\u00e1ltal\u00e1n nem jelen\u00edtette meg. M\u00e1s termin\u00e1lok \u00e9les vonalakat mutattak, bele\u00e9rtve az st, Alacritty \u00e9s rxvt termin\u00e1lokat.<\/p>\n<p>Diki elmagyar\u00e1zza, hogy a teljes\u00edtm\u00e9nybeli k\u00fcl\u00f6nbs\u00e9geket a k\u00fcl\u00f6nb\u00f6z\u0151 termin\u00e1lok g\u00f6rget\u00e9si pufferei k\u00f6z\u00f6tti tervez\u00e9si elt\u00e9r\u00e9sek okozz\u00e1k. K\u00fcl\u00f6n\u00f6sen az rxvt-t \u00e9s m\u00e1s termin\u00e1lokat hib\u00e1ztatja, hogy \"nem k\u00f6vetik az \u00e1ltal\u00e1nos szab\u00e1lyokat\":<\/p>\n<blockquote><p>\"Ellenkez\u0151leg, az xtermhez k\u00e9pest az rxvt nem pr\u00f3b\u00e1lta megjelen\u00edteni az \u00f6sszes friss\u00edt\u00e9st. Ha lemarad, lemond n\u00e9h\u00e1ny friss\u00edt\u00e9sr\u0151l, hogy utol\u00e9rje mag\u00e1t. Ez nagyobb hat\u00e1ssal volt a l\u00e1tsz\u00f3lagos g\u00f6rget\u00e9si sebess\u00e9gre, mint a bels\u0151 mem\u00f3ria elrendez\u00e9s\u00e9re. Az egyik h\u00e1tr\u00e1nya az volt, hogy az ASCII anim\u00e1ci\u00f3k kiss\u00e9 pontosatlanok voltak.\"<\/p><\/blockquote>\n<p>\nAz xterm l\u00e1tsz\u00f3lagos lassul\u00e1s\u00e1nak orvosl\u00e1s\u00e1ra Diki azt javasolja, hogy haszn\u00e1ljunk egy er\u0151forr\u00e1st <noindex><a rel=\"nofollow\" href=\"https:\/\/invisible-island.net\/xterm\/manpage\/xterm.html#VT100-Widget-Resources:fastScroll\">fastScroll<\/a><\/noindex>, amely lehet\u0151v\u00e9 teszi, hogy az xterm eldobja n\u00e9h\u00e1ny k\u00e9perny\u0151friss\u00edt\u00e9st, hogy ne maradjon le az \u00e1raml\u00e1sr\u00f3l. A tesztjeim meger\u0151s\u00edtik, hogy a fastScroll jav\u00edtja a teljes\u00edtm\u00e9nyt \u00e9s az xterm-t az rxvt szintj\u00e9re emeli. Ez azonban egy meglehet\u0151sen durva megold\u00e1s, ahogy Diki is magyar\u00e1zza: \"n\u00e9ha az xterm - ak\u00e1rcsak a konsole - azt a benyom\u00e1st kelti, hogy meg\u00e1llt, mivel \u00faj k\u00e9perny\u0151friss\u00edt\u00e9sekre v\u00e1r, miut\u00e1n n\u00e9h\u00e1nyat elt\u00e1vol\u00edtott\u00e1k.\" Ebben a tekintetben \u00fagy t\u0171nik, hogy m\u00e1s termin\u00e1lok a legjobb kompromisszumot tal\u00e1lt\u00e1k meg a sebess\u00e9g \u00e9s a kijelz\u0151 \u00e9ps\u00e9ge k\u00f6z\u00f6tt.<\/p>\n<h4>Er\u0151forr\u00e1s-felhaszn\u00e1l\u00e1s<\/h4>\n<p>\nF\u00fcggetlen\u00fcl att\u00f3l, hogy \u00e9rdemes-e a g\u00f6rget\u00e9si sebess\u00e9get a teljes\u00edtm\u00e9ny mutat\u00f3j\u00e1nak tekinteni, ez a teszt lehet\u0151v\u00e9 teszi a termin\u00e1lok terhel\u00e9s\u00e9nek szimul\u00e1l\u00e1s\u00e1t, ami lehet\u0151v\u00e9 teszi sz\u00e1munkra m\u00e1s param\u00e9terek, p\u00e9ld\u00e1ul a mem\u00f3ria- vagy lemezhaszn\u00e1lat m\u00e9r\u00e9s\u00e9t. A metrik\u00e1kat a megadott teszt futtat\u00e1s\u00e1val nyert\u00fck <b>seq<\/b> , a Python folyamat figyelemmel k\u00eds\u00e9r\u00e9s\u00e9vel. Az adatgy\u0171jt\u00e9st a k\u00f6vetkez\u0151 sz\u00e1ml\u00e1l\u00f3k adatok gy\u0171jt\u00e9se v\u00e9gezte: <noindex><a rel=\"nofollow\" href=\"http:\/\/man7.org\/linux\/man-pages\/man2\/getrusage.2.html\">getrusage ()<\/a><\/noindex> a <b>ru_maxrss<\/b>, a <b>ru_oublock<\/b> \u00e9s <b>ru_inblock<\/b> \u00e9s egy egyszer\u0171 id\u0151m\u00e9r\u0151.<\/p>\n<p><img decoding=\"async\" alt=\"Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se\" src=\"\/wp-content\/uploads\/2019\/08\/df378c145a559ed4aad98fa70b58c72c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA teszt sor\u00e1n az ST az \u00e1tlagos mem\u00f3riafogyaszt\u00e1s 8 MB-j\u00e1val az els\u0151 helyen \u00e1ll, ami nem meglep\u0151, figyelembe v\u00e9ve, hogy a projekt alapgondolata a egyszer\u0171s\u00e9g. Az mlterm, xterm \u00e9s rxvt kicsit t\u00f6bbet fogyaszt \u2014 k\u00f6r\u00fclbel\u00fcl 12 MB. Az Alacritty pedig 30 MB-ot ig\u00e9nyel a m\u0171k\u00f6d\u00e9shez. Ezt k\u00f6vetik a VTE csal\u00e1d termin\u00e1ljai, melyek fogyaszt\u00e1sa 40-60 MB k\u00f6z\u00f6tt mozog, ami viszonylag sok. Ez a fogyaszt\u00e1s a magasabb szint\u0171 k\u00f6nyvt\u00e1rak haszn\u00e1lat\u00e1val magyar\u00e1zhat\u00f3, p\u00e9ld\u00e1ul a GTK. A Konsole 65 MB-os hatalmas mem\u00f3riafogyaszt\u00e1s\u00e1val z\u00e1rja a sort a tesztek sor\u00e1n, b\u00e1r ezt a sz\u00e9les funkci\u00f3k\u00e9szlete is indokolja.<\/p>\n<p>A kor\u00e1bbi, t\u00edz \u00e9vvel ezel\u0151tt v\u00e9gzett eredm\u00e9nyekhez k\u00e9pest minden program l\u00e9nyegesen t\u00f6bb mem\u00f3ri\u00e1t ig\u00e9nyel. R\u00e9gen az Xterm 4 MB-ot k\u00e9rt, most pedig 15 MB sz\u00fcks\u00e9ges ahhoz, hogy elinduljon. Az rxvt eset\u00e9ben hasonl\u00f3 n\u00f6veked\u00e9s figyelhet\u0151 meg, ami most alap\u00e9rtelmezetten 16 MB-ot ig\u00e9nyel. Az Xfce termin\u00e1l 34 MB-ot foglal el, ami h\u00e1romszoros n\u00f6veked\u00e9s a kor\u00e1bbihoz k\u00e9pest, m\u00edg a GNOME Terminal mind\u00f6ssze 20 MB-ot ig\u00e9nyel. Term\u00e9szetesen az \u00f6sszes kor\u00e1bbi teszt 32 bites architekt\u00far\u00e1n zajlott. A LCA 2012-n R\u00e1sti Russell <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/477155\/\">elmondta<\/a><\/noindex>, sz\u00e1mos finomabb ok is lehet, ami a mem\u00f3riafogyaszt\u00e1s n\u00f6veked\u00e9s\u00e9t magyar\u00e1zza. Mindett\u0151l f\u00fcggetlen\u00fcl mostans\u00e1g gigab\u00e1jtos mem\u00f3ri\u00e1ink vannak, \u00edgy valahogy megbirk\u00f3zunk vele.<\/p>\n<p>Mindazon\u00e1ltal nem tudom ki\u0171zni magamb\u00f3l azt az \u00e9rz\u00e9st, hogy az ilyen alapvet\u0151 szoftverek, mint a termin\u00e1l, sz\u00e1m\u00e1ra a t\u00f6bb mem\u00f3ria allok\u00e1ci\u00f3ja \u00e9rtelmetlen er\u0151forr\u00e1s-pazarl\u00e1s. Ezeknek a programoknak a legkisebbeknek kell lenni\u00fck, k\u00e9pesnek kell lenni\u00fck b\u00e1rmilyen \"dobozon\" m\u0171k\u00f6dni, m\u00e9g cip\u0151s dobozokon is, ha valaha arra a pontra jutunk, hogy Linux rendszerekkel kell \u0151ket felszerelni (mert tudj\u00e1tok, hogy ez fog t\u00f6rt\u00e9nni). De ezekkel a sz\u00e1mokkal a mem\u00f3riahaszn\u00e1lat a j\u00f6v\u0151ben probl\u00e9m\u00e1t jelent majd b\u00e1rmilyen k\u00f6rnyezetben, amikor t\u00f6bb termin\u00e1lt ind\u00edtunk, kiv\u00e9ve a legk\u00f6nnyebb \u00e9s legkorl\u00e1tozottabb funkci\u00f3kkal rendelkez\u0151 eseteket. Ennek kompenz\u00e1l\u00e1s\u00e1ra a GNOME Terminal, a Konsole, az urxvt, a Terminator \u00e9s az Xfce Terminal rendelkezik Daemon \u00fczemm\u00f3ddal, amely lehet\u0151v\u00e9 teszi t\u00f6bb termin\u00e1l kezel\u00e9s\u00e9t egyetlen folyamat r\u00e9v\u00e9n, ez\u00e1ltal korl\u00e1tozva a mem\u00f3riafogyaszt\u00e1sukat.<\/p>\n<p><img decoding=\"async\" alt=\"Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se\" src=\"\/wp-content\/uploads\/2019\/08\/65ade9cc81284f24f0c44322eec73ef0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTesztjeim sor\u00e1n egy m\u00e1sik v\u00e1ratlan eredm\u00e9nyre jutottam a lemez \u00edr\u00e1s-olvas\u00e1s\u00e1val kapcsolatban: azt hittem, itt nem fogok semmit l\u00e1tni, de kider\u00fclt, hogy egyes termin\u00e1lok a legnagyobb adatokat \u00edrj\u00e1k a lemezre. A VTE k\u00f6nyvt\u00e1r gyakorlatilag egy g\u00f6rget\u0151 puffert tart a lemezen (ez a jellemz\u0151 <noindex><a rel=\"nofollow\" href=\"https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=631685\">m\u00e1r 2010 \u00f3ta megfigyelhet\u0151<\/a><\/noindex>, \u00e9s ez az\u00f3ta is \u00edgy van). De a r\u00e9gi megold\u00e1sokkal ellent\u00e9tben most, legal\u00e1bbis, ezek az adatok AES256 GCM titkos\u00edt\u00e1ssal v\u00e9dettek (<noindex><a rel=\"nofollow\" href=\"https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=664611#c48\">a 0.39.2-es verzi\u00f3t\u00f3l<\/a><\/noindex>). De felmer\u00fcl a jogos k\u00e9rd\u00e9s, hogy mi olyan k\u00fcl\u00f6nleges a VTE k\u00f6nyvt\u00e1rban, ami ilyen szokatlan megk\u00f6zel\u00edt\u00e9st ig\u00e9nyel a megval\u00f3s\u00edt\u00e1shoz\u2026<\/p>\n<h4>Z\u00e1r\u00e1s<\/h4>\n<p>\nA ciklus els\u0151 r\u00e9sz\u00e9ben felfedezt\u00fck, hogy a VTE alap\u00fa termin\u00e1lok j\u00f3 funkci\u00f3kkal rendelkeznek, de most l\u00e1tjuk, hogy ez n\u00e9mi k\u00f6lts\u00e9ggel j\u00e1r a teljes\u00edtm\u00e9ny\u00fck biztos\u00edt\u00e1sa \u00e9rdek\u00e9ben. Jelenleg a mem\u00f3ria nem jelent probl\u00e9m\u00e1t, mivel az \u00f6sszes VTE-termin\u00e1lt egy Daemon folyamat kezel, amely korl\u00e1tozza az \u00e9tv\u00e1gyukat. Ennek ellen\u00e9re a r\u00e9gi rendszerek, amelyeknek fizikai korl\u00e1tai vannak a RAM \u00e9s a kernel puffere kapacit\u00e1s\u00e1ra, tov\u00e1bbra is ig\u00e9nyelhetik a kor\u00e1bbi verzi\u00f3kat, mivel ezek jelent\u0151sen kevesebb er\u0151forr\u00e1st fogyasztanak. B\u00e1r a VTE termin\u00e1lok j\u00f3l teljes\u00edtettek a s\u00e1vsz\u00e9less\u00e9g-tesztek sor\u00e1n (g\u00f6rget\u00e9s), az adatok k\u00e9perny\u0151n val\u00f3 megjelen\u00edt\u00e9s\u00e9nek k\u00e9s\u00e9se meghaladja a GNOME felhaszn\u00e1l\u00f3i k\u00e9zik\u00f6nyv\u00e9ben megadott hat\u00e1r\u00e9rt\u00e9ket. Val\u00f3sz\u00edn\u0171leg a VTE fejleszt\u0151inek figyelembe kellene venni\u00fck ezt. Figyelembe v\u00e9ve, hogy m\u00e9g a Linux kezd\u0151 felhaszn\u00e1l\u00f3i sz\u00e1m\u00e1ra is elker\u00fclhetetlen a termin\u00e1l haszn\u00e1lata, bar\u00e1ts\u00e1gosabb\u00e1 tehetn\u00e9k azt a felhaszn\u00e1l\u00f3 sz\u00e1m\u00e1ra. A tapasztalt geekek sz\u00e1m\u00e1ra az alap\u00e9rtelmezett termin\u00e1lr\u00f3l val\u00f3 \u00e1tt\u00e9r\u00e9s m\u00e9g a szem terhel\u00e9s\u00e9nek cs\u00f6kken\u00e9s\u00e9t is jelentheti, \u00e9s lehet\u0151s\u00e9get adhat a hosszan tart\u00f3 munkamenetekb\u0151l ad\u00f3d\u00f3 j\u00f6v\u0151beli szakmai s\u00e9r\u00fcl\u00e9sek \u00e9s betegs\u00e9gek elker\u00fcl\u00e9s\u00e9re. Sajnos csak a r\u00e9gi xterm \u00e9s mlterm juttat el minket a 10 milliszekundumos ping var\u00e1zslatos k\u00fcsz\u00f6b\u00e9hez, ami sokak sz\u00e1m\u00e1ra elfogadhatatlan.<\/p>\n<p>A m\u00e9r\u00e9sek azt is kimutatt\u00e1k, hogy a Linux grafikus k\u00f6rnyezetek fejl\u0151d\u00e9se miatt a fejleszt\u0151knek sz\u00e1mos kompromisszumot kellett k\u00f6tni\u00fck. Egyes felhaszn\u00e1l\u00f3knak \u00e9rdemes megn\u00e9zni\u00fck a hagyom\u00e1nyos ablakkezel\u0151ket, mivel ezek jelent\u0151sen cs\u00f6kkentik a pinget. Sajnos a Wayland eset\u00e9ben nem siker\u00fclt m\u00e9rni a k\u00e9sleltet\u00e9st: a Typometer programot, amelyet haszn\u00e1ltam, kifejezetten az\u00e9rt hozt\u00e1k l\u00e9tre, hogy megakad\u00e1lyozza a m\u00e1s ablakok megfigyel\u00e9s\u00e9t. Rem\u00e9lem, hogy a Wayland kompozit\u00e1l\u00e1s teljes\u00edtm\u00e9nye jobb, mint az X.org-\u00e9, \u00e9s azt is rem\u00e9lem, hogy a j\u00f6v\u0151ben valaki megtal\u00e1lja a m\u00f3dj\u00e1t, hogy \u00e9rt\u00e9kelje ennek a k\u00f6rnyezetnek a k\u00e9sleltet\u00e9si szintj\u00e9t.<br \/>\n<br \/>Forr\u00e1s: <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 5.0.3 - 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.\" \/>\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\/hu\/blog\/administrirovanie\/obzor-emulyatorov-terminala\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/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\udd47Termin\u00e1lemul\u00e1torok \u00e1ttekint\u00e9se | ProHoster","description":"N\u00e9h\u00e1ny sz\u00f3 a ford\u00edt\u00f3irod\u00e1nkt\u00f3l: \u00e1ltal\u00e1ban mindenki arra t\u00f6rekszik, hogy a legfrissebb anyagokat \u00e9s publik\u00e1ci\u00f3kat ford\u00edtson, \u00e9s mi sem vagyunk kiv\u00e9telek. De a termin\u00e1lok nem olyan dolgok, amelyeket hetente friss\u00edtenek.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/obzor-emulyatorov-terminala","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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.","og:url":"https:\/\/prohoster.info\/hu\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/37222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=37222"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/37222\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/27911"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=37222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=37222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=37222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}