{"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\/de\/blog\/administrirovanie\/obzor-emulyatorov-terminala","title":{"rendered":"\u00dcbersicht \u00fcber Terminalemulatoren","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Ein paar Worte von unserem \u00dcbersetzungsb\u00fcro: \u00dcblicherweise streben alle danach, die aktuellsten Materialien und Publikationen zu \u00fcbersetzen, und wir sind da keine Ausnahme. Aber Terminals sind nicht etwas, das w\u00f6chentlich aktualisiert wird. Daher haben wir den Artikel von Antoine Beaupr\u00e9 \u00fcbersetzt, der im Fr\u00fchjahr 2018 ver\u00f6ffentlicht wurde. Trotz eines f\u00fcr moderne Verh\u00e4ltnisse \"hohen Alters\" hat das Material unserer Meinung nach nicht an Relevanz verloren. Au\u00dferdem handelt es sich im Original um eine Reihe von zwei Artikeln, aber wir haben beschlossen, sie in einem gro\u00dfen Beitrag zusammenzufassen.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"\u00dcbersicht \u00fcber Terminalemulatoren\" src=\"\/wp-content\/uploads\/2019\/08\/23b2893d4d23ee402f42f8d686fec788.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTerminals nehmen einen besonderen Platz in der Computergeschichte ein, aber in den letzten Jahrzehnten waren sie \"gezwungen\", zusammen mit der Kommandozeile zu \u00fcberleben, w\u00e4hrend grafische Benutzeroberfl\u00e4chen zunehmend Verbreitung fanden. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Terminal_emulator\">Terminalemulatoren<\/a><\/noindex> haben ihre <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Computer_terminal\">hardwareseitigen Kollegen<\/a><\/noindex>, die ihrerseits Modifikationen von Systemen auf Lochkarten und Relais waren. Moderne Distributionen kommen mit einer Vielzahl von Terminalemulatoren in allen Formen und Farben. W\u00e4hrend viele einfach mit dem Standardterminal zufrieden sind, das ihre Arbeitsumgebung bietet, nutzen einige stolz ganz exotische Software, um ihre bevorzugte Shell oder Texteditor zu starten. Aber wie wir in diesem Artikel sehen werden, wurden nicht alle Terminals gleich geschaffen: Sie unterscheiden sich stark in Funktionalit\u00e4t, Gr\u00f6\u00dfe und Leistung.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Einige Terminals weisen direkt erstaunliche Sicherheitsl\u00fccken auf, zudem verf\u00fcgt die Mehrheit \u00fcber v\u00f6llig unterschiedliche Funktionss\u00e4tze, von der Unterst\u00fctzung f\u00fcr Tab-Interfaces bis hin zu Skripten. Obwohl wir <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/88161\/\">Terminalemulatoren in der fernen Vergangenheit betrachtet haben<\/a><\/noindex>, ist dieser Artikel eine Aktualisierung des vorherigen Materials, das den Lesern helfen wird, herauszufinden, welcher Terminal im Jahr 2018 verwendet werden sollte. In der ersten H\u00e4lfte des Artikels werden die Funktionen verglichen, w\u00e4hrend in der zweiten die Leistung bewertet wird.<\/p>\n<p>Hier sind die von mir betrachteten Terminals:<\/p>\n<p><img decoding=\"async\" alt=\"\u00dcbersicht \u00fcber Terminalemulatoren\" src=\"\/wp-content\/uploads\/2019\/08\/be76032ca4392c23dd0c111a36b199ef.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nM\u00f6glicherweise sind dies nicht die neuesten Versionen, da ich mich auf stabile Builds beschr\u00e4nkt habe, die ich zum Zeitpunkt des Schreibens des Materials auf Debian 9 oder Fedora 27 verwenden konnte. Die einzige Ausnahme ist Alacritty. Es ist ein Nachfolger von GPU-beschleunigten Terminals und wurde in einer f\u00fcr diese Aufgabe ungew\u00f6hnlichen und neuen Sprache \u2013 Rust \u2013 geschrieben. Ich habe webbasierte Terminals (einschlie\u00dflich der auf <noindex><a rel=\"nofollow\" href=\"https:\/\/electronjs.org\/\">Electron<\/a><\/noindex>) ausgeschlossen, da erste Tests ihre extrem geringe Leistung gezeigt haben.<\/p>\n<h4>Unicode-Unterst\u00fctzung<\/h4>\n<p>\nIch begann meine Tests mit der Unterst\u00fctzung von Unicode. Der erste Test der Terminals war die Darstellung einer Zeile \u00fcber Unicode aus <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Unicode#Web\">dem Wikipedia-Artikel<\/a><\/noindex>: \"\u00e9, \u0394, \u0419, \u05e7, \u0645, \u0e57, \u3042, \u53f6, \u8449 und \ub9d0\". Dieser einfache Test zeigt, ob das Terminal weltweit korrekt arbeiten kann. Das Terminal xterm zeigt das arabische Zeichen <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Mem\">Mem<\/a><\/noindex> in der Standardkonfiguration nicht an:<\/p>\n<p><img decoding=\"async\" alt=\"\u00dcbersicht \u00fcber Terminalemulatoren\" src=\"\/wp-content\/uploads\/2019\/08\/92e1b9f6e7f3129a55d09cd48310c699.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nStandardm\u00e4\u00dfig verwendet xterm die klassische \"Fixed\"-Schriftart, die, laut <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Open-source_Unicode_typefaces\">genauer gesagt der gleichen Wiki<\/a><\/noindex>, \"seit 1997 einen erheblichen Unicode-Support\" hat. In dieser Schriftart geschieht etwas, das dazu f\u00fchrt, dass Zeichen als leere K\u00e4stchen dargestellt werden, und erst bei einer Vergr\u00f6\u00dferung der Schriftgr\u00f6\u00dfe auf \u00fcber 20 Punkte beginnt das Zeichen richtig angezeigt zu werden. Allerdings verursacht dieser \"Fix\" andere Unicode-Zeichen darzustellen:<\/p>\n<p><img decoding=\"async\" alt=\"\u00dcbersicht \u00fcber Terminalemulatoren\" src=\"\/wp-content\/uploads\/2019\/08\/4300f72d87bb9b729d4c682e876b4998.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDiese Screenshots wurden in Fedora 27 aufgenommen, da diese die besten Ergebnisse lieferte, w\u00e4hrend Debian 9, wo einige alte Versionen von Terminals (insbesondere mlterm) nicht ordnungsgem\u00e4\u00df mit Schriften arbeiten konnten, weniger gut abschnitt. Gl\u00fccklicherweise wurde dies in sp\u00e4teren Versionen behoben.<\/p>\n<p>Beachten Sie nun die Darstellung der Zeile in xterm. Es stellte sich heraus, dass das Zeichen Mem und das folgende semitische <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Qoph\">Qoph<\/a><\/noindex> zu den RTL-Schriftsystemen geh\u00f6ren (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Right-to-left\">von rechts nach links<\/a><\/noindex>), weshalb sie technisch gesehen von rechts nach links angezeigt werden sollten. Webbrowser wie Firefox 57 verarbeiten die obige Zeile korrekt. Eine einfachere Form von RTL-Text ist das Wort \"<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Sarah\">Sara<\/a><\/noindex>\" auf Hebr\u00e4isch (<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\">Die Wiki-Seite \u00fcber bidirektionale Texte<\/a><\/noindex> besagt Folgendes:<\/p>\n<blockquote><p>\"Viele Computerprogramme k\u00f6nnen bidirektionalen Text nicht korrekt darstellen. Zum Beispiel besteht der hebr\u00e4ische Name 'Sara' aus den Zeichen Sin (\u05e9) (das rechts erscheint), dann Resh (\u05e8) und schlie\u00dflich He (\u05d4) (das links erscheinen sollte)\".<\/p><\/blockquote>\n<p>\nViele Terminals bestehen diesen Test nicht: Alacritty, Gnome- und XFCE-basierte VTE-Terminals, urxvt, st und xterm zeigen \u201e\u0421\u0430\u0440\u0430\u201c in umgekehrter Reihenfolge an, als ob wir diesen Namen als \u201e\u0410\u0440\u0430\u0441\u201c notiert haben.<\/p>\n<p><img decoding=\"async\" alt=\"\u00dcbersicht \u00fcber Terminalemulatoren\" src=\"\/wp-content\/uploads\/2019\/08\/9decee6d198bd9d3e4f4883a8f2b0da6.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEin weiteres Problem bei bidirektionalen Texten ist, dass sie irgendwie ausgerichtet werden m\u00fcssen, insbesondere wenn es um die Mischung von RTL- und LTR-Texten geht. RTL-Skripte sollten von der rechten Seite des Terminalfensters ausgef\u00fchrt werden, aber was ist mit Terminals, die standardm\u00e4\u00dfig mit LTR-Englisch arbeiten? Die meisten von ihnen haben keine speziellen Mechanismen und richten den gesamten Text linksb\u00fcndig aus (einschlie\u00dflich Konsole). Eine Ausnahme bilden pterm und mlterm, die sich an die Standards halten und solche Zeilen rechtsb\u00fcndig ausrichten.<\/p>\n<p><img decoding=\"async\" alt=\"\u00dcbersicht \u00fcber Terminalemulatoren\" src=\"\/wp-content\/uploads\/2019\/08\/a32675d44e7cadce6d197d6eb5c8d9e2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h4>Einf\u00fcgeschutz<\/h4>\n<p>\nEin weiteres kritisches Merkmal, das ich f\u00fcr mich definiert habe, ist der Einf\u00fcgeschutz. Es ist allgemein bekannt, dass Befehle wie:<\/p>\n<pre><code class=\"plaintext\">$ curl http:\/\/example.com\/ | sh<\/code><\/pre>\n<p>\nausf\u00fchrbare Code-Push-Befehle sind, aber nur wenige wissen, dass versteckte Befehle beim Kopieren und Einf\u00fcgen aus dem Webbrowser in die Konsole gelangen k\u00f6nnen, selbst nach sorgf\u00e4ltiger Pr\u00fcfung. <noindex><a rel=\"nofollow\" href=\"http:\/\/thejh.net\/misc\/website-terminal-copy-paste\">Testseite von \u0414\u0436\u0430\u043d\u043d \u0425\u043e\u0440\u043d<\/a><\/noindex> zeigt eindrucksvoll, wie scheinbar harmlose Befehle:<\/p>\n<pre><code class=\"plaintext\">git clone git:\/\/git.kernel.org\/pub\/scm\/utils\/kup\/kup.git<\/code><\/pre>\n<p>\nbeim Einf\u00fcgen von \u0425\u043e\u0440\u043d's Website ins Terminal in so einen Schlamassel verwandelt werden:<\/p>\n<pre><code class=\"plaintext\">git clone \/dev\/null;\n    clear;\n\techo -n \"Hello \";\n\twhoami|tr -d 'n';\n\techo -e '!nDas war eine schlechte Idee. Kopiere keinen Code von Websites, denen du nicht vertraust! \n\tHier ist die erste Zeile deiner \/etc\/passwd: ';\n\thead -n1 \/etc\/passwd\n\tgit clone git:\/\/git.kernel.org\/pub\/scm\/utils\/kup\/kup.git<\/code><\/pre>\n<p>\nWie funktioniert das? Schadhafter Code wird in einen Block <b><span><\/b>, der mit CSS aus dem Sichtfeld des Benutzers verschoben wird.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/cirw.in\/blog\/bracketed-paste\">Bracketed-Paste-Modus<\/a><\/noindex> ist ausdr\u00fccklich dazu gedacht, solche Angriffe zu neutralisieren. In diesem Modus umschlie\u00dfen Terminals den eingef\u00fcgten Text mit einem Paar spezieller Escape-Sequenzen, um der Shell die Herkunft dieses Textes mitzuteilen. So erh\u00e4lt die Shell das Signal, dass sie spezielle Zeichen ignorieren kann, die der eingef\u00fcgte Text enthalten kann. Alle Terminals, selbst das ehrw\u00fcrdige xterm, unterst\u00fctzen diese Funktion, aber das Einf\u00fcgen im Bracketed-Modus erfordert Unterst\u00fctzung durch die Shell oder die Anwendung, die im Terminal ausgef\u00fchrt wird. Zum Beispiel ben\u00f6tigt Software, die <noindex><a rel=\"nofollow\" href=\"https:\/\/tiswww.case.edu\/php\/chet\/readline\/rltop.html\">GNU Readline<\/a><\/noindex> (dieselbe Bash), eine Datei <b>~ \/.inputrc<\/b>:<\/p>\n<pre><code class=\"plaintext\">set enable-bracketed-paste on<\/code><\/pre>\n<p>\nLeider zeigt die Testseite von Horn auch, wie man diesen Schutz durch die Formatierung des Textes umgehen kann und vorzeitig die Anwendung des Bracketed-Modus beenden kann. Das funktioniert, weil einige Terminals Escape-Sequenzen vor dem Hinzuf\u00fcgen ihrer eigenen nicht korrekt filtern. Zum Beispiel konnte ich in meinen Tests Konsole nicht erfolgreich abschlie\u00dfen, selbst bei korrekter Konfiguration. <b>.inputrc<\/b> Datei. Das bedeutet, dass Sie aufgrund inkompatibler Anwendungen oder einer falsch konfigurierten Shell leicht Systemkonfigurationssch\u00e4den verursachen k\u00f6nnen. Dies ist besonders gef\u00e4hrlich, wenn Sie sich auf Remote-Server einloggen, wo eine sorgf\u00e4ltige Konfiguration seltener anzutreffen ist, insbesondere wenn Sie viele solcher entfernten Maschinen haben.<\/p>\n<p>Eine gute L\u00f6sung f\u00fcr dieses Problem ist das Plugin zur Best\u00e4tigung des Einf\u00fcgens f\u00fcr das Terminal <b>urxvt<\/b>, das einfach um Erlaubnis bittet, um jeden Text einzuf\u00fcgen, der Zeilenumbr\u00fcche enth\u00e4lt. Eine sicherere Variante gegen den von Horn beschriebenen Textangriff habe ich nicht gefunden.<\/p>\n<h4>Tabs und Profile<\/h4>\n<p>\nEine derzeit beliebte Funktion ist die Unterst\u00fctzung einer Schnittstelle mit Tabs, die wir als ein Terminalfenster definieren werden, das mehrere Terminals enth\u00e4lt. Diese Funktion unterscheidet sich zwischen verschiedenen Terminals, und w\u00e4hrend traditionelle Terminals wie xterm \u00fcberhaupt keine Tabs unterst\u00fctzen, haben modernere Terminalinkarnationen wie Xfce Terminal, GNOME Terminal und Konsole diese Funktion. Auch Urxvt unterst\u00fctzt Tabs, jedoch nur, wenn das Plugin verwendet wird. Aber hinsichtlich der Tabunterst\u00fctzung ist Terminator der unbestrittene F\u00fchrer: Es unterst\u00fctzt nicht nur Tabs, sondern kann auch Terminals beliebig anordnen (siehe Bild unten).<\/p>\n<p><img decoding=\"async\" alt=\"\u00dcbersicht \u00fcber Terminalemulatoren\" src=\"\/wp-content\/uploads\/2019\/08\/5ac2cdbdd969420cd7c19597d20c8c35.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEine weitere Funktion von Terminator ist die M\u00f6glichkeit, diese Tabs \u201ezu gruppieren\u201c und dieselben Tasteneingaben gleichzeitig an mehrere Terminals zu senden, was ein grobes Werkzeug f\u00fcr die Durchf\u00fchrung von Massenvorg\u00e4ngen auf mehreren Servern gleichzeitig bereitstellt. Eine \u00e4hnliche Funktion ist auch in Konsole implementiert. Um diese Funktion in anderen Terminals zu nutzen, ist es notwendig, Software von Drittanbietern zu verwenden, wie zum Beispiel <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> oder <noindex><a rel=\"nofollow\" href=\"https:\/\/tmux.github.io\/\">tmux<\/a><\/noindex>.<\/p>\n<p>Besonders gut funktionieren Tabs in Kombination mit Profilen: Zum Beispiel k\u00f6nnen Sie einen Tab f\u00fcr E-Mails, einen anderen f\u00fcr den Chat usw. haben. Dies wird gut vom Konsole- und GNOME-Terminal unterst\u00fctzt. Beide erm\u00f6glichen es, dass jeder Tab automatisch mit seinem eigenen Profil gestartet wird. Terminator unterst\u00fctzt ebenfalls Profile, aber ich konnte keinen Weg finden, bestimmte Programme automatisch zu starten, wenn ein bestimmter Tab ge\u00f6ffnet wird. Andere Terminal-Programme haben \u00fcberhaupt kein Konzept von \"Profilen\".<\/p>\n<h4>R\u00fcschen<\/h4>\n<p>\nDas Letzte, was ich im ersten Teil dieses Artikels betrachten m\u00f6chte, ist das Aussehen von Terminals. Beispielsweise unterst\u00fctzen GNOME, Xfce und urxvt Transparenz, haben aber k\u00fcrzlich die Unterst\u00fctzung f\u00fcr Hintergrundbilder eingestellt, was einige Benutzer dazu veranlasst hat, zu einem Terminal zu wechseln. <noindex><a rel=\"nofollow\" href=\"https:\/\/gnunn1.github.io\/tilix-web\/\">Tilix<\/a><\/noindex>. Pers\u00f6nlich finde ich es auch einfach. <b>Xresources<\/b>, das eine Grundfarbpalette f\u00fcr den Hintergrund von urxvt festlegt. Allerdings k\u00f6nnen benutzerdefinierte Farbschemata ebenfalls Probleme verursachen. Zum Beispiel, <noindex><a rel=\"nofollow\" href=\"http:\/\/ethanschoonover.com\/solarized\">Solarized<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/altercation\/solarized\/issues\/220\">funktioniert nicht<\/a><\/noindex> mit Anwendungen <noindex><a rel=\"nofollow\" href=\"http:\/\/hisham.hm\/htop\/\">htop<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"http:\/\/iptraf.seul.org\/\">IPTraf<\/a><\/noindex>, da sie bereits ihre eigenen Farben verwenden.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/VT100\">Das originale VT100-Terminal<\/a><\/noindex> unterst\u00fctzte keine Farben, und neuere waren oft auf eine 256-Farben-Palette beschr\u00e4nkt. F\u00fcr erfahrene Benutzer, die ihre Terminals mit komplexen Anfragen oder Statuszeilen gestalten, kann dies eine unangenehme Einschr\u00e4nkung darstellen. <noindex><a rel=\"nofollow\" href=\"https:\/\/gist.github.com\/XVilka\/8346728\">Gist<\/a><\/noindex> verfolgt, welche Terminals Unterst\u00fctzung f\u00fcr \"True Color\" haben. Meine Tests best\u00e4tigen, dass st, Alacritty und VTE-basierte Terminals True Color hervorragend unterst\u00fctzen. Andere Terminals haben diesbez\u00fcglich eher schlechte Erfahrungen gemacht und zeigen nicht einmal 256 Farben an. Unten k\u00f6nnen Sie den Unterschied in der Unterst\u00fctzung von True Color zwischen GNOME, st und xterm sehen, die diese Aufgabe mit ihrer 256-Farben-Palette gut bew\u00e4ltigen, und urxvt, das nicht nur den Test nicht besteht, sondern auch einige flackernde Symbole anzeigt.<\/p>\n<p><img decoding=\"async\" alt=\"\u00dcbersicht \u00fcber Terminalemulatoren\" src=\"\/wp-content\/uploads\/2019\/08\/bc6ceac84a1918b9bfa14a5cadd28746.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEinige Terminals analysieren auch den Text auf URL-Muster, um Links klickbar zu machen. Dies gilt f\u00fcr alle von VTE abgeleiteten Terminals, w\u00e4hrend urxvt ein spezielles Plugin ben\u00f6tigt, das die URLs durch einen Klick oder eine Tastenkombination umwandelt. Andere Terminals, die ich getestet habe, zeigen die URLs auf andere Weise an.<\/p>\n<p>Schlie\u00dflich ist der neue Trend bei Terminals die Option auf einen Scrollpuffer. Zum Beispiel gibt es in st keinen Scrollpuffer; es wird angenommen, dass der Benutzer einen Terminal-Multiplexer wie tmux verwendet und <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gnu.org\/software\/screen\/\">GNU Screen<\/a><\/noindex>.<\/p>\n<p>In Alacritty fehlen ebenfalls R\u00fcckscroll-Puffer, jedoch <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jwilm\/alacritty\/issues\/124\">wird dies bald hinzugef\u00fcgt<\/a><\/noindex> aufgrund des \"umfangreichen Feedbacks\" der Benutzer zu diesem Thema. Abgesehen von diesen Ausrei\u00dfern unterst\u00fctzen alle getesteten Terminals, die ich finden konnte, R\u00fcckscrolling.<\/p>\n<h4>Zwischenstand<\/h4>\n<p>\nIm zweiten Teil des Materials (<i>im Original waren das zwei verschiedene Artikel, Anm. d. \u00dcbers.<\/i>) vergleichen wir die Leistung, den Speicherverbrauch und die Latenz. Aber wir sehen bereits, dass einige der betrachteten Terminals ernsthafte M\u00e4ngel aufweisen. Zum Beispiel k\u00f6nnen Benutzer, die regelm\u00e4\u00dfig mit RTL-Skripten arbeiten, auf mlterm und pterm achten, da sie solche Aufgaben besser bew\u00e4ltigen als andere. Auch Konsole hat sich gut geschlagen. Benutzer, die nicht mit RTL-Skripten arbeiten, k\u00f6nnen etwas anderes w\u00e4hlen.<\/p>\n<p>Aus Sicht des Schutzes vor Malware sticht urxvt aufgrund seiner speziellen Implementierung zum Schutz vor dieser Art von Angriffen hervor, die ich als definitiv praktisch empfinde. Wer nach Funktionen sucht, sollte sich Konsole ansehen. Schlie\u00dflich ist VTE eine hervorragende Basis f\u00fcr Terminals, die Unterst\u00fctzung f\u00fcr Farben, die Erkennung von URLs usw. garantiert. Auf den ersten Blick kann das Standardterminal, das mit Ihrer bevorzugten Umgebung geliefert wird, alle Anforderungen erf\u00fcllen, aber wir lassen diese Frage offen, bis wir die Leistung gekl\u00e4rt haben.<\/p>\n<p><i><\/p>\n<h4>Wir setzen das Gespr\u00e4ch fort<\/h4>\n<p><\/i><br \/>\nIm Allgemeinen mag die Leistung von Terminals wie eine erfundene Problematik erscheinen, jedoch zeigen einige von ihnen \u00fcberraschend hohe Latenzen f\u00fcr so grundlegende Software. Au\u00dferdem werden wir uns mit dem besch\u00e4ftigen, was traditionell als \"Geschwindigkeit\" bezeichnet wird (eigentlich ist es die Scrollgeschwindigkeit) und dem Speicherverbrauch des Terminals (mit der \u00dcberlegung, dass dies heute nicht so kritisch ist wie vor Jahrzehnten).<\/p>\n<h4>Latenz<\/h4>\n<p>\nNach eingehender Untersuchung der Leistung von Terminals bin ich zu dem Schluss gekommen, dass die wichtigste Kennzahl in dieser Hinsicht die Gr\u00f6\u00dfe der Latenz (Ping) ist. In meinem Artikel <noindex><a rel=\"nofollow\" href=\"https:\/\/pavelfatin.com\/typing-with-pleasure\/\">\u201eWir drucken mit Freude\u201c<\/a><\/noindex> Pavel Fatin hat die Verz\u00f6gerung verschiedener Texteditoren untersucht und angedeutet, dass Terminals in dieser Hinsicht m\u00f6glicherweise langsamer arbeiten als die schnellsten Texteditoren. Genau dieser Hinweis f\u00fchrte mich schlie\u00dflich dazu, eigene Tests durchzuf\u00fchren und diesen Artikel zu schreiben.<\/p>\n<p>Aber was ist Verz\u00f6gerung und warum ist sie so wichtig? In seinem Artikel definiert Fatin sie als \u201edie Verz\u00f6gerung zwischen dem Dr\u00fccken einer Taste und der entsprechenden Aktualisierung des Bildschirms\u201c und zitiert <noindex><a rel=\"nofollow\" href=\"https:\/\/books.google.com\/books\/about\/Handbook_of_Human_Computer_Interaction.html?id=WuQbERgXR10C&amp;redir_esc=y\">\u201eLeitfaden zur Mensch-Computer-Interaktion\u201c<\/a><\/noindex>, in dem steht: \u201eDie Verz\u00f6gerung bei der visuellen R\u00fcckmeldung auf dem Computerbildschirm hat einen wichtigen Einfluss auf das Verhalten des Benutzers und dessen Zufriedenheit.\u201c<\/p>\n<p>Fatin erkl\u00e4rt, dass ein solches Ping tiefere Konsequenzen hat als nur die Zufriedenheit: \u201eDas Tippen wird langsamer, es treten mehr Fehler auf, die Augen- und Muskelverspannungen nehmen zu.\u201c Mit anderen Worten, eine gr\u00f6\u00dfere Verz\u00f6gerung kann zu Tippfehlern f\u00fchren sowie die Qualit\u00e4t des Codes mindern, da sie eine zus\u00e4tzliche kognitive Belastung f\u00fcr das Gehirn mit sich bringt. Doch noch schlimmer ist, dass das Ping \u201edie Augen- und Muskelverspannungen erh\u00f6ht\u201c, was offenbar darauf hindeutet <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Repetitive_strain_injury\">zu beruflichen Verletzungen<\/a><\/noindex> in der Zukunft (<i>offensichtlich meint der Autor Probleme mit Augen- und R\u00fcckenmuskulatur, H\u00e4nden und nat\u00fcrlich dem Sehen - Anmerkung des \u00dcbersetzers.<\/i>) aufgrund wiederholter Belastungen.<\/p>\n<p>Einige dieser Effekte sind schon lange bekannt, und die Ergebnisse des <noindex><a rel=\"nofollow\" href=\"https:\/\/doi.org\/10.1080\/00140137608931531\">Forschung<\/a><\/noindex>, die bereits 1976 in der Zeitschrift Ergonomics ver\u00f6ffentlicht wurden, zeigen, dass eine Verz\u00f6gerung von 100 Millisekunden \u201edie Tippgeschwindigkeit erheblich beeintr\u00e4chtigt\u201c. Vor kurzem wurde im Benutzerhandbuch von GNOME eine <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.gnome.org\/hig-book\/3.12\/feedback-response-times.html.en\">akzeptable Reaktionszeit<\/a><\/noindex> von 10 Millisekunden festgelegt, und wenn man noch weiter geht, zeigt <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=vOvQCPLkPt4\">Microsoft Research<\/a><\/noindex> , dass das Ideal bei 1 Millisekunde liegt.<\/p>\n<p>Fatin f\u00fchrte seine Tests an Texteditoren durch; er entwickelte ein tragbares Tool namens <noindex><a rel=\"nofollow\" href=\"https:\/\/pavelfatin.com\/typometer\">Typometer<\/a><\/noindex>, den ich zur \u00dcberpr\u00fcfung des Pings in Terminalemulatoren verwendet habe. Bitte beachten Sie, dass der Test im Simulationsmodus durchgef\u00fchrt wurde: In der Realit\u00e4t m\u00fcssen wir auch die Eingangsverz\u00f6gerung (Tastatur, USB-Controller usw.) und die Ausgangsverz\u00f6gerung (Grafikkartenpuffer, Monitor) ber\u00fccksichtigen. Laut Fatin betr\u00e4gt sie in typischen Konfigurationen etwa 20 ms. Mit Gamer-Hardware k\u00f6nnen Werte von nur 3 Millisekunden erreicht werden. Da wir bereits \u00fcber solch schnelle Ger\u00e4te verf\u00fcgen, sollte die Anwendung keine zus\u00e4tzliche Verz\u00f6gerung einf\u00fchren. Fatins Ziel ist es, die Verz\u00f6gerung der Anwendung auf 1 Millisekunde zu bringen oder sogar g\u00e4nzlich ohne auskommend zu erreichen. <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jetbrains.com\/idea\/2015\/08\/experimental-zero-latency-typing-in-intellij-idea-15-eap\/\">messbare Verz\u00f6gerung<\/a><\/noindex>, wie bei <noindex><a rel=\"nofollow\" href=\"https:\/\/confluence.jetbrains.com\/display\/IDEADEV\/IDEA+15+EAP\">IntelliJ IDEA 15<\/a><\/noindex>.<\/p>\n<p>Hier sind die Ergebnisse meiner Messungen sowie einige Resultate von Fatin, um zu zeigen, dass mein Experiment mit seinen Tests \u00fcbereinstimmt:<\/p>\n<p><img decoding=\"async\" alt=\"\u00dcbersicht \u00fcber Terminalemulatoren\" src=\"\/wp-content\/uploads\/2019\/08\/d7ae46c8309e9cfd517164d5fed093f7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas Erste, was mich \u00fcberraschte, war die bessere Reaktionszeit bei \u00e4lteren Programmen wie xterm und mlterm. Trotz der schlechteren Eingangsverz\u00f6gerung (2,4 ms) erzielten sie bessere Ergebnisse als der schnellste moderne Terminal (10,6 ms f\u00fcr st). Kein moderner Terminal erreicht Werte unter 10 Millisekunden. Insbesondere erf\u00fcllt Alacritty nicht die Anforderungen an den 'schnellsten aller existierenden Terminalemulatoren', obwohl sich seine Ergebnisse seit der ersten \u00dcberpr\u00fcfung im Jahr 2017 verbessert haben. In der Tat sind die Autoren des Projekts <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jwilm\/alacritty\/issues\/673\">\u00fcber die Situation informiert<\/a><\/noindex> und arbeiten an der Verbesserung der Darstellung. Es ist auch wichtig zu erw\u00e4hnen, dass Vim, das GTK3 verwendet, um ein Vielfaches langsamer ist als sein GTK2-Ableger. Daraus kann man schlie\u00dfen, dass GTK3 eine zus\u00e4tzliche Verz\u00f6gerung verursacht, die sich auf alle anderen Terminals auswirkt, die es verwenden (Terminator, Xfce4 Terminal und GNOME Terminal).<\/p>\n<p>F\u00fcr das Auge sind die Unterschiede jedoch m\u00f6glicherweise nicht wahrnehmbar. Wie Fatin erkl\u00e4rt: 'Es ist nicht zwingend notwendig, sich der Verz\u00f6gerung bewusst zu sein, damit sie einen Einfluss auf Sie hat.' Fatin warnt auch vor der Standardabweichung: 'Jede Variation in der Dauer der Verz\u00f6gerung (Ruckeln) erzeugt eine zus\u00e4tzliche Belastung aufgrund ihrer Unvorhersehbarkeit.'<\/p>\n<p><img decoding=\"async\" alt=\"\u00dcbersicht \u00fcber Terminalemulatoren\" src=\"\/wp-content\/uploads\/2019\/08\/e128a7e6c32a1517c98ffc612fe09128.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas obige Diagramm wurde auf reinem Debian 9 (stretch) mit <noindex><a rel=\"nofollow\" href=\"https:\/\/i3wm.org\/\">i3 Window-Manager erstellt.<\/a><\/noindex>. Diese Umgebung erzielt die besten Ergebnisse bei Latenztests. Wie sich herausstellte, erzeugt GNOME einen zus\u00e4tzlichen Ping von 20 ms f\u00fcr alle Messungen. Eine m\u00f6gliche Erkl\u00e4rung daf\u00fcr ist die Anwesenheit von Programmen mit synchroner Verarbeitung von Eingabeveranstaltungen. Fatin nennt in diesem Fall ein Beispiel. <noindex><a rel=\"nofollow\" href=\"http:\/\/www.workrave.org\/\">Workrave<\/a><\/noindex>, das Verz\u00f6gerungen hinzuf\u00fcgt, indem es alle Eingabeereignisse synchron verarbeitet. Standardm\u00e4\u00dfig ist GNOME auch mit einem Fenstermanager <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Mutter_(software)\">Mutter<\/a><\/noindex>, ausgestattet, der eine zus\u00e4tzliche Pufferungsebene erstellt, was sich auf den Ping auswirkt und mindestens 8 Millisekunden Verz\u00f6gerung hinzuf\u00fcgt.<\/p>\n<p><img decoding=\"async\" alt=\"\u00dcbersicht \u00fcber Terminalemulatoren\" src=\"\/wp-content\/uploads\/2019\/08\/3585d1edf4cee214d7a53858943b1845.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h4>Bildlaufgeschwindigkeit<\/h4>\n<p>\nDer n\u00e4chste Test ist ein traditioneller Test der \u201eGeschwindigkeit\u201c oder \u201eBandbreite\u201c, der misst, wie schnell das Terminal eine Seite scrollen kann, w\u00e4hrend es eine gro\u00dfe Menge an Text auf dem Bildschirm anzeigt. Die Mechanik des Tests variiert; der urspr\u00fcngliche Test bestand darin, einfach dieselbe Textzeile mit dem Befehl seq zu erzeugen. Andere Tests umfassen die \u00dcberpr\u00fcfung von Thomas E. Dick, bei dem mehrfach <noindex><a rel=\"nofollow\" href=\"https:\/\/invisible-island.net\/xterm\/xterm.faq.html#scroll_speed\">die Datei terminfo.src<\/a><\/noindex>ausgelagert wird. In einer weiteren Leistungs\u00fcbersicht von Terminals <noindex><a rel=\"nofollow\" href=\"https:\/\/danluu.com\/term-latency\/\">Den Liu<\/a><\/noindex> verwendet eine Reihe zuf\u00e4lliger Bytes in Base32-Codierung, die mit cat im Terminal ausgegeben wird. Liu betrachtet diesen Test als \u201eso nutzlosen Ma\u00dfstab, wie man sich nur vorstellen kann\u201c und schl\u00e4gt vor, stattdessen die Reaktionszeit des Terminals als Hauptindikator zu verwenden. Dick bezeichnet auch seinen Test als irref\u00fchrend. Dennoch erkennen beide Autoren an, dass die Bandbreite des Terminalfensters problematisch sein kann. Liu stellte ein H\u00e4ngenbleiben von Emacs Eshell bei gro\u00dfen Dateien fest, w\u00e4hrend Dick das Terminal optimierte, um visuelle Verz\u00f6gerungen von xterm zu beseitigen. Daher hat dieser Test immer noch einen gewissen Sinn, aber da der Renderprozess von Terminal zu Terminal stark variiert, kann er auch als Testkomponente zur \u00dcberpr\u00fcfung anderer Parameter verwendet werden.<\/p>\n<p><img decoding=\"async\" alt=\"\u00dcbersicht \u00fcber Terminalemulatoren\" src=\"\/wp-content\/uploads\/2019\/08\/3231877fdcd7725c3248fb393185ece4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHier sehen wir, dass rxvt und st im Vergleich zu den Mitbewerbern deutlich vorne liegen, gefolgt von dem viel neueren Alacritty, das auf Geschwindigkeit ausgelegt ist. Danach kommen Xfce (VTE-Familie) und Konsole, die fast doppelt so schnell arbeiten. Letztendlich kommt xterm mit einer Geschwindigkeit, die f\u00fcnfmal langsamer ist als rxvt. W\u00e4hrend des Tests zeigte xterm auch starke Flimmern, was es schwierig machte, den durchlaufenden Text zu erkennen, selbst wenn es sich um dieselbe Zeile handelte. Konsole erwies sich als schnell, hatte jedoch zeitweise Probleme: Der Bildschirm fror gelegentlich ein und zeigte den Text nur teilweise oder gar nicht an. Andere Terminals zeigten die Zeilen klar an, einschlie\u00dflich st, Alacritty und rxvt.<\/p>\n<p>Diki erkl\u00e4rt, dass die Unterschiede in der Leistung mit dem Design der Scrollpuffer in verschiedenen Terminals zusammenh\u00e4ngen. Er macht besonders rxvt und andere Terminals daf\u00fcr verantwortlich, dass sie \"sich nicht an die allgemeinen Regeln halten\":<\/p>\n<blockquote><p>\"Im Gegensatz zu xterm versuchte rxvt nicht, alle Aktualisierungen darzustellen. Wenn es hinterherhinkt, verwirft es einige Aktualisierungen, um den R\u00fcckstand aufzuholen. Dies hatte einen gr\u00f6\u00dferen Einfluss auf die scheinbare Scrollgeschwindigkeit als auf die Organisation des internen Speichers. Ein Nachteil war, dass die ASCII-Animation etwas ungenau war.\"<\/p><\/blockquote>\n<p>\nUm diese scheinbare Langsamkeit von xterm zu beheben, schl\u00e4gt Diki vor, die Ressource <noindex><a rel=\"nofollow\" href=\"https:\/\/invisible-island.net\/xterm\/manpage\/xterm.html#VT100-Widget-Resources:fastScroll\">fastScroll<\/a><\/noindex>zu verwenden, die es xterm erm\u00f6glicht, einige Bildschirmaktualisierungen zu verwerfen, um nicht hinter dem Fluss zur\u00fcckzubleiben. Meine Tests best\u00e4tigen, dass fastScroll die Leistung verbessert und xterm auf das Niveau von rxvt hebt. Dies ist jedoch ein eher grober Workaround, wie Diki selbst erkl\u00e4rt: \"Manchmal scheint xterm \u2013 wie auch die Konsole \u2013 anzuhalten, w\u00e4hrend es auf einen neuen Satz Bildschirmaktualisierungen wartet, nachdem einige von ihnen verworfen wurden.\" In dieser Hinsicht scheint es, dass andere Terminals den besten Kompromiss zwischen Geschwindigkeit und Integrit\u00e4t des Displays gefunden haben.<\/p>\n<h4>Ressourcennutzung<\/h4>\n<p>\nUnabh\u00e4ngig von der Sinnhaftigkeit, die Scrollgeschwindigkeit als Leistungsindikator zu betrachten, erm\u00f6glicht dieser Test, die Belastung der Terminals zu simulieren, was es uns wiederum erlaubt, andere Parameter wie Speicher- oder Festplattennutzung zu messen. Die Metriken wurden durch Ausf\u00fchren des angegebenen Tests <b>seq<\/b> unter der \u00dcberwachung eines Python-Prozesses gesammelt. Er sammelte Daten von den Z\u00e4hlern <noindex><a rel=\"nofollow\" href=\"http:\/\/man7.org\/linux\/man-pages\/man2\/getrusage.2.html\">getrusage ()<\/a><\/noindex> f\u00fcr <b>ru_maxrss<\/b>, der Summe <b>ru_oublock<\/b> und <b>ru_inblock<\/b> und einem einfachen Zeitgeber.<\/p>\n<p><img decoding=\"async\" alt=\"\u00dcbersicht \u00fcber Terminalemulatoren\" src=\"\/wp-content\/uploads\/2019\/08\/df378c145a559ed4aad98fa70b58c72c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn diesem Test belegt ST mit einem durchschnittlichen Speicherverbrauch von 8 MB den ersten Platz, was nicht verwunderlich ist, wenn man bedenkt, dass die grundlegende Idee des Projekts die Einfachheit ist. Etwas mehr verbrauchen mlterm, xterm und rxvt \u2013 etwa 12 MB. Ein weiteres bemerkenswertes Ergebnis liefert Alacritty, das f\u00fcr den Betrieb 30 MB ben\u00f6tigt. Danach kommen die Terminals der VTE-Familie mit Werten von 40 bis 60 MB, was ziemlich viel ist. Diese Verbrauchswerte lassen sich damit erkl\u00e4ren, dass diese Terminals h\u00f6herwertige Bibliotheken wie GTK verwenden. Konsole ist mit einem enormen Verbrauch von 65 MB w\u00e4hrend der Tests zuletzt, obwohl dies durch sein recht umfangreiches Funktionsspektrum gerechtfertigt werden kann.<\/p>\n<p>Verglichen mit den fr\u00fcheren Ergebnissen, die vor zehn Jahren erzielt wurden, verbrauchen alle Programme deutlich mehr Speicher. Fr\u00fcher ben\u00f6tigte Xterm 4 MB, jetzt sind es 15 MB nur zum Starten. Ein \u00e4hnlicher Anstieg des Verbrauchs ist auch bei rxvt zu beobachten, das mittlerweile sofort 16 MB ben\u00f6tigt. Das Xfce-Terminal belegt 34 MB, was dreimal so viel ist wie fr\u00fcher, w\u00e4hrend das GNOME Terminal nur 20 MB ben\u00f6tigt. Nat\u00fcrlich wurden alle vorherigen Tests auf einer 32-Bit-Architektur durchgef\u00fchrt. Auf der LCA 2012 berichtete Rusty Russell <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/477155\/\">erz\u00e4hlte<\/a><\/noindex>, dass es viele subtilere Gr\u00fcnde gibt, die erkl\u00e4ren k\u00f6nnen, warum der Speicherverbrauch w\u00e4chst. In all dem leben wir jetzt in Zeiten, in denen wir ganze Gigabytes an Speicher zur Verf\u00fcgung haben, also werden wir das irgendwie bew\u00e4ltigen.<\/p>\n<p>Dennoch kann ich das Gef\u00fchl nicht loswerden, dass es eine Verschwendung von Ressourcen ist, so viel Speicher f\u00fcr so grundlegende Software wie ein Terminal zuzuweisen. Diese Programme sollten die kleinsten der Kleinsten sein, sie sollten auf jeder \"Kiste\" laufen k\u00f6nnen, sogar auf einer Schuhschachtel, falls wir jemals an den Punkt gelangen, an dem sie mit Linux-Systemen ausgestattet werden m\u00fcssen (und Sie wissen, dass es so kommen wird). Aber mit diesen Zahlen wird der Speicherverbrauch in Zukunft ein Problem in jeder Umgebung darstellen, wenn mehrere Terminals gestartet werden, au\u00dfer vielleicht bei den leichtesten und am meisten eingeschr\u00e4nkten. Um dem entgegenzuwirken, haben GNOME Terminal, Konsole, urxvt, Terminator und Xfce Terminal einen Daemon-Modus, der es erm\u00f6glicht, mehrere Terminals \u00fcber einen Prozess zu verwalten, was ihren Speicherverbrauch begrenzt.<\/p>\n<p><img decoding=\"async\" alt=\"\u00dcbersicht \u00fcber Terminalemulatoren\" src=\"\/wp-content\/uploads\/2019\/08\/65ade9cc81284f24f0c44322eec73ef0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nW\u00e4hrend meiner Tests bin ich auf ein weiteres unerwartetes Ergebnis in Bezug auf das Lesen und Schreiben von Festplatten gesto\u00dfen: Ich hatte erwartet, hier \u00fcberhaupt nichts zu sehen, aber es stellte sich heraus, dass einige Terminals die umfangreichsten Daten auf die Festplatte schreiben. So h\u00e4lt die VTE-Bibliothek praktisch einen Scroll-Puffer auf der Festplatte (dieser Umstand <noindex><a rel=\"nofollow\" href=\"https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=631685\">wurde bereits im Jahr 2010 festgestellt<\/a><\/noindex>, und das geschieht bis heute). Aber im Gegensatz zu \u00e4lteren Implementierungen sind diese Daten jetzt zumindest mit AES256 GCM verschl\u00fcsselt (<noindex><a rel=\"nofollow\" href=\"https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=664611#c48\">seit Version 0.39.2<\/a><\/noindex>). Doch es stellt sich die berechtigte Frage, was es so Besonderes an der VTE-Bibliothek gibt, dass sie einen so unkonventionellen Ansatz zur Implementierung erfordert\u2026<\/p>\n<h4>Fazit<\/h4>\n<p>\nIm ersten Teil des Artikels haben wir festgestellt, dass VTE-basierte Terminals eine gute Funktionsvielfalt bieten, aber jetzt sehen wir, dass dies mit gewissen Kosten verbunden ist, um ihre Leistung zu gew\u00e4hrleisten. Momentan ist der Speicher kein Problem, da alle VTE-Terminals \u00fcber einen Daemon-Prozess verwaltet werden, der ihren Appetit begrenzt. Dennoch ben\u00f6tigen \u00e4ltere Systeme, die physische Einschr\u00e4nkungen bez\u00fcglich des Arbeitsspeichers und des Kern-Puffers haben, m\u00f6glicherweise fr\u00fchere Versionen der Terminals, da sie deutlich weniger Ressourcen verbrauchen. Obwohl sich die VTE-Terminals in Tests zur Bandbreite (Scrolling) gut geschlagen haben, liegt ihre Anzeigeverz\u00f6gerung \u00fcber dem im GNOME-Benutzerhandbuch festgelegten Schwellenwert. Wahrscheinlich sollten die Entwickler von VTE dies ber\u00fccksichtigen. Wenn man bedenkt, dass selbst Anf\u00e4nger in Linux mit dem Terminal konfrontiert werden, k\u00f6nnten sie es benutzerfreundlicher gestalten. F\u00fcr erfahrene Nerds k\u00f6nnte der Wechsel vom Standardterminal sogar eine Verringerung der Augenbelastung und die M\u00f6glichkeit bedeuten, zuk\u00fcnftige berufliche Verletzungen und Erkrankungen aufgrund langer Arbeitssitzungen zu vermeiden. Leider bringen uns nur die alten xterm- und mlterm-Terminals an die magische Ping-Schwelle von 10 Millisekunden, was f\u00fcr viele inakzeptabel ist.<\/p>\n<p>Die Kontrollmessungen haben auch gezeigt, dass die Entwicklung grafischer Umgebungen in Linux Entwickler dazu gezwungen hat, eine Reihe von Kompromissen einzugehen. Einige Benutzer sollten sich die herk\u00f6mmlichen Fenster-Manager genauer ansehen, da sie eine signifikante Verringerung des Pings bieten. Leider konnte die Latenz f\u00fcr Wayland nicht gemessen werden: Das Programm Typometer, das ich verwendet habe, wurde entwickelt, um das zu verhindern, was Wayland eigentlich verhindern soll \u2013 das Ausspionieren anderer Fenster. Ich hoffe, dass das Compositing von Wayland in der Leistung besser ist als das von X.org, und ich bin auch zuversichtlich, dass in Zukunft jemand einen Weg finden wird, das Latenzniveau in dieser Umgebung zu bewerten.<br \/>\n<br \/>Quelle: <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.1.1 - 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\/de\/blog\/administrirovanie\/obzor-emulyatorov-terminala\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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\udd47\u00dcberblick \u00fcber Terminalemulatoren | ProHoster","description":"Ein paar Worte von unserem \u00dcbersetzungsb\u00fcro: Normalerweise versuchen alle, die neuesten Materialien und Ver\u00f6ffentlichungen zu \u00fcbersetzen, und wir sind da keine Ausnahme. Aber Terminale sind nicht das, was w\u00f6chentlich aktualisiert wird.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/obzor-emulyatorov-terminala","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/37222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=37222"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/37222\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/27911"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=37222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=37222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=37222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}