áá»áœááºá¯ááºááá¯á·á áá¬áá¬ááŒááºáá»á°ááá¯á០á áá¬ážáá¯á¶ážá¡áá»áá¯á·- á¡áá»á¬ážá¡á¬ážááŒáá·áº áá°ááá¯ááºážááẠáá±á¬ááºáá¯á¶ážááœááºáá á¹á ááºážáá»á¬ážááŸáá·áº áá¯ááºáá±ááŸá¯áá»á¬ážááᯠáá¬áá¬ááŒááºááá¯ááẠááŒáá¯ážá á¬ážááŒááŒá®áž áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºážáá»ááºááá¯ááºáá«á ááá¯á·áá±á¬áº terminals áá»á¬ážááẠáá áºáááºáá»áŸáẠáá áºááŒááẠá¡ááºááááºáá¯ááºáá±á¬ á¡áá¬ááá¯ááºáá«á ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠááá·áºá¡ááœáẠ2018 ááœá±áŠážááœááºáá¯ááºáá±áá±á¬ Antoine Beaupré ááá±á¬ááºážáá«ážáá áºáá¯ááºááᯠáá¬áá¬ááŒááºáá¬ážáááº- áá±ááºáá®á á¶ááŸá¯ááºážá¡á á¡áá±á¬áºá¡ááẠ"á¡áááº" ááŸááá±á¬áºáááºážá áá»áœááºá¯ááºááá¯á·áá¡ááŒááºá¡áá áá á¹á ááºážááẠáááºážááááºá ááºááŸá¯ááᯠáá¯á¶ážááá¯á¶ážááŸá¯á¶ážááœá¬ážááŒááºážáááŸááá±á ááá¯á·á¡ááŒááºá áááºážááẠáá°áá áá±á¬ááºážáá«ážááŸá áºáá¯ááœá²ááŒá áºáá±á¬áºáááºáž áááºážááá¯á·ááᯠááŒá®ážáá¬ážáá±á¬ ááá¯á·á áºáá áºáá¯á¡ááŒá Ạáá±á«ááºážá ááºááẠáá¯á¶ážááŒááºáá²á·áááºá
Terminals áá»á¬ážááẠááœááºáá»á°áá¬áááá¯ááºážááœáẠá¡áá°ážáá±áá¬áá
áºáá¯ááŸááá±á¬áºáááºáž áááŒá¬áá±ážáá®áááºá
á¯ááŸá
áºáá»á¬ážá¡ááœááºáž áááºážááá¯á·ááẠáá±áá¬á¡ááŸá¶á·ááœáẠááááºáá
áºá¡ááºáá¬áá±á·á
áºáá»á¬áž áá»á¶á·ááŸá¶á·áá¬áááŒáá·áº á¡áááá·áºáá±ážá
á¬ááŒá±á¬ááºážááŸáá·áºá¡áá° ááŸááºáááºáááºáááºááẠááœááºážá¡á¬ážáá±ážáá¶áá²á·ááááºá
á¡áá»áá¯á·áá±á¬ terminals áá»á¬ážááœáẠá¡á¶á·ááŒá
áá¬áá±á¬ááºážáá±á¬ááºá¡á±á¬áẠáá¯á¶ááŒá¯á¶áá±ážá¡áá±á«ááºáá»á¬ážáá«ááŸáááŒá®áž á¡áá»á¬ážá
á¯ááœáẠáááºááºááºá¡ááºáá¬áá±á·á
áºááᯠáá¶á·ááá¯ážááŸá¯á០áá¬ááºááœáŸááºážáá±ážáá¬ážááŒááºážá¡áá áá¯á¶ážáááœá²ááŒá¬ážááá·áºáá¯ááºáá±á¬ááºáá»ááºá¡á
á¯á¶áá«ááŸááááºá áá»áœááºáá±á¬áºáááºáž áá«áááºá
á€áááºááŸá¬ áá»áœááºáá±á¬áºáá¯á¶ážáááºáá¬ážáá±á¬ terminals áá»á¬ážááŒá áºáááº-
Debian 9 ááá¯á·ááá¯áẠFedora 27 ááœáẠáá»áœááºá¯ááºáá±ážáá¬ážááá¯ááºáá²á·áá±á¬ áááºááŒáááºáá±á¬áááºáá±á¬ááºááŸá¯áá»á¬ážááœáẠáá»áœááºá¯ááºá¡á¬áž ááá·áºáááºáá¬ážáá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááẠáá±á¬ááºáá¯á¶ážáá¬ážááŸááºážáá»á¬ážááá¯ááºááá¯ááºáá«á áá
áºáá¯áááºážáá±á¬ááŒáœááºážáá»ááºááŸá¬ Alacritty ááŒá
áºáááºá áááºážááẠGPU-accelerated terminals áá»á¬ážá áá»áá¯ážáááºáá
áºáá¯ááŒá
áºááŒá®áž á€áá¯ááºáááºážá¡ááœáẠáá¯á¶ááŸááºááá¯ááºáá±á¬ áá¬áá¬á
áá¬ážá¡áá
áºááŒáá·áº áá±ážáá¬ážáá¬ážááẠ- Rustá áá»áœááºá¯ááºááá¯á¶ážáááºáá»ááºá០áááºááááºáá»á¬ážááᯠáá»áœááºá¯ááºáááºáá¯ááºáá²á·ááẠ(ááá¯á¡áá¬áá»á¬ážá¡áá«á¡áááºá
áá°áá®áá¯áẠáá¶á·ááá¯ážááŸá¯
Unicode áá¶á·ááá¯ážááŸá¯ááŒáá·áº áá»áœááºá¯ááºá á
ááºážáááºááŸá¯áá»á¬ážááᯠá
áááºáá²á·áá«áááºá Terminals áá»á¬ážá ááááá¯á¶ážá
ááºážáááºááŸá¯ááŸá¬ áá°áá®áá¯ááºá
á¬ááŒá±á¬ááºážááᯠááŒááááºááŒá
áºáááºá
áá°áááºážá¡á¬ážááŒáá·áºá xterm ááẠá¡ááá¯á¡á á¡ááá¯áá« ááá¹áááẠ"áá¯á¶áá±" áá±á¬áá·áºááᯠá¡áá¯á¶ážááŒá¯áááºá
á¡áá»áá¯á·áá±á¬ terminals áá»á¬ážá áá¬ážááŸááºážá¡áá±á¬ááºážáá»á¬áž (á¡áá°ážáááŒáá·áº mlterm) ááẠáá±á¬áá·áºáá»á¬ážááᯠáá±á¬ááºážááœááºá
áœá¬ áááá¯ááºááœááºááá¯ááºááá·áº Debian 27 ááẠááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ ááááºáá»á¬ážááᯠáá±ážáá±á¬ááŒá±á¬áá·áº á€á
ááááºáá¯á¶áá»á¬ážááᯠFedora 9 ááœáẠááá¯ááºáá°áá¬ážáá«áááºá áá¶áá±á¬ááºážá
áœá¬áá² áááºážááᯠáá±á¬ááºááá¯ááºážáá¬ážááŸááºážáá»á¬ážááœáẠááŒá¯ááŒááºáá²á·áááºá
ááᯠxterm ááœáẠááá¯ááºážááᯠáááºááá¯á·ááŒááááºááᯠáááááŒá¯áá«á Mem ááŸáá·áº á¡á±á¬ááºáá« Semitic áááºá¹áá±á ááœááºáá¬áá«áááºá
âááœááºááŒá°áᬠáááá¯ááááºáá»á¬ážá áœá¬ááẠááŸá áºáááºážááœááºá á¬áá¬ážááᯠááŸááºáááºá áœá¬ áááŒááá¯ááºáá«á á¥ááá¬á¡á¬ážááŒáá·áºá áá±ááŒá²á¡ááẠ"Sarah" ááœáẠsin (sh) (áá¬áááºááœááºáá±á«áºáá¬áááº)á ááá¯á·áá±á¬áẠresh (r) ááŸáá·áºáá±á¬ááºáá¯á¶ážááœááºáá° ( ×) (áááºáááºááœááºáá±á«áºáá¬ááá·áºáááº) ááá¯á·áá«áááºáááºá
terminals á¡áá»á¬ážá¡ááŒá¬ážááẠá€á ááºážáááºááŸá¯ááœáẠáá»ááŸá¯á¶ážáááº- Alacrittyá VTE ááŸáááºážáááºáá¬áá±á¬ Gnome ááŸáá·áº XFCE terminalsá urxvtá st ááŸáá·áº xterm display "Sara" ááá¯á·ááᯠ"Aras" áá²á·ááá¯á· ááŒá±á¬ááºážááŒááºá¡á á®á¡á á¥áºááŒáá·áº áá±á¬áºááŒáááºá
bidirectional texts áá»á¬ážááá±á¬ááºáááºááŒá¿áá¬ááŸá¬ á¡áá°ážáááŒáá·áº RTL ááŸáá·áº LTR á
á¬áá¬ážáá»á¬ážááᯠáá±á¬ááŸá±á¬ááŒááºážááŸáá·áºáááºáááºáá¬áá±á¬á¡áá« áááºážááá¯á·ááᯠáá
áºáááºážáááºážááŸáá·áº áá»áááºááŸáááẠááá¯á¡ááºáá«áááºá RTL scripts áá»á¬ážááẠterminal window ááá¬áááºááŒááºážá០run ááááºááŒá
áºáá±á¬áºáááºážá LTR English ááá¯á· default ááŒá
áºáá±á¬ terminals áá»á¬ážá¡ááœáẠáá¬ááŒá
áºááá·áºááááºážá áááºážááá¯á·á¡áá»á¬ážá
á¯ááœáẠá¡áá°ážááá¹ááá¬ážáá»á¬áž ááá«ááŸááá² á
á¬áá¬ážá¡á¬ážáá¯á¶ážááᯠáááºááẠ(Konsole ááœáẠá¡áá«á¡áááº) ááá¯á· áá»áááºááŸááá«á ááŒáœááºážáá»ááºáá»á¬ážááŸá¬ pterm ááŸáá·áº mlterm ááŒá
áºáááº
ááá·áºááœááºážáá¬ááœááºááŸá¯
áá»áœááºá¯ááºáá±á¬áºáá¯ááºáá²á·áá±á¬ áá±á¬ááºáááºá¡áá±ážááŒá®ážáá±á¬á¡ááºá¹áá«áááºááŸá¬ ááá·áºááœááºážááŸá¯ááá·áºáá»ááºáá¬ááœááºááŸá¯ááŒá áºáááºá á á¬áá¯á¶ážáá±á«ááºážáááºáá¯á¶áá»á¬ážááᯠáá°á¡áá»á¬ážááááŒáá±á¬áºáááºážá
$ curl http://example.com/ | sh
code execution push commands áá»á¬ážááŒá
áºáááºá áá±áá»á¬á
áœá¬á
á
áºáá±ážááŒá®ážáá±á¬ááºááœááºááẠweb browser áá
áºáá¯ááŸáá°ážáá°ááŒááºážááŸáá·áº pasting áá¯ááºááá·áºá¡áá« ááŸááºáá¬ážáá±á¬ command áá»á¬ážááẠconsole á¡ááœááºážááá¯á· ááá¯ážáááºááá¯ááºááŒá±á¬ááºáž áá°á¡áááºážáááºá ááááŒáááºá
git clone git: //git.kernel.org/pub/scm/utils/kup/kup.git
Horn á áááºááá¯ááºá០terminal ááá¯á· áá°ážááá·áºááá¯ááºáá±á¬á¡áá« ááá¯áá²á·ááá¯á· á¡ááŸá±á¬áá·áºá¡ááŸáẠááŒá áºááœá¬ážáááº-
git clone /dev/null;
clear;
echo -n "Hello ";
whoami|tr -d 'n';
echo -e '!nThat was a bad idea. Don'"'"'t copy code from websites you don'"'"'t trust!
Here'"'"'s the first line of your /etc/passwd: ';
head -n1 /etc/passwd
git clone git://git.kernel.org/pub/scm/utils/kup/kup.git
áááºááá¯á¡áá¯ááºáá¯ááºáá²? ááááºááá¯á·ááŒááºážááœáẠá¡áá¹ááá¬ááºááŸááá±á¬áá¯ááºááᯠááá·áºááœááºážáá¬ážáááºá CSS ááᯠá¡áá¯á¶ážááŒá¯á á¡áá¯á¶ážááŒá¯áá°á á¡ááŒááºá០ááœáŸá±á·áá¬ážáááºá
set enable-bracketed-paste on
áá¶ááá±á¬ááºážá áœá¬áá²á Horn á á ááºážáááºááá¯ááºááẠá€á¡áá¬á¡ááœááºááᯠá á¬áá¬ážáá±á¬áºáááºáá»ááŒááºážááŸáá áºááá·áº áááºážááᯠáááºááá¯á·áá»á±á¬áºááŒááºááááºááᯠááŒáááŒá®áž áááºážááœáẠBracketed áá¯ááºááᯠá¡áá»áááºááááºáá® á¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº á¡áá¯á¶ážáááºááœá¬ážáááºááŒá áºáááºá á¡áá»áá¯á·áá±á¬ terminal áá»á¬ážááẠáááºážááá¯á·áááá¯ááºááá¯ááºáááá·áºáá® Escape Sequence áá»á¬ážááᯠááŸááºáááºá áœá¬ á á áºáá¯ááºááá¯ááºááŒááºáž áááŸááá±á¬ááŒá±á¬áá·áº áááºážááẠá¡áá¯ááºáá¯ááºáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááœáẠááŸááºáááºáá±á¬ááœá²á·á ááºážáá¯á¶á áá áºááŒáá·áºááẠKonsole á ááºážáááºááŸá¯áá»á¬ážááᯠá¡á±á¬ááºááŒááºá áœá¬ áááŒá®ážááŒá±á¬ááºááá¯ááºáá²á·áá«á .inputrc ááá¯ááºá ááá¯ááá¯áááºááŸá¬ áá¶á·ááá¯ážááá¬ážáá±á¬ á¡ááá®áá±ážááŸááºážáá áºáᯠááá¯á·ááá¯áẠááŸá¬ážááœááºážá áœá¬ááœá²á·á ááºážáá¬ážáá±á¬ á¡ááœá¶áá áºáá¯ááŒá±á¬áá·áº ááá·áºá áá áºááœá²á·á ááºážáá¯á¶á¡á¬áž á¡ááœááºááá° áá»ááºá á®ážááœá¬ážá á±ááá¯ááºáááºáᯠááá¯ááá¯áááºá á¡áá°ážáááŒáá·áº ááá·áºááœáẠááá¯ááá¯á·áá±á¬ á¡áá±ážááááºážá ááºáá»á¬ážá áœá¬ááŸááá»áŸáẠááá¯áá áá¯ááºááœá²á·á ááºážááŸá¯áá¯ááºáá±á¬ááºááŸá¯áááºážáá«ážááá·áº áá±ážáá¶áá±á«ááºáá®áá±á¬áá¬áá¬áá»á¬ážááá¯á· áááºáá±á¬ááºááá·áºá¡áá« á¡áá°ážáááŒáá·áº á¡áá¹ááá¬ááºááŸááááºá
á€ááŒá¿áá¬á¡ááœáẠá¡ááŒá±áá±á¬ááºážáá áºáá¯ááŸá¬ terminal á¡ááœáẠpaste confirmation plugin ááŒá áºáááºá urxvtááá¯ááºážá¡áá áºáá»á¬ážáá«ááŸááá±á¬ áááºááá·áºá á¬áá¬ážááá¯áááᯠááá·áºááœááºážááẠááá¯ážááŸááºážá áœá¬ááœáá·áºááŒá¯áá»ááºáá±á¬ááºážáááºá Horn ááŸáá±á¬áºááŒáá¬ážáá±á¬ á á¬áá¬ážááá¯ááºááá¯ááºááŸá¯á¡ááœáẠááá¯ááá¯áá¯á¶ááŒá¯á¶áá±á¬ááœá±ážáá»ááºááœáá·áºááᯠáá»áœááºá¯ááºáááœá±á·áá«á
áááºááºáá»á¬ážááŸáá·áº áááá¯ááá¯ááºáá»á¬áž
ááᯠáá°ááŒáá¯ááºáá»á¬ážááá·áº á¡ááºá¹áá«áááºááŸá¬ á¡ááŒá¬áž terminals áá»á¬ážá áœá¬áá«ááŸááá±á¬ terminal window áá áºáá¯á¡ááŒá Ạáá»áœááºá¯ááºááá¯á· áááºááŸááºáá±ážááá·áº áááºáá¯ááºáá¬ážáá±á¬ á¡ááºáá¬áá±á·á áºá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááŒá áºáááºá á€áá¯ááºáá±á¬ááºáá»ááºááẠááá°áá®áá±á¬ terminal áá»á¬ážá¡ááœáẠááœá²ááŒá¬ážááŒá®áž ááá¯ážáᬠxterm terminal áá»á¬ážááẠáááºááºáá»á¬ážááᯠáá¯á¶ážáááá¶á·ááá¯ážáá±á¬áºáááºážá Xfce Terminalá GNOME Terminal ááŸáá·áº Konsole áá²á·ááá¯á·áá±á¬ áá±ááºáá® terminal incarnations áá»á¬ážááœáẠá€áá¯ááºáá±á¬ááºáá»ááºáá«ááŸááá«áááºá Urxvt ááẠáááºááºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáááºá ááá¯á·áá±á¬áº áááºááẠááááºá¡ááºááᯠá¡áá¯á¶ážááŒá¯ááŸáᬠááŒá áºáááºá ááá¯á·áá±á¬áº áááºááºáá¶á·ááá¯ážááŸá¯ááá¯ááºááŸáá¯ááºááœááºá Terminator ááẠá¡ááŒááºážááœá¬ážá áá¬áááŸááá±á¬ áá±á«ááºážáá±á¬ááºááŒá áºáááº- áááºážááẠáááºááºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá¯á¶áá¬áá terminals áá»á¬ážááᯠáááºááá·áºá¡á á®á¡á á¥áºááœááºáááᯠá á®á ááºááá¯ááºááẠ(á¡á±á¬ááºáá«áá¯á¶ááá¯ááŒáá·áºáá«)á
Terminator ááá±á¬ááºáááºá¡ááºá¹áá«áááºááŸá¬ á€áááºáá»á¬ážááᯠá¡á¯ááºá
á¯ááœá²á·áᬠáá°áá®áá±á¬ááá¯ááºáá»á¬ážááᯠterminals á¡áá»á¬ážá¡ááŒá¬ážááá¯á· áááŒáá¯ááºáááºáááºáž áá±ážááá¯á·ááá¯ááºááŒá®áž áá¬áá¬áá»á¬ážá
áœá¬ááœáẠá¡á
á¯ááá¯ááºá¡ááŒá¯á¶ááá¯ááºáá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáááŒáá¯ááºáááºáá¯ááºáá±á¬ááºááŒááºážá¡ááœáẠá¡ááŒááºážáá»ááºážáá±á¬áááááá¬ááᯠáá±ážá
áœááºážááá¯ááºáááºá á¡áá¬ážáá° á¡ááºá¹áá«áááºááᯠKonsole ááœááºáááºáž ááá·áºááœááºážáá¬ážáááºá á€á¡ááºá¹áá«áááºááᯠá¡ááŒá¬áž terminals áá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯áááºá áááºááẠááŒááºááá±á¬á·ááºáá²áá²á·ááá¯á·áá±á¬ ááŒááºááá±á¬á·ááºáá²ááᯠá¡áá¯á¶ážááŒá¯ááá«áááºá
áááá¯ááá¯ááºáá»á¬ážááŸáá·áº ááœá²áá¬ážááá·áºá¡áá« á¡áá°ážáááŒáá·áº áááºáá»á¬ážááẠáá±á¬ááºážááœááºá áœá¬ á¡áá¯ááºáá¯ááºááá¯ááºáááº- á¥ááá¬á¡á¬ážááŒáá·áºá ááá·áºááœáẠá¡á®ážáá±ážááºá¡ááœáẠáááºáá áºáá¯á áá»ááºá¡ááœáẠáá±á¬ááºáá áºáá¯á á¡á ááŸááááºááá¯á· ááŸáááá¯ááºáá«áááºá áááºážááᯠKonsole Terminal ááŸáá·áº GNOME Terminal á០áá±á¬ááºážááœááºá áœá¬ áá¶á·ááá¯ážáá¬ážáá«áááºá ááŸá áºáá¯á áá¯á¶ážááẠáááºááºáá áºáá¯á á®ááᯠáááºážáááá¯ááºááá¯ááºáááá¯ááá¯ááºááᯠá¡ááá¯á¡áá»á±á¬ááºááœáá·áºááẠááœáá·áºááŒá¯áááºá Terminator ááẠáááá¯ááá¯ááºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáááºá ááá¯á·áá±á¬áº áááºáááºááŸááºáá¬ážáá±á¬ áááºááºáá áºáá¯ááá¯ááœáá·áºáá±á¬á¡áá« á¡áá»áá¯á·áá±á¬áááá¯ááááºáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºááœáá·áºááẠáááºážáááºážááŸá¬áááœá±á·áá«á á¡ááŒá¬áž terminal áá»á¬ážááœáẠ"profile" á ááá±á¬ááá¬áž áá¯á¶ážááááŸááá«á
Ruffles
á€áá±á¬ááºážáá«ážááááá¡ááá¯ááºážááœááºáá»áœááºá¯ááºáááºááŒááá·áºáá±á¬ááºáá¯á¶ážá¡áá»ááºááŸá¬ terminals áá»á¬ážáá¡ááœááºá¡ááŒááºááŒá
áºáááºá á¥ááá¬á¡á¬ážááŒáá·áº GNOMEá Xfce ááŸáá·áº urxvt ááẠááœáá·áºáááºážááŒááºáá¬ááŸá¯ááᯠáá¶á·ááá¯ážáá±ážáá±á¬áºáááºáž áááŒá¬áá±ážáá®á áá±á¬ááºáá¶áá¯á¶áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠáá»áŸá±á¬á·áá»áá²á·ááŒá®áž á¡áá»áá¯á·áá±á¬á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááᯠterminal ááá¯á·ááŒá±á¬ááºážááá¯ááºážááŒááºáž
á¡áá»áá¯á·áá±á¬ terminal áá»á¬ážááẠááá·áºááºáá»á¬ážááᯠááŸáááºááááá¯ááºá
á±ááẠURL áá¯á¶á
á¶áá»á¬ážá¡ááœáẠá
á¬áá¬ážááá¯áááºáž ááá¯ááºážááŒá¬ážá
áááºááŒá¬áá«áááºá áááºážááẠVTE ááŸáááŸááá±á¬ terminal áá»á¬ážá¡á¬ážáá¯á¶ážááŸáá·áº á¡áá»á¯á¶ážáááºáá±á¬áºáááºáž urxvt ááẠááá
áºáá
áºáá»ááºááŸáááºáá¯á¶ááŒáá·áº URL áá»á¬ážááᯠááŒá±á¬ááºážáá²ááá·áº ááá¯á·ááá¯áẠáá®ážáá¯ááºááŒááºáááºážááᯠá¡áá¯á¶ážááŒá¯á á¡áá°ážááááºá¡ááºáá
áºáᯠááá¯á¡ááºáá«áááºá á¡ááŒá¬ážáááºážáááºážáá»á¬ážááŒáá·áº ááŒááá¬ážáá±á¬ URL áá»á¬ážááᯠáá»áœááºá¯ááºá
ááºážáááºááŒá®ážáá±á¬ á¡ááŒá¬ážá
ááºáá»á¬ážá
áá±á¬ááºáá¯á¶ážááœááºá terminals áá»á¬ážááœááºáááºážááŒá±á¬ááºážáá
áºáá
áºáá¯ááẠscroll ááŒá¬ážáá¶áááœá±ážáá»ááºááœáá·áºááŒá
áºáááºá á¥ááá¬á st ááœáẠscroll ááŒá¬ážáá¶áááŸááá«á á¡áá¯á¶ážááŒá¯áá°ááẠtmux ááŸáá·áº áá²á·ááá¯á·áá±á¬ terminal multiplexer ááᯠá¡áá¯á¶ážááŒá¯áááºáᯠáá°ááá«áááºá
Alacritty ááẠbackscroll buffers áááºážáááŸááá±á¬áºáááºážá
á á¯á á¯áá±á«ááºáž
áá á¹á ááºážááá¯áááá¡ááá¯ááºážááœáẠ(áá°áááºážááœáẠá€ááŸá áºáá¯ááœá²ááŒá¬ážáá±á¬ áá±á¬ááºážáá«ážáá»á¬ážááŒá áºááẠ- á¡áá®ážá ááºáá¯á¶ážá áááºážááœá¬áž) á áœááºážáá±á¬ááºáááºá ááŸááºáá¬ááºá¡áá¯á¶ážááŒá¯ááŸá¯ááŸáá·áº latency ááá¯á·ááᯠááŸáá¯ááºážááŸááºáá«áááºá ááá¯á·áá±á¬áº á¡áá»áá¯á·áá±á¬ terminals áá»á¬ážááœáẠááá¯ážááœá¬ážáá±á¬ áá»áá¯á·ááœááºážáá»ááºáá»á¬áž ááŸááá±áááºááᯠáá»áœááºá¯ááºááá¯á· ááŒááºááá¯ááºáá±ááŒá®ááŒá áºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá RTL script áá»á¬ážááŸáá·áº áá¯á¶ááŸááºá¡áá¯ááºáá¯ááºáá±á¬ á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠá¡ááŒá¬ážáá°áá»á¬ážááẠá¡áá¬ážáá°áá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááᯠááá¯ááºááœááºáá¬ááœáẠááá¯áá±á¬ááºážáá±á¬ááŒá±á¬áá·áº mlterm ááŸáá·áº pterm ááᯠááá·áºááœááºážá ááºážá á¬ážááá¯áá±áááºá Konsole áááºáž áá±á¬ááºážááœááºá áœá¬ á áœááºážáá±á¬ááºááá¯ááºáá²á·áááºá RTL script áá»á¬ážááŸáá·áºá¡áá¯ááºááá¯ááºáá±á¬á¡áá¯á¶ážááŒá¯áá°áá»á¬ážáááºá¡ááŒá¬ážáá áºáá¯áá¯ááá¯ááœá±ážáá»ááºááá¯ááºáááºá
á¡áá¹ááá¬ááºááŸááá±á¬áá¯ááºááá·áºááœááºážááŒááºážááŸáá¬ááœááºááŒááºážááá¯ááºáá¬á ááºážáááºážáá»ááºáá»á¬ážá¡áá urxvt ááẠáá»áœááºá¯ááºá¡ááœááºáá»áááºážáá±á¡áááºááŒá±áá¯á¶áá±á«áºáá±á¬ á€ááá¯ááºááá¯ááºááŸá¯áá»áá¯ážá¡á¬áž áááºážáá¡áá°ážáá¯ááºáá±á¬ááºááŸá¯ááŸáá¬ááœááºáá±ážáá±á¬ááŒá±á¬áá·áº áááºááŸá¬ážáááºá áá±á«ááºážáá±á¬ááºážáá»á¬ážááŸáá·áº áá®á á®áá»á¬ážááᯠááŸá¬ááœá±áá±áá°áá»á¬ážá¡ááœáẠKonsole ááẠááŒáá·áºááá»áá¯ážáááºáááºá áá±á¬ááºáá¯á¶ážááœááºá VTE ááẠá¡áá±á¬ááºáá¶á·ááá¯ážááŸá¯á URL á¡ááá¡ááŸááºááŒá¯ááŸá¯á áááºááŒáá·áº á¡á¬ááá¶ááá·áº terminals áá»á¬ážá¡ááœáẠá¡áá±á¬ááºážáá¯á¶ážá¡ááŒá±áá¶áá áºáá¯ááŒá áºááŒá±á¬ááºáž áááááŒá¯ááá·áºáá«áááºá ááááá áºáá»ááºááœááºá ááá·áºá áááºááŒáá¯ááºáááºáááºážáá»ááºááœááºáá«ááŸáááá·áº áá°áááºážááááºááẠááá¯á¡ááºáá»ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááŒáá·áºáááºážáá±ážááá¯ááºáá±á¬áºáááºáž á áœááºážáá±á¬ááºáááºááᯠáá¬ážáááºáááºá¡áá á€áá±ážááœááºážááᯠááœáá·áºáá¬ážááŒáá«á áá¯á·á
á áá¬ážááá¯ááºážááᯠáááºáá¡á±á¬ááº
áá±áá°áá»á¡á¬ážááŒáá·áºá terminals áá»á¬ážáá
áœááºážáá±á¬ááºáááºááẠáá±ážáá¶áá±á«ááºáá®áá±á¬ááŒá¿áá¬áá
áºáá¯áá²á·ááá¯á·áááºááá±á¬áºáááºážá á¡áá»áá¯á·áá±á¬á¡ááŒá±áá¶á¡áá»áá¯ážá¡á
á¬ážááŒá
áºáá±á¬ software á¡ááœáẠá¡á¶á·ááŒá
áá¬áá±á¬ááºážáá±á¬ááºá¡á±á¬áẠááŒá¬ááŒáá·áºáá»áááºááá¯ááŒááá¬ážáááºá áá±á¬ááºááœááºáááºáž ááŸá±ážááááºááááºážá "á¡ááŒááºááŸá¯ááºáž" áá¯áá±á«áºááẠ(ááááºáá±á¬á·á áááºážááẠááœá±á·áá»á¬ážááá·áºá¡ááŒááºááŸá¯ááºáž) ááŸáá·áº terminal á ááŸááºáá¬ááºáá¯á¶ážá
áœá²ááŸá¯ (ááœááºáá²á·ááá·áºáááºá
á¯ááŸá
áºáá»á¬ážáá²á·ááá¯á· ááá±á·áá±ááºáá¬ááá²á·ááá¯á· á¡áá±ážáá«ááŸáááºááá¯ááºááŒá±á¬ááºáž ááááá±ážáá»ááºááŸáá·áºá¡áá°) ááᯠáááºáááºááŒáá·áºááŸá¯áá«áááºá
ááŸá±á¬áá·áºááŸá±áž
terminal á
áœááºážáá±á¬ááºáááºááᯠá
á±á·á
á±á·á
ááºá
ááºáá±á·áá¬ááŒá®ážáá±á¬ááºá á€ááá
á¹á
ááœáẠá¡áá±ážááŒá®ážáá¯á¶áž parameter ááŸá¬ latency (ping) ááŒá
áºááŒá±á¬ááºáž áááá¯á¶ážáá»á¯ááºááá¯ááºááá«áááºá áá°á·áá±á¬ááºážáá«ážáá²ááŸá¬
áá«áá±ááá·áº latency ááá¯áᬠáá¬áá²á áá¬ááŒá±á¬áá·áº á¡áááºážá¡áá±ážááŒá®ážáá¬áá²á áááºážááá±á¬ááºážáá«ážááœáẠFatin ááááºážá¡á¬áž "áá±á¬á·ááŸáááºááŒááºážááŸáá·áºáááºááá¯ááºááá·áºáá»ááºááŸá¬ááŒááºá¡ááºááááºááŒá¬ážááŸá±á¬áá·áºááŸá±ážááŸá¯" á¡ááŒá
áºáááºááŸááºááŒá®ážááá¯ážáá¬ážáá²á·áááºá
Fatin á ဠping ááẠáá»á±áááºáá¯á¶áá»áŸáá ááá¯ááá¯áááºáá²áá±á¬ á¡áá»áá¯ážáááºáá»á¬ážááŸáááŒá±á¬ááºáž ááŸááºážááŒáááº- "á
á¬ááá¯ááºááŒááºáž ááŸá±ážááœá±ážááŒááºážá á¡ááŸá¬ážá¡ááœááºážáá»á¬áž ááá¯áá»á¬ážáá¬ááŒá®áž áá»ááºáá¯á¶ážááŸáá·áº ááŒáœááºáá¬ážáá»á¬áž áááºážáá¬áá¬áá«áááºá" áá
áºáááºážá¡á¬ážááŒáá·áºááá¯ááá±á¬áº ááŒá®ážáá¬ážáá±á¬ááŸá±á¬áá·áºááŸá±ážááŸá¯ááẠtypos ááá¯ááŒá
áºáá±á«áºá
á±ááŒá®áž áá¯ááºá¡áááºá¡ááœá±ážááá¯áááºáž áááá·áºáá»á
á±áᬠáááºážááẠáŠážááŸá±á¬ááºá¡áá±á«áº áááºáá±á¬ááºážááááŒááºááá¯ááºá
áœááºážááᯠááá¯ážá
á±áááºá áá«áá±ááá·áº ááá¯ááá¯ážáá¬á ping á "áá»ááºáá¯á¶ážáá²á· ááŒáœááºáá¬ážááœá±ááᯠáááºážá¡á¬ážááá¯ážá
á±áááº" ááá¯á· á¡áááá¹áá¬ááºááá«áááºá
á€á¡áá»áá¯ážáááºáá±á¬ááºááŸá¯á¡áá»áá¯á·ááá¯á¡áá»áááºá¡ááŒá¬ááŒá®ážáá°áááá»á¬ážááŒá®ážááááºáá»á¬ážááá¯
Fatin ááẠá
á¬áá¬ážáááºážááŒááºáá°áá»á¬ážááœáẠá
ááºážáááºááŸá¯áá»á¬áž ááŒá¯áá¯ááºáá²á·áááºá áááºáá±á¬ááºááá¯ááºáá±á¬ áá°áááá¬áá
áºáá»áá¯ážááᯠáááºáá®ážáá²á·áááºá
á€áááºááŸá¬ áá»áœááºá¯ááºáá ááºážáááºáá»ááºááẠáá°áá ááºážáááºááŸá¯áá»á¬ážááŸáá·áºááá¯ááºáá®ááŒá±á¬ááºážááŒáááẠáá»áœááºá¯ááºáááá¯ááºážáá¬ááŸá¯ááááºáá»á¬ážá¡ááŒáẠFatin áááááºá¡áá»áá¯á·á
áááá¡áá»ááºááŸá¬ xterm ááŸáá·áº mlterm áá²á·ááá¯á·áá±á¬ áááá¯ááááºá¡áá±á¬ááºážáá»á¬ážá ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ áá¯á¶á·ááŒááºáá»áááºááŒá
áºáááºá á¡ááá¯ážáá¯á¶áž ááŸááºáá¯á¶áááºáá»áááºáá±áá»ááẠ(2,4 ms) ááŒáá·áº áááºážááá¯á·ááẠá¡ááŒááºáá¯á¶áž áá±ááºáá® terminal (10,6 ms for st) ááẠááá¯ááá¯áá±á¬ááºážááœááºáááºá áá±ááºáá® terminal ááẠ10 millisecond á¡ááá·áºááẠáááá·áºáá»ááŒááºážáááŸááá«á á¡áá°ážáááŒáá·áºá Alacritty ááẠ2017 áá¯ááŸá
áºááœáẠáááºážáááááá¯á¶ážááŒááºáááºáá¯á¶ážáááºááŒá®ážáá±á¬áẠáááºážááááŸááºáá»á¬áž ááá¯ážáááºáá¬áá±á¬áºáááºážá "á¡ááŒááºáá¯á¶áž terminal emulator áááá¯ááºáá±á¬" áá±á¬ááºážááá¯áá»ááºááᯠááá¯ááºáá¬ááẠáá»ááºááœááºáá«áááºá á¡ááŸááºááá±á¬á· ááá±á¬áá»ááºááᯠáá±ážáá°ááœá±áá«á
ááá¯á·áá±á¬áº ááŒá¬ážáá¬ážáá»ááºáá»á¬ážááᯠáá»ááºá áááœáẠáááºááŸá¬ážá á±áááºááá¯ááºáá±á Fatin áááŸááºážááŒááá·áºá¡ááá¯ááºáž "ááá·áºá¡áá±á«áºáááºáá±á¬ááºááŸá¯ááŸáááẠááŸá±á¬áá·áºááŸá±ážááŸá¯ááᯠáááºááááá¬ážáá±áááºáááá¯á¡ááºáá«á" Fatin ááẠá á¶ááœá±áááºááŸá¯á¡ááŒá±á¬ááºážáááºáž ááááá±ážáááº- "ááŒá¬áá»ááẠ(áá¯ááºááŸá¯ááºááŒááºáž) ááœáẠá¡ááŸá±á¬áá·áºá¡ááŸááºáá»á¬áž ááẠáááºážááá¯á·á ááŸááºážáááááŒááºážááŒá±á¬áá·áº áááºáá±á¬ááºáž ááá á®ážááŸá¯ ááŒá áºá á±áááºá"
á¡áááºáá±á¬áºááŒáá« ááááºááᯠDebian 9 (stretch) ááŒáá·áº ááŒá¯áá¯ááºáá¬ážáááºá
á¡ááŸáááºá¡áá¯ááº
áá±á¬ááºá
ááºážáááºááŸá¯ááẠááá¬ážááá¯ážáá» "á¡ááŒááºááŸá¯ááºáž" ááá¯á·ááá¯áẠ"áááºážáááº" á
ááºážáááºááŸá¯ááŒá
áºááŒá®ážá terminal ááẠáá»ááºááŸá¬ááŒááºáá±á«áºááœáẠá
á¬á¡ááŒá±á¬ááºá¡ááŒá¬ážááŒááá±á
áẠá
á¬áá»ááºááŸá¬áá
áºáá¯ááᯠáááºáá»áŸáá»ááºááŒááºá
áœá¬ ááŸááá·áºááá¯ááºáááºááᯠááá¯ááºážáá¬áááºá á
ááºážáááºááŸá¯áá
ááºááŒááºááœá²ááŒá¬ážáááºá áá°áá
ááºážáááºááŸá¯ááŸá¬ seq command ááᯠá¡áá¯á¶ážááŒá¯á áá°áá®áá±á¬ á
á¬áá¬ážá
á¬ááŒá±á¬ááºážááᯠáááºáá®ážáááºááŒá
áºáááºá á¡ááŒá¬ážá
ááºážáááºááŸá¯áá»á¬ážááœáẠThomas E. Dickey's (xterm ááááºážááááºážáá°) á
ááºážáááºááŸá¯ á áááºáá«ááá²áá² ááŒá¯áá¯ááºáá±á¬ á
ááºážáááºááŸá¯áá»á¬áž áá«áááºáááºá
á€áá±áá¬ááœáẠrxvt ááŸáá·áº st ááá¯á·ááẠááŒáá¯ááºááá¯ááºááŸá¯á ááŸá±á·ááá¯á· ááœá²áá¯ááºááŒááºážááᯠááœá±á·ááŒááºáááŒá®áž á
áœááºážáá±á¬ááºáááºá¡áá±á«áº á¡á¬áá¯á¶á
áá¯ááºáá¬ážááá·áº áá®ááá¯ááºážáá¯ááºáá¬ážááá·áº ááá¯ááá¯áá
áºááœááºáá±á¬ Alacritty ááŸáá·áºá¡áá°á áá±á¬ááºáá
áºáá¯ááá±á¬á· Xfce (VTE áááá¬ážá
á¯) áá²á· Konsole ááŒá
áºááŒá®áž ááŸá
áºááá®ážáá«ážááŒááºáá«áááºá áá±á¬ááºáá¯á¶ážááẠxterm ááŒá
áºááŒá®áž rxvt ááẠáá«ážáááŸá±ážáááºá á
á¬áá±ážááœá²áá¬áá¡ááœááºážá xterm ááẠá¡ááœááºáá¯ááºááŸá¯ááºááœá¬ážáᬠá
á¬áá¬ážáá
áºááŒá±á¬ááºážáááºážááŒá
áºáá±áá»áŸááºááẠááŒááºáááºáááºáá²á
á±áááºá Konsole ááẠááŒááºáááºáá±á¬áºáááºáž áá
áºáá«áá
áºáá¶ááœáẠáááºáá²áááº- áááºáá¬ážááŒááºááẠáá¶áááºáá¶áá« á¡á±ážáá²ááœá¬ážáá¬á áá
áºá
áááºáá
áºááá¯ááºáž á
á¬áá¬ážááᯠááŒáááẠááá¯á·ááá¯áẠáááºážááᯠáá¯á¶ážááááŒááá«á stá Alacritty ááŸáá·áº rxvt á¡áá«á¡ááẠá¡ááŒá¬ážáá±á¬ terminal áá»á¬ážááẠstring áá»á¬ážááᯠááŸááºážáááºážá
áœá¬ááŒááá¬ážáááºá
ááá°áá®áá±á¬ terminals áá»á¬ážááŸá scroll buffers áá»á¬ážá áá®ááá¯ááºážááŒá±á¬áá·áº á áœááºážáá±á¬ááºááẠááœá¬ááŒá¬ážáá»ááºáá»á¬ážááẠDickey á០ááŸááºážááŒáá«áááºá á¡áá°ážáááŒáá·áºá áá°ááẠrxvt ááŸáá·áº á¡ááŒá¬ážáá±á¬ terminals áá»á¬ážááᯠ"áá±áá°áá»á ááºážáá»ááºážáá»á¬ážááᯠáááá¯ááºáá¬áá«" áá¯á áœááºá áœá²áááº-
âxterm ááŸáá·áºááá°áá²á rxvt ááẠá¡ááºááááºá¡á¬ážáá¯á¶ážááá¯ááŒáááẠáááŒáá¯ážá á¬ážáá²á·áá«á áá±á¬ááºáá»ááœá¬ážáá«áá ááá¯ááºáá®ááẠá¡áá»áá¯á·áá±á¬ á¡ááºááááºáá»á¬ážááᯠááŒááºážáááºáááá·áºáááºá áááºážááẠá¡ááœááºážááŸááºáá¬ááºá¡ááœá²á·á¡á ááºážááẠáááºááŸá¬ážáá±á¬ ááŸááá·áºááŸá¯ááºážá¡áá±á«áº áááºáá±á¬ááºááŸá¯ááá¯ááŸááá²á·áááºá á¡á¬ážáááºážáá»ááºáá áºáá¯ááŸá¬ ASCII áá¬ááœááºážááẠá¡áááºážááẠááááá»áá±á¬ááŒá±á¬áá·áºááŒá áºáááºá"
á€áá°ááá¬ážáá±á¬ xterm ááŸá±ážááœá±ážááŸá¯ááᯠááŒá±ááŸááºážááẠDickey ááẠá¡áááºážá¡ááŒá
áºááᯠá¡áá¯á¶ážááŒá¯ááẠá¡ááŒá¶ááŒá¯áá¬ážáááºá
ááá¶áá¬á áá¯á¶ážá áœá²ááŸá¯
Scrolling speed ááᯠá
áœááºážáá±á¬ááºáááºáááºááá
áºá¡ááŒá
Ạááá·áºááœááºážá
ááºážá
á¬ážááẠá¡áááá¹áá¬ááºááŸááááŸáá á€á
ááºážáááºááŸá¯ááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž terminals áá±á«áºááŸá load ááᯠá¡áá¯áá°ááá¯ááºá
á±áᬠáááºážááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž memory ááá¯á·ááá¯áẠdisk á¡áá¯á¶ážááŒá¯ááŸá¯áá²á·ááá¯á·áá±á¬ á¡ááŒá¬ážáá±á¬ parameters áá»á¬ážááᯠááá¯ááºážáá¬ááá¯ááºá
á±áá«áááºá áááºááŸááºáá¬ážáá±á¬ á
ááºážáááºá
á
áºáá±ážááŸá¯ááᯠáá¯ááºáá±á¬ááºááŒááºážááŒáá·áº áááºááá
áºáá»á¬ážááᯠááá°áá²á·áááºá seq Python áá¯ááºáááºážá
ááºá
á±á¬áá·áºááŒáá·áºááŸá¯á¡á±á¬ááºááœááºá áá°á áá®áá¬áá±áá¬ááᯠá
á¯áá±á¬ááºážáááºá
á€á
ááºážáááºááŸá¯ááœááºá ST ááẠá¡áááá·áºáá¯á¶ážáá»ááºážáá»áŸááŸááºáá¬ááºáá¯á¶ážá
áœá²ááŸá¯ 8 MB ááŒáá·áº ááááá±áá¬áááŸááá¬ážááŒá®áž áá®ááá¯ááºážáá¡áááá¡áá°á¡áááŸá¬ ááá¯ážááŸááºážáááºáᯠááá·áºááœááºážá
ááºážá
á¬ážááŒááºážááẠá¡á¶á·ááŒá
áá¬ááá¯ááºáá±á mltermá xterm ááŸáá·áº rxvt á¡áááºážáááºááá¯á
á¬ážááẠ- 12 MB ááá·áºá áá±á¬ááºááẠáááºááŸá¬ážáá±á¬ááááºááŸá¬ Alacritty ááŒá
áºááŒá®áž á¡áá¯ááºáá¯ááºááẠ30 MB ááá¯á¡ááºáááºá ááá¯á·áá±á¬ááºááœáẠ40 á០60 MB ááŸááááºážááááºážáá»á¬ážáá«ááŸááá±á¬ VTE áááá¬ážá
á¯á terminals áá»á¬ážááŸáááŒá®ážá áááºážáááºá¡ááœááºáá»á¬ážááŒá¬ážáááºá ဠterminals áá»á¬ážááẠááŒáá·áºáá¬ážáá±á¬á¡ááá·áºááŸá á
á¬ááŒáá·áºááá¯ááºáá»á¬ážááᯠá¥ááá¬á¡á¬ážááŒáá·áº GTK ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŒá±á¬áá·áº á€á
á¬ážáá¯á¶ážááŸá¯ááᯠááŸááºážááŒááá¯ááºáááºá Console ááẠá
ááºážáááºááŸá¯áá»á¬ážá¡ááœááºáž ááŒá®ážáá¬ážáá±á¬ 65MB áááºááá¯áá®áá¯á¶ážá
áœá²ááŸá¯ááŸáá·áºá¡áá° áá±á¬ááºáá¯á¶ážáá«áááºáá¬áá±á¬áºáááºáž áááºážááẠáááºážáá¡ááœááºáá»ááºááŒáá·áºáá±á¬á¡ááºá¹áá«áááºáá»á¬ážááŒáá·áº áá»áŸáááá¯ááºáá«áááºá
ááœááºáá²á·áá±á¬ áááºááŸá
áºá áááŸááá²á·áá±á¬ ááááºááááºáá»á¬ážááŸáá·áº ááŸáá¯ááºážááŸááºáá«á áááá¯ááááºá¡á¬ážáá¯á¶ážááẠááŸááºáá¬ááºááá¯á áááááá¬áᬠá
á¬ážáá¯á¶ážáá¬áááºá Xterm ááẠ4 MB ááá¯á¡ááºáá±á¬áºáááºáž ááᯠá
áááºáá»áááºááœáẠ15 MB ááá¯á¡ááºáá«áááºá rxvt á¡ááœáẠá¡áá¬ážáá° áá¯á¶ážá
áœá²ááŸá¯ ááá¯ážáá¬áᬠááᯠbox á០16 MB ááá¯á¡ááºáá«áááºá Xfce Terminal ááẠááááºáááẠáá¯á¶ážáááá¯ááŒá®ážáá±á¬ 34 MB ááá¯áá°áááºá ááá¯á·áá±á¬áº GNOME Terminal ááẠ20 MB áá¬ááá¯á¡ááºáááºá áá¯ááºáá«áááºá ááááºá
ááºážáááºááŸá¯á¡á¬ážáá¯á¶ážááᯠ32-bit áááá¯áá¬ááœááºáá¯ááºáá±á¬ááºáá²á·áááºá LCA 2012 ááœáẠRusty Russell
ááá¯á·áá±á¬áºá terminal áá²á·ááá¯á· á¡ááŒá±áá¶áá»áá±á¬ á¡áá¬áá áºáá¯ááá¯á· á¡ááá¯ááŸááºáá¬ááºáá»á¬áž ááœá²áá±áá±ážááŒááºážááẠá¡áááºážá¡ááŒá áºáá»á¬áž ááŒá¯ááºážáá®ážááŒááºážááŒá áºáááºáᯠáá»áœááºá¯ááºáá¶á á¬ážáááá¯á¶ááŒáá·áº ááá°áá®ááá¯ááºáá«á á€áááá¯ááááºáá»á¬ážááẠá¡áá±ážáááºáá¯á¶ážáá²á០á¡áá±ážáááºáá¯á¶ážááŒá áºááá·áºáááºá áá»áœááºá¯ááºááá¯á·ááẠLinux á áá áºáá»á¬ážáááºáááºáááºááá¯á¡ááºááá·áºáá±áá¬ááá¯á·áá±á¬ááºáá°ážáá«á áááºááá·áº "box" á shoebox ááœááºáááᯠrun ááá¯ááºááá·áºááẠ(áááºáááááºááŸáá·áºááá¯ááá¯á·ááŒá áºáááá·áºááẠ) ááá¯á·áá±á¬áº á€áá¶áá«ááºáá»á¬ážááŒáá·áºá á¡áá±á«á·áá«ážáá¯á¶ážááŸáá·áº áá¯ááºáá±á¬ááºááá¯ááºááŸá¯á¡áááºážá¡áá»ááºážááŸááœá²á á¡ááŒá¬áž terminal áá»á¬ážá áœá¬ááᯠá¡áá¯á¶ážááŒá¯ááá·áº áááºáááºážáá»ááºááœáẠáááºááá¯áá®á¡áá¯á¶ážááŒá¯ááŸá¯ááẠááŒá¿áá¬ááŒá áºáá¬áááá·áºáááºá áááºážá¡ááœáẠáá»á±á¬áºááŒá±ážáá±ážáááºá GNOME Terminalá Konsoleá urxvtá Terminator ááŸáá·áº Xfce Terminal ááœáẠáááºážááá¯á·áááŸááºáá¬ááºáá¯á¶ážá áœá²ááŸá¯ááᯠááá·áºáááºááŒá®áž áá¯ááºáááºážá ááºáá áºáá¯áááºážááŸáá áºááá·áº áá»á¬ážá áœá¬áá±á¬ terminal áá»á¬ážááᯠááááºážáá»á¯ááºááá¯ááºá á±ááá·áº Daemon áá¯ááºáá áºáá¯ááŸááááºá
áá»áœááºá¯ááºáá
ááºážáááºááŸá¯áá»á¬ážá¡ááœááºážá áá»áœááºá¯ááºááẠdisk read-write ááŸáá·áº áááºáááºáá±á¬ áá±á¬ááºáááºááá»áŸá±á¬áºááá·áºáá¬ážáá±á¬ááááºááᯠáááŸááá²á·áááº- á€áá±áá¬ááœáẠáá¯á¶ážááááœá±á·ááá±á¬á·áááºáᯠáá»áŸá±á¬áºááá·áºáá¬ážáá±á¬áºáááºáž á¡áá»áá¯á·áá±á¬ terminals áá»á¬ážááẠá¡ááœááºáá±á¬ááºááá±á¬ data áá»á¬ážááᯠdisk ááá¯á· áá±ážáá±ážáá±áááºááᯠááœá±á·ááŸáááá«áááºá ááá¯á·ááŒá±á¬áá·áºá VTE á
á¬ááŒáá·áºááá¯ááºááẠáá
áºááºáá±á«áºááœáẠscroll buffer ááᯠá¡ááŸááºáááẠááááºážáááºážáá¬ážáá«ááẠ(á€áá¯ááºáá±á¬ááºáá»ááº
áá±á¬ááºáá»ááº
áá±á¬ááºážáá«ážááááááá¯ááºážáá VTE-based terminals áá»á¬ážááœáẠáá±á¬ááºážááœááºáá±á¬á¡ááºá¹áá«áááºáá»á¬ážááŸááááºááᯠááœá±á·ááŸááá²á·áá±á¬áºáááºáž ááá¯á¡áá« áááºážááẠá áœááºážáá±á¬ááºáááºáá¯ááºáá»á ááááºá¡áá»áá¯á·ááŒáá·áº áá¬ááŒá±á¬ááºážááᯠáá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºááá«áááºá VTE terminals á¡á¬ážáá¯á¶ážááᯠáááºážááá¯á·á á¡á á¬á á¬ážáá»ááºá áááºááᯠááá·áºáááºáá¬ážááá·áº Daemon áá¯ááºáááºážá ááºááŒáá·áº ááááºážáá»á¯ááºááá¯ááºáá±á¬ááŒá±á¬áá·áº ááᯠmemory ááŒá¿áá¬ááá¯ááºáá«á ááá¯á·áá±á¬áºáááºážá RAM ááŸáá·áº kernel buffers ááá¬áá¡áá±á«áº áá¯ááºááá¯ááºážááá¯ááºáᬠááá·áºáááºáá»ááºáá»á¬ážááŸáááá·áº á áá áºáá±á¬ááºážáá»á¬ážááẠá¡áááºážá¡ááŒá áºáá»á¬áž áááááá¬áá¬áááºážáá«ážáá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááẠá¡áááºážá¡ááŒá áºáá»á¬ážááᯠá á¬ážáá¯á¶ážááŸá¯áááºážáá«ážáá±á¬ááŒá±á¬áá·áº terminals áá»á¬ážá á¡á á±á¬ááá¯ááºážáá¬ážááŸááºážáá»á¬áž ááá¯á¡ááºáá±áá±ážáááºá VTE terminals áá»á¬ážááẠthroughput (scrolling) tests ááœáẠáá±á¬ááºážááœááºá áœá¬áá¯ááºáá±á¬ááºáá±á¬áºáááºážá áááºážááá¯á·á display latency ááẠGNOME á¡áá¯á¶ážááŒá¯áá°áááºážááœáŸááºááœáẠáááºááŸááºáá¬ážááá·áº á¡ááá·áºáááºáá»á±á¬áºááœááºáá«áááºá VTE developer áá»á¬ážááẠáááºážááᯠááá·áºááœááºážá ááºážá á¬ážááá·áºáááºá terminal ááᯠá¡ááœá±á·á¡ááŒá¯á¶áááŸááá±ážáá±á¬ Linux á¡áá¯á¶ážááŒá¯áá°áá»á¬ážá¡ááœááºááẠááŸá±á¬ááºááœáŸá²áááááŒá±á¬ááºáž ááá·áºááœááºážá ááºážá á¬ážáá«áá áááºážááá¯á·ááẠááá¯ááá¯á¡áá¯á¶ážááŒá¯áááœááºáá°á á±áááºá á¡ááœá±á·á¡ááŒá¯á¶ááŸá geek áá»á¬ážá¡ááœááºá áá¯á¶áá± terminal ááŸááŒá±á¬ááºážááŒááºážááẠáá»ááºá ááá±á¬ááºážááŒááºážááᯠáááºáá¬á á±ááŒá®áž á¡áá¯ááºááŒá¬ááŒá¬á¡áá¯ááºáá»áááºáá»á¬ážááŒá±á¬áá·áº á¡áá¬áááºá¡áá¯ááºááŸáá·áºáááºá ááºáá±á¬ ááááá¯ááºáááºáá¬áááŸá¯áá»á¬ážááŸáá·áº áá»á¬ážáá¬ááŸá¯áá»á¬ážááᯠááŸá±á¬ááºááŸá¬ážááá¯ááºáááºááŒá áºáááºá áá¶ááá±á¬ááºážá áœá¬áá²á á¡áá±á¬ááºáž xterm ááŸáá·áº mlterm ááᬠáá»áœááºá¯ááºááá¯á·ááᯠ10 milliseconds á magic ping á¡ááá·áºááá¯á· ááá¯á·áá±á¬ááºáá±ážáááºá áááºážááẠáá»á¬ážá áœá¬áá±á¬áá°ááá¯á·á¡ááœáẠáááºááá¶ááá¯ááºáá«á
Benchmark ááá¯ááºážáá¬ááŸá¯áá»á¬ážááẠLinux ááááºáá
áºáááºáááºážáá»ááºáá»á¬áž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááŒá±á¬áá·áº developer áá»á¬ážááẠá¡áá±ážá¡áá°áá»á¬ážá
áœá¬ááŒá¯áá¯ááºáááŒá±á¬ááºáž ááŒááá²á·áááºá á¡áá»áá¯á·áá±á¬á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠáááá¬áááºááŸá¬ážáá±á¬ ping ááá¯áá»áŸá±á¬á·áá»áá±ážááá·áºá¡ááœáẠáá¯á¶ááŸááºáááºážááá¯ážáááºáá±áá»á¬áá»á¬ážááᯠááŒáá·áºááŸá¯ááá¯áá±áááºá áá¶ááá±á¬ááºážá
áœá¬ááŒáá·áºá Wayland á¡ááœáẠlatency ááᯠááá¯ááºážáá¬ááẠáááŒá
áºááá¯ááºáá«- áá»áœááºá¯ááºá¡áá¯á¶ážááŒá¯áá±á¬ Typometer áááá¯ááááºááᯠWayland á áá¬ážáá®ážááẠáá®ááá¯ááºážáá¯ááºáá¬ážáááº- á¡ááŒá¬áž windows áá»á¬ážááœáẠáá°áá»áŸáá¯áá¯ááºááŒááºážá¡ááœáẠáááºáá®ážáá¬ážáááºá Wayland compositing ááẠX.org ááẠááá¯áá±á¬ááºážáááºáᯠáá»áŸá±á¬áºááá·áºááŒá®áž á¡áá¬áááºááœáẠáá
áºá
á¯á¶áá
áºáŠážááẠá€áááºáááºážáá»ááºááœáẠlatency ááᯠááá¯ááºážáá¬ááẠáááºážáááºážááŸá¬ááœá±á·áááºáá¯áááºáž áá»áŸá±á¬áºááá·áºáá«áááºá
source: www.habr.com