{"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\/nl\/blog\/administrirovanie\/obzor-emulyatorov-terminala","title":{"rendered":"Overzicht van terminalemulators","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Een paar woorden van ons vertaalbureau: meestal proberen we de meest recente materialen en publicaties te vertalen, en we zijn daar geen uitzondering op. Maar terminalen zijn niet iets dat elke week vernieuwd wordt. Daarom hebben we het artikel van Antoine Bopre, dat in de lente van 2018 is gepubliceerd, voor u vertaald: ondanks de aanzienlijke 'leeftijd' volgens moderne maatstaven, is het materiaal naar onze mening absoluut nog relevant. Bovendien is het origineel een serie van twee artikelen, maar we hebben besloten ze in \u00e9\u00e9n groot bericht te combineren.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Overzicht van terminalemulators\" src=\"\/wp-content\/uploads\/2019\/08\/23b2893d4d23ee402f42f8d686fec788.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTerminalen nemen een bijzondere plek in de computerhistorie in, maar in de afgelopen decennia hebben ze zich 'moeten' aanpassen aan de commandoregel, terwijl grafische interfaces overal om hen heen opkwamen. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Terminal_emulator\">Terminalemulators<\/a><\/noindex> vervangen hun <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Computer_terminal\">hardwarematige tegenhangers<\/a><\/noindex>, die op hun beurt weer een afgeleide waren van systemen op ponskaarten en tuimelschakelaars. Moderne distributies worden geleverd met een heleboel terminalemulators in allerlei vormen en kleuren. En terwijl velen rustig tevreden zijn met de standaardterminal die door hun werkomgeving wordt aangeboden, gebruiken sommigen met trots openlijk exotische software om hun favoriete shell of tekstverwerker te draaien. Maar zoals we in dit artikel zullen zien, zijn niet alle terminalen op dezelfde manier ontworpen: ze verschillen aanzienlijk in functionaliteit, grootte en prestaties.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Sommige terminalen hebben verbazingwekkende beveiligingslekken, bovendien heeft de meerderheid een totaal verschillend functieset, van ondersteuning voor tabbladen tot scripts. Hoewel we <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/88161\/\">terminalemulators in het verre verleden hebben besproken<\/a><\/noindex>, is dit artikel een update van het vorige materiaal dat lezers helpt te bepalen welke terminal ze in 2018 moeten gebruiken. In de eerste helft van het artikel worden de functies vergeleken, en in de tweede helft wordt de prestaties beoordeeld.<\/p>\n<p>Hier zijn de terminalen die ik heb bekeken:<\/p>\n<p><img decoding=\"async\" alt=\"Overzicht van terminalemulators\" src=\"\/wp-content\/uploads\/2019\/08\/be76032ca4392c23dd0c111a36b199ef.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMisschien zijn dit niet de meest recente versies, aangezien ik me heb beperkt tot stabiele builds op het moment van schrijven, die ik met succes heb ge\u00efnstalleerd op Debian 9 of Fedora 27. De enige uitzondering is Alacritty. Het is een afstammeling van terminals met GPU-versnelling en is geschreven in een ongebruikelijke en nieuwe taal voor deze taak \u2014 Rust. Ik heb webterminals (inclusief die op <noindex><a rel=\"nofollow\" href=\"https:\/\/electronjs.org\/\">Electron<\/a><\/noindex>) uitgesloten omdat voorlopige tests hun extreem lage prestaties aantoonde.<\/p>\n<h4>Unicode-ondersteuning<\/h4>\n<p>\nIk begon mijn tests met Unicode-ondersteuning. De eerste test van de terminals was het weergeven van een Unicode-rij van <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Unicode#Web\">een artikel op Wikipedia<\/a><\/noindex>: \u00ab\u00e9, \u0394, \u0419, \u05e7, \u0645, \u0e57, \u3042, \u53f6, \u8449 en \ub9d0\u00bb. Deze eenvoudige test toont aan of de terminal correct kan functioneren over de hele wereld. De xterm-terminal geeft het Arabische teken niet weer <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Mem\">Geheugen<\/a><\/noindex> in de standaardconfiguratie:<\/p>\n<p><img decoding=\"async\" alt=\"Overzicht van terminalemulators\" src=\"\/wp-content\/uploads\/2019\/08\/92e1b9f6e7f3129a55d09cd48310c699.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nStandaard gebruikt xterm het klassieke 'fixed' lettertype, dat volgens <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Open-source_Unicode_typefaces\">dezelfde Wiki<\/a><\/noindex>\u00abeen significante dekking van Unicode sinds 1997\u00bb heeft. In dit lettertype gebeurt er iets dat ervoor zorgt dat het teken wordt weergegeven als een lege doos en pas wanneer de tekstgrootte tot 20+ punten wordt vergroot, begint het teken eindelijk correct weer te geven. Dit soort 'fix' verstoort echter de weergave van andere Unicode-tekens:<\/p>\n<p><img decoding=\"async\" alt=\"Overzicht van terminalemulators\" src=\"\/wp-content\/uploads\/2019\/08\/4300f72d87bb9b729d4c682e876b4998.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDeze screenshots zijn gemaakt in Fedora 27, aangezien deze betere resultaten bood dan Debian 9, waar sommige oudere versies van terminals (specifiek \u2014 mlterm) niet goed konden omgaan met lettertypen. Gelukkig is dit opgelost in latere versies.<\/p>\n<p>Let nu op de weergave van de rij in xterm. Blijkt dat het teken Mem en het volgende Semitische <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Qoph\">Qoph<\/a><\/noindex> tot de rechts-naar-links schrijfwijzen behoren (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Right-to-left\">right-to-left<\/a><\/noindex>), dus technisch gezien moeten ze van rechts naar links worden weergegeven. Webbrowser, zoals Firefox 57, behandelt de bovenstaande rij correct. Een eenvoudigere vorm van RTL-tekst is het woord \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Sarah\">Sara<\/a><\/noindex>\u00bb in het Hebreeuws (<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\">De Wiki-pagina over bidirectionele tekst<\/a><\/noindex> zegt het volgende:<\/p>\n<blockquote><p>\u00abVeel computerprogramma's kunnen bidirectionele tekst niet correct weergeven. Bijvoorbeeld, de Hebreeuwse naam 'Sara' bestaat uit de letters sin (\u05e9) (die rechts verschijnt), dan resh (\u05e8) en tenslotte he (\u05d4) (die links moet verschijnen)\u00bb.<\/p><\/blockquote>\n<p>\nVeel terminals slagen niet voor deze test: Alacritty, Gnome en XFCE afgeleide VTE-terminals, urxvt, st en xterm tonen \"Sara\" in omgekeerde volgorde, alsof we deze naam als \"Aras\" hebben geschreven.<\/p>\n<p><img decoding=\"async\" alt=\"Overzicht van terminalemulators\" src=\"\/wp-content\/uploads\/2019\/08\/9decee6d198bd9d3e4f4883a8f2b0da6.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEen ander probleem met bidirectionele teksten is dat ze op de een of andere manier moeten worden uitgelijnd, vooral als het gaat om mengeling van RTL en LTR-teksten. RTL-scripts moeten aan de rechterkant van het terminalvenster beginnen, maar wat moet er gebeuren voor terminals die standaard met LTR-Engels werken? De meeste hebben geen speciale mechanismen en lijnen de hele tekst links uit (inclusief in Konsole). Uitzonderingen zijn pterm en mlterm, die zich aan de standaarden houden en dergelijke regels rechts uitlijnen.<\/p>\n<p><img decoding=\"async\" alt=\"Overzicht van terminalemulators\" src=\"\/wp-content\/uploads\/2019\/08\/a32675d44e7cadce6d197d6eb5c8d9e2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h4>Bescherming tegen plakken<\/h4>\n<p>\nDe volgende kritische functie die ik voor mezelf heb vastgesteld, is de bescherming tegen plakken. Hoewel algemeen bekend is dat commando's zoals:<\/p>\n<pre><code class=\"plaintext\">$ curl http:\/\/example.com\/ | sh<\/code><\/pre>\n<p>\nuitvoerbare code push-commando's zijn, weet weinig mensen dat verborgen commando's de console kunnen binnendringen bij het kopi\u00ebren-plakken vanuit een webbrowser, zelfs na zorgvuldige inspectie. <noindex><a rel=\"nofollow\" href=\"http:\/\/thejh.net\/misc\/website-terminal-copy-paste\">Controlewebsite van Gianna Horne<\/a><\/noindex> toont perfect aan hoe een ogenschijnlijk onschuldige opdracht:<\/p>\n<pre><code class=\"plaintext\">git clone git:\/\/git.kernel.org\/pub\/scm\/utils\/kup\/kup.git<\/code><\/pre>\n<p>\nbij het plakken vanuit Horne's site in de terminal zo'n probleem kan veroorzaken:<\/p>\n<pre><code class=\"plaintext\">git clone \/dev\/null;\n    clear;\n\techo -n \"Hallo \";\n\twhoami|tr -d 'n';\n\techo -e '!nDat was een slecht idee. Kopieer geen code van websites die je niet vertrouwt! \n\tHier is de eerste regel van je \/etc\/passwd: ';\n\thead -n1 \/etc\/passwd\n\tgit clone git:\/\/git.kernel.org\/pub\/scm\/utils\/kup\/kup.git<\/code><\/pre>\n<p>\nHoe werkt dit? Kwaadaardige code wordt in een blok <b><span><\/b>, dat uit het gezichtsveld van de gebruiker wordt verplaatst met behulp van CSS.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/cirw.in\/blog\/bracketed-paste\">Bracketed paste-modus<\/a><\/noindex> is duidelijk ontworpen om dergelijke aanvallen te neutraliseren. In deze modus omhullen terminals de ingevoegde tekst in een paar speciale escape-sequenties om de shell over de oorsprong van deze tekst te informeren. Zo krijgt de shell het signaal dat het speciale tekens kan negeren die mogelijk in de ingevoerde tekst aanwezig zijn. Alle terminals, tot aan de eerbiedwaardige xterm, ondersteunen deze functie, maar plakken in Bracketed-modus vereist ondersteuning van de shell of applicatie die op de terminal draait. Bijvoorbeeld, software die gebruik maakt van <noindex><a rel=\"nofollow\" href=\"https:\/\/tiswww.case.edu\/php\/chet\/readline\/rltop.html\">GNU Readline<\/a><\/noindex> (dezelfde Bash), heeft een bestand nodig <b>~ \/.inputrc<\/b>:<\/p>\n<pre><code class=\"plaintext\">set enable-bracketed-paste on<\/code><\/pre>\n<p>\nHelaas toont de testsite van Horna ook hoe je deze beveiliging kunt omzeilen via de opmaak van de tekst en voortijdig het gebruik van de Bracketed-modus kunt be\u00ebindigen. Dit werkt omdat sommige terminals escape-sequenties niet correct filteren voordat ze hun eigen toevoegen. Bijvoorbeeld, in mijn geval kon ik de tests van Konsole niet succesvol afsluiten, zelfs niet met een correcte configuratie. <b>.inputrc<\/b> bestand. Dit betekent dat je gemakkelijk beschadigingen aan de systeemconfiguratie kunt oplopen door een niet-ondersteund programma of een foutief geconfigureerde shell. Dit is vooral gevaarlijk bij toegang tot externe servers, waar een zorgvuldige configuratie minder gebruikelijk is, zeker als je veel van zulke externe machines hebt.<\/p>\n<p>Een goede oplossing voor dit probleem is de invoegtoepassing voor knippen en plakken voor de terminal <b>urxvt<\/b>, die gewoon om toestemming vraagt voor het plakken van elke tekst die nieuwe regels bevat. Een veiligere optie voor de tekstaanval zoals beschreven door Horna heb ik niet gevonden.<\/p>\n<h4>Tabs en profielen<\/h4>\n<p>\nEen momenteel populaire functie is de ondersteuning van een tabbladinterface, die we zouden defini\u00ebren als \u00e9\u00e9n terminalvenster dat meerdere terminals bevat. Deze functie verschilt per terminal en hoewel traditionele terminals zoals xterm tabbladen helemaal niet ondersteunen, hebben modernere versies zoals Xfce Terminal, GNOME Terminal en Konsole deze functie wel. Urxvt ondersteunt ook tabs, maar alleen bij gebruik van een plug-in. Maar qua tabbladondersteuning is Terminator de onbetwiste leider: het ondersteunt niet alleen tabs, maar kan ook terminals in willekeurige volgorde plaatsen (zie afbeelding hieronder).<\/p>\n<p><img decoding=\"async\" alt=\"Overzicht van terminalemulators\" src=\"\/wp-content\/uploads\/2019\/08\/5ac2cdbdd969420cd7c19597d20c8c35.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEen andere functie van Terminator is de mogelijkheid om deze tabs 'te groeperen' en dezelfde toetsindrukken naar meerdere terminals tegelijkertijd te sturen, wat een ruwe tool biedt voor het uitvoeren van massabewerkingen op meerdere servers tegelijkertijd. Een soortgelijke functie is ook ge\u00efmplementeerd in Konsole. Voor gebruik van deze functie in andere terminals is het nodig om externe software te gebruiken, zoals <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> of <noindex><a rel=\"nofollow\" href=\"https:\/\/tmux.github.io\/\">tmux<\/a><\/noindex>.<\/p>\n<p>Tabs work especially well in conjunction with profiles: for instance, you might have one tab for email, another for chat, and so on. This is well supported by the Konsole and GNOME Terminal. Both allow each tab to automatically launch its profile. Terminator also supports profiles, but I couldn't find a way to automatically run specific programs when opening a certain tab. Other terminals do not even recognize the concept of a 'profile'.<\/p>\n<h4>Ruffles<\/h4>\n<p>\nThe last thing I will consider in the first part of this article is the appearance of terminals. For example, GNOME, Xfce, and urxvt support transparency, but recently dropped support for background images, which forced some users to switch to another terminal. <noindex><a rel=\"nofollow\" href=\"https:\/\/gnunn1.github.io\/tilix-web\/\">Tilix<\/a><\/noindex>. Personally, I am fine with just <b>Xresources<\/b>, which sets the basic background color set for urxvt. However, non-standard color themes can also create issues. For instance, <noindex><a rel=\"nofollow\" href=\"http:\/\/ethanschoonover.com\/solarized\">Solarized<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/altercation\/solarized\/issues\/220\">niet werkt<\/a><\/noindex> with applications <noindex><a rel=\"nofollow\" href=\"http:\/\/hisham.hm\/htop\/\">htop<\/a><\/noindex> en <noindex><a rel=\"nofollow\" href=\"http:\/\/iptraf.seul.org\/\">IPTraf<\/a><\/noindex>, as they already use their own colors.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/VT100\">The original VT100 terminal<\/a><\/noindex> did not support colors, while newer ones were often limited to a 256-color palette. For advanced users who style their terminals in complex ways, shell requests or status lines can become a frustrating limitation. <noindex><a rel=\"nofollow\" href=\"https:\/\/gist.github.com\/XVilka\/8346728\">Gist<\/a><\/noindex> tracks which terminals have 'True Color' support. My tests confirm that st, Alacritty, and VTE-based terminals handle True Color very well. Other terminals are not doing well in this regard and actually do not display even 256 colors. Below you can see the difference in True Color support among GNOME, st, and xterm terminals, which perform decently with their 256-color palette, compared to urxvt, which not only fails the test but even shows some flickering characters instead.<\/p>\n<p><img decoding=\"async\" alt=\"Overzicht van terminalemulators\" src=\"\/wp-content\/uploads\/2019\/08\/bc6ceac84a1918b9bfa14a5cadd28746.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSome terminals also analyze text for URL patterns to make links clickable. This applies to all VTE-derived terminals, while urxvt requires a special plugin that transforms URLs on click or via a keyboard shortcut. Other terminals I tested display URLs in different ways.<\/p>\n<p>Ten slotte is een nieuwe trend bij terminals de optionele scrollbuffer. Bijvoorbeeld, in st is er geen scrollbuffer; het is de bedoeling dat de gebruiker een terminalmultiplexer zoals tmux gebruikt en <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gnu.org\/software\/screen\/\">GNU Screen<\/a><\/noindex>.<\/p>\n<p>Bij Alacritty ontbreken ook de reverse scrollbuffers, maar <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jwilm\/alacritty\/issues\/124\">zal deze binnenkort worden toegevoegd<\/a><\/noindex> ondersteuning door 'uitgebreide feedback' van gebruikers over dit onderwerp. Behalve deze uitzonderingen ondersteunt elke terminal die ik heb onderzocht om te vinden, terugscrollen.<\/p>\n<h4>Tussenstand<\/h4>\n<p>\nIn het tweede deel van het materiaal (<i>in het origineel waren dit twee verschillende artikelen, \u2014 opmerking van de vertaler.<\/i>) vergelijken we de prestaties, geheugengebruik en latentie. Maar we zien al dat sommige van de onderzochte terminals ernstige tekortkomingen vertonen. Gebruikers die regelmatig met RTL-scripts werken, kunnen letten op mlterm en pterm, omdat zij beter met deze taken omgaan. Konsole heeft zich ook goed bewezen. Gebruikers die niet met RTL-scripts werken, kunnen iets anders kiezen.<\/p>\n<p>Vanuit het perspectief van bescherming tegen het injecteren van malware steekt urxvt er met zijn unieke implementatie van bescherming tegen dit soort aanvallen met kop en schouders bovenuit, wat ik zeker handig vind. Degenen die op zoek zijn naar enkele franje, moeten naar Konsole kijken. Tot slot moet opgemerkt worden dat VTE een uitstekende basis biedt voor terminals, die ondersteuning voor kleuren, URL-herkenning, enzovoorts garandeert. Op het eerste gezicht lijkt de standaardterminal die met je favoriete omgeving wordt geleverd aan alle eisen te voldoen, maar laten we deze kwestie openlaten totdat we de prestaties hebben beoordeeld.<\/p>\n<p><i><\/p>\n<h4>Laten we het gesprek voortzetten<\/h4>\n<p><\/i><br \/>\nOver het algemeen lijkt de prestatie van terminals een probleem te zijn dat te veel aandacht krijgt, maar zoals bleek, vertonen sommige van hen verrassend veel latentie voor software van zo'n fundamentele aard. Verder zullen we kijken naar wat traditioneel 'snelheid' wordt genoemd (in feite is dit de scrollsnelheid) en het geheugenverbruik van de terminal (met de kanttekening dat dit tegenwoordig niet zo kritisch is als decennia geleden).<\/p>\n<h4>Vertraging<\/h4>\n<p>\nNa grondig onderzoek naar de prestaties van terminals ben ik tot de conclusie gekomen dat de belangrijkste parameter op dit gebied de grootte van de latentie (ping) is. In mijn artikel <noindex><a rel=\"nofollow\" href=\"https:\/\/pavelfatin.com\/typing-with-pleasure\/\">\u00abWe print with pleasure\u00bb<\/a><\/noindex> Pavel Fatin examined the delay of various text editors and hinted that terminals might operate slower than the fastest text editors. This hint ultimately led me to run my own tests and write this article.<\/p>\n<p>But what is delay, and why is it so important? In his article, Fatin defined it as \"the delay between pressing a key and the corresponding update on the screen\" and quoted <noindex><a rel=\"nofollow\" href=\"https:\/\/books.google.com\/books\/about\/Handbook_of_Human_Computer_Interaction.html?id=WuQbERgXR10C&amp;redir_esc=y\">\u00abThe Guide to Human-Computer Interaction\u00bb<\/a><\/noindex>, which states: \"The delay in visual feedback on a computer display has a significant impact on the typist's behavior and their satisfaction.\"<\/p>\n<p>Fatin explains that such ping has deeper consequences than just satisfaction: \"typing becomes slower, more errors occur, and eye and muscle tension increases.\" In other words, greater delay can lead to typos and reduced code quality, as it adds cognitive load on the brain. But worse still, ping \"increases eye and muscle tension,\" which apparently implies <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Repetitive_strain_injury\">the development of professional injuries<\/a><\/noindex> in the future (<i>presumably, the author refers to issues with eye muscles, back, hands, and, of course, vision \u2014 note from the translator.<\/i>) due to repetitive strain.<\/p>\n<p>Some of these effects have been known for a long time, and the results <noindex><a rel=\"nofollow\" href=\"https:\/\/doi.org\/10.1080\/00140137608931531\">onderzoeken<\/a><\/noindex>, published as early as 1976 in the journal Ergonomics, indicate that a delay of 100 milliseconds \"significantly impairs typing speed.\" Recently, the GNOME user guide included <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.gnome.org\/hig-book\/3.12\/feedback-response-times.html.en\">acceptable response time<\/a><\/noindex> of 10 milliseconds, and if we go further, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=vOvQCPLkPt4\">Microsoft Research<\/a><\/noindex> shows that the ideal is 1 millisecond.<\/p>\n<p>Fatin conducted his tests on text editors; he created a portable tool called <noindex><a rel=\"nofollow\" href=\"https:\/\/pavelfatin.com\/typometer\">Typometer<\/a><\/noindex>, die ik heb gebruikt om de ping in terminalemulators te controleren. Houd er rekening mee dat de test werd uitgevoerd in simulatiemodus: in werkelijkheid moeten we ook de invoervertraging (toetsenbord, USB-controller, enzovoort) en uitvoervertraging (videokaartbuffer, monitor) in aanmerking nemen. Volgens Fatin ligt deze bij typische configuraties rond de 20 ms. Met gamingapparatuur kan dit tot slechts 3 milliseconden worden verlaagd. Aangezien we al zo'n snelle apparatuur hebben, zou de applicatie geen extra vertraging moeten introduceren. Fatins doel is om de applicatietijd te laten dalen tot 1 milliseconde of zelfs een set zonder <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jetbrains.com\/idea\/2015\/08\/experimental-zero-latency-typing-in-intellij-idea-15-eap\/\">meetbare vertraging<\/a><\/noindex>, zoals in <noindex><a rel=\"nofollow\" href=\"https:\/\/confluence.jetbrains.com\/display\/IDEADEV\/IDEA+15+EAP\">IntelliJ IDEA 15<\/a><\/noindex>.<\/p>\n<p>Hier zijn de resultaten van mijn metingen, evenals enkele resultaten van Fatin om aan te tonen dat mijn experiment in overeenstemming is met zijn tests:<\/p>\n<p><img decoding=\"async\" alt=\"Overzicht van terminalemulators\" src=\"\/wp-content\/uploads\/2019\/08\/d7ae46c8309e9cfd517164d5fed093f7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHet eerste dat me opviel, was de betere responstijd van oude programma's zoals xterm en mlterm. Ondanks de slechtste registratietijd (2,4 ms) lieten zij betere resultaten zien dan de snelste moderne terminal (10,6 ms voor st). Geen enkele moderne terminal komt onder de drempel van 10 milliseconden. In het bijzonder voldoet Alacritty niet aan de eisen van 'snelste terminal emulator die er bestaat', hoewel de resultaten zijn verbeterd sinds de eerste controle in 2017. De auteurs van het project <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jwilm\/alacritty\/issues\/673\">zijn zich bewust van de situatie<\/a><\/noindex> en werken aan verbeteringen in de weergave. Ook is het belangrijk om op te merken dat Vim, dat GTK3 gebruikt, aanzienlijk trager is dan zijn GTK2-tegenhanger. Hieruit kunnen we concluderen dat GTK3 extra vertraging introduceert, wat invloed heeft op alle andere terminals die het gebruiken (Terminator, Xfce4 Terminal en GNOME Terminal).<\/p>\n<p>Echter, voor het oog kunnen de verschillen onopgemerkt blijven. Zoals Fatin uitlegt: 'het is niet nodig om zich bewust te zijn van een vertraging om effect op je te hebben'. Fatin wijst ook op de standaardafwijking: 'elke schommeling in de duur van de vertraging (trilling) cre\u00ebert extra belasting door hun onvoorspelbaarheid'.<\/p>\n<p><img decoding=\"async\" alt=\"Overzicht van terminalemulators\" src=\"\/wp-content\/uploads\/2019\/08\/e128a7e6c32a1517c98ffc612fe09128.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDe bovenstaande grafiek is verkregen op een schone Debian 9 (stretch) met <noindex><a rel=\"nofollow\" href=\"https:\/\/i3wm.org\/\">i3 window manager<\/a><\/noindex>. Deze omgeving levert de beste resultaten in latency-testen. Blijkbaar cre\u00ebert GNOME een extra ping van 20 ms voor alle metingen. Een mogelijke verklaring hiervoor is de aanwezigheid van programma's die input-events synchroon verwerken. Fatin geeft hiervoor een voorbeeld. <noindex><a rel=\"nofollow\" href=\"http:\/\/www.workrave.org\/\">Workrave<\/a><\/noindex>, dat vertraging toevoegt door alle input-events synchroon te verwerken. Standaard is GNOME ook uitgerust met de vensterbeheerder <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Mutter_(software)\">Mutter<\/a><\/noindex>, die een extra bufferingsniveau cre\u00ebert, wat invloed heeft op de ping en minimaal 8 milliseconden vertraging toevoegt.<\/p>\n<p><img decoding=\"async\" alt=\"Overzicht van terminalemulators\" src=\"\/wp-content\/uploads\/2019\/08\/3585d1edf4cee214d7a53858943b1845.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h4>Scrollsnelheid<\/h4>\n<p>\nDe volgende test is een traditionele controle van de \"snelheid\" of \"bandbreedte\", die meet hoe snel een terminal een pagina kan scrollen door een grote hoeveelheid tekst op het scherm weer te geven. De testmechanica varieert; de originele test bestond eruit om simpelweg dezelfde tekstregel te genereren met de seq-opdracht. Andere tests omvatten de controle van Thomas E. Dick (de begeleidende xterm), waarbij herhaaldelijk <noindex><a rel=\"nofollow\" href=\"https:\/\/invisible-island.net\/xterm\/xterm.faq.html#scroll_speed\">het bestand terminfo.src wordt gedumpt.<\/a><\/noindex>In een andere beoordeling van terminalprestaties <noindex><a rel=\"nofollow\" href=\"https:\/\/danluu.com\/term-latency\/\">Den Luu<\/a><\/noindex> gebruikt een string van willekeurige bytes in base32-codering, die wordt weergegeven in de terminal met behulp van cat. Luu beschouwt deze test als \"zo'n nutteloze benchmark als je je maar kunt voorstellen\" en stelt voor om in plaats daarvan de respons van de terminal als belangrijkste indicator te gebruiken. Dick noemt zijn test ook misleidend. Desondanks erkennen beide auteurs dat de bandbreedte van het terminalvenster een probleem kan zijn. Luu ontdekte een bevriezing van Emacs Eshell bij het weergeven van grote bestanden, terwijl Dick de terminal optimaliseerde om de visuele traagheid van xterm te verhelpen. Daarom is er in deze test nog steeds enige reden om het te gebruiken, maar aangezien het rendert proces sterk varieert van terminal tot terminal, kan het ook worden gebruikt als een testcomponent om andere parameters te controleren.<\/p>\n<p><img decoding=\"async\" alt=\"Overzicht van terminalemulators\" src=\"\/wp-content\/uploads\/2019\/08\/3231877fdcd7725c3248fb393185ece4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHier zien we dat rxvt en st de concurrentie voorblijven, gevolgd door het veel recentere Alacritty, dat is ontwikkeld met een focus op snelheid. Vervolgens komen Xfce (VTE-familie) en Konsole, die bijna twee keer zo snel werken. Laatst is xterm met een score die vijf keer langzamer is dan rxvt. Tijdens de test vertoonde xterm ook veel rimpeling, de doorlopende tekst was moeilijk te onderscheiden, zelfs als het dezelfde regel was. Konsole bleek snel te zijn, maar \u2018bedrogde\u2019 soms: het scherm bevroor af en toe, waardoor de tekst gedeeltelijk of helemaal niet werd weergegeven. Andere terminals gaven de regels duidelijk weer, waaronder st, Alacritty en rxvt.<\/p>\n<p>Diki legt uit dat de verschillen in prestaties te maken hebben met het ontwerp van de scrolbuffers in verschillende terminals. In het bijzonder beschuldigt hij rxvt en andere terminals ervan dat ze \"niet de algemene regels volgen\":<\/p>\n<blockquote><p>\u201eIn tegenstelling tot xterm, probeerde rxvt niet alle updates weer te geven. Als hij achterbleef, zou hij sommige updates negeren om het in te halen. Dit had een grotere invloed op de schijnbare snelheid van de scroll dan op de organisatie van het interne geheugen. Een nadeel was dat de ASCII-animatie enigszins onnauwkeurig was.\u201d<\/p><\/blockquote>\n<p>\nOm deze schijnbare traagheid van xterm te verhelpen, stelt Diki voor om de hulpbron <noindex><a rel=\"nofollow\" href=\"https:\/\/invisible-island.net\/xterm\/manpage\/xterm.html#VT100-Widget-Resources:fastScroll\">fastScroll<\/a><\/noindex>te gebruiken, waarmee xterm sommige schermupdates kan negeren om niet achter te raken op de stroom. Mijn tests bevestigen dat fastScroll de prestaties verbetert en xterm op een niveau brengt met rxvt. Dit is echter een vrij brutale oplossing, zoals Diki zelf uitlegt: \u2018soms lijkt xterm - net als konsole - stil te staan, omdat hij wacht op een nieuwe set schermupdates, nadat sommige zijn verwijderd.\u2019 In dit licht lijkt het erop dat andere terminals de beste compromis hebben gevonden tussen snelheid en de integriteit van het display.<\/p>\n<h4>Hulpgebruik<\/h4>\n<p>\nOngeacht de doeltreffendheid van het overwegen van de scrollsnelheid als prestatiemetriek, maakt deze test het mogelijk om de belasting op de terminals te simuleren, wat op zijn beurt ons in staat stelt om andere parameters te meten, zoals het gebruik van geheugen of schijf. De metrieken zijn verkregen door de gespecificeerde test uit te voeren <b>seq<\/b> onder procesmonitoring van Python. Dit verzamelde gegevens van de tellers <noindex><a rel=\"nofollow\" href=\"http:\/\/man7.org\/linux\/man-pages\/man2\/getrusage.2.html\">getrusage ()<\/a><\/noindex> voor <b>ru_maxrss<\/b>, de som <b>ru_oublock<\/b> en <b>ru_inblock<\/b> en een eenvoudige tijdtimer.<\/p>\n<p><img decoding=\"async\" alt=\"Overzicht van terminalemulators\" src=\"\/wp-content\/uploads\/2019\/08\/df378c145a559ed4aad98fa70b58c72c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn deze test staat ST op de eerste plaats met het laagste gemiddelde geheugengebruik van 8 MB, wat niet verwonderlijk is gezien het hoofddoel van het project eenvoud is. Iets meer verbruiken mlterm, xterm en rxvt \u2014 ongeveer 12 MB. Een andere opvallende uitkomst is Alacritty, dat 30 MB vereist om te functioneren. Vervolgens komen de terminals van het VTE-boek met verbruiken van 40 tot 60 MB, wat vrij veel is. Dit grote verbruik kan worden verklaard doordat deze terminals gebruikmaken van complexere bibliotheken, zoals GTK. Konsole eindigt als laatste met een enorm verbruik van 65 MB geheugen tijdens de tests, hoewel dit verantwoord kan worden door de uitgebreide set functionaliteiten.<\/p>\n<p>In vergelijking met de eerdere resultaten van tien jaar geleden, verbruiken alle programma's nu aanzienlijk meer geheugen. Voorheen vereiste Xterm 4 MB, en nu 15 MB alleen al voor het opstarten. Een soortgelijke toename in verbruik is ook zichtbaar bij rxvt, dat nu standaard 16 MB vereist. De Xfce-terminal verbruikt 34 MB, wat drie keer zoveel is als vroeger, terwijl GNOME Terminal slechts 20 MB vereist. Natuurlijk zijn alle eerdere tests uitgevoerd op een 32-bits architectuur. Op LCA 2012 zei Rusty Russell. <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/477155\/\">Met als gevolg dat de beschikbaarheid van IPv4 verder vermindert.<\/a><\/noindex>, dat er talloze subtiele redenen zijn die de toename van het geheugengebruik kunnen verklaren. Desondanks leven we in een tijd waarin we beschikken over hele gigabytes aan geheugen, dus we zullen er wel mee omgaan.<\/p>\n<p>Desondanks kan ik de indruk niet loslaten dat het toewijzen van meer geheugen aan zo'n fundamenteel stuk software als een terminal een verspilling van middelen is. Deze programma's zouden de kleinste van de kleinste moeten zijn, in staat om op elke \"doos\" te draaien, zelfs een schoendoos, als we ooit zover komen dat ze uitgerust moeten worden met Linux-systemen (en je weet dat dat zal gebeuren). Maar met deze cijfers wordt geheugengebruik in de toekomst een probleem in elke omgeving bij het draaien van meerdere terminals, behalve in de situatie met een paar van de lichtste en meest beperkte opties. Om dit te compenseren hebben GNOME Terminal, Konsole, urxvt, Terminator en Xfce Terminal een daemon-modus, waarmee meerdere terminals via \u00e9\u00e9n proces kunnen worden beheerd, wat hun geheugengebruik beperkt.<\/p>\n<p><img decoding=\"async\" alt=\"Overzicht van terminalemulators\" src=\"\/wp-content\/uploads\/2019\/08\/65ade9cc81284f24f0c44322eec73ef0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTijdens mijn tests kwam ik tot een onverwacht resultaat met betrekking tot de schijfleessnelheid: ik verwachtte hier helemaal niets te zien, maar het blijkt dat sommige terminals de grootste hoeveelheden gegevens op de schijf schrijven. Zo houdt de VTE-bibliotheek feitelijk een scrollbuffer op de schijf (dit kenmerk <noindex><a rel=\"nofollow\" href=\"https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=631685\">werd al opgemerkt in 2010<\/a><\/noindex>, en dit gebeurt nog steeds). Maar in tegenstelling tot oude implementaties zijn deze gegevens nu ten minste versleuteld met AES256 GCM (<noindex><a rel=\"nofollow\" href=\"https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=664611#c48\">sinds versie 0.39.2<\/a><\/noindex>). Maar er rijst een legitieme vraag: wat is er zo bijzonder aan de VTE-bibliotheek dat deze een dergelijke ongewone aanpak voor implementatie vereist\u2026<\/p>\n<h4>Conclusie<\/h4>\n<p>\nIn het eerste deel van het artikel ontdekten we dat terminals op basis van VTE een goede set functies hebben, maar nu zien we dat dit gepaard gaat met bepaalde kosten om hun prestaties te waarborgen. Momenteel is geheugen geen probleem, omdat alle VTE-terminals kunnen worden beheerd via een Daemon-proces dat hun behoeften beperkt. Desondanks kunnen oudere systemen, die fysieke beperkingen hebben ten aanzien van de hoeveelheid RAM en kernelbuffer, nog steeds behoefte hebben aan eerdere versies van terminals, omdat deze aanzienlijk minder middelen verbruiken. Hoewel VTE-terminals goed presteerden in tests op doorvoersnelheid (scrollen), ligt de vertragingsweergave van gegevens op het scherm boven de vastgestelde drempel in de gebruikershandleiding van GNOME. Vermoedelijk moeten de ontwikkelaars van VTE hier rekening mee houden. Gezien het feit dat zelfs voor beginnende Linux-gebruikers een ontmoeting met de terminal onontkoombaar is, kunnen ze het gebruiksvriendelijker maken. Voor ervaren gebruikers kan de overgang van de standaardterminal zelfs een vermindering van de belasting van de ogen betekenen en de mogelijkheid bieden om professionele verwondingen en aandoeningen in de toekomst te vermijden door langdurige werkuren. Helaas brengen alleen de oudere xterm en mlterm ons naar de magische pingdrempel van 10 milliseconden, wat voor velen onaanvaardbaar is.<\/p>\n<p>Controlemetingen hebben ook aangetoond dat ontwikkelaars door de ontwikkeling van grafische omgevingen in Linux een aantal compromissen moesten sluiten. Sommige gebruikers zouden moeten kijken naar de reguliere windowmanagers, aangezien deze een aanzienlijke vermindering van de ping bieden. Helaas kon ik voor Wayland de vertraging niet meten: het programma Typometer dat ik gebruikte, was ontworpen om precies dat te voorkomen waar Wayland voor bedoeld is \u2014 het bespioneren van andere vensters. Ik hoop dat de compositing van Wayland qua prestaties beter is dan X.org, en ik hoop ook dat in de toekomst iemand een manier vindt om het niveau van vertraging in deze omgeving te evalueren.<br \/>\n<br \/>Bron: <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\/nl\/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=\"nl_NL\" \/>\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\/nl\/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\udd47Overzicht van terminalemulators | ProHoster","description":"Een paar woorden van ons vertaalbureau: doorgaans streven we ernaar om de meest recente materialen en publicaties te vertalen, en wij vormen daarop geen uitzondering. Maar terminalemulators zijn niet iets dat elke week wordt bijgewerkt.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/obzor-emulyatorov-terminala","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/37222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=37222"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/37222\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/27911"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=37222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=37222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=37222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}