టెర్మినల్ ఎమ్యులేటర్ల అవలోకనం

మా అనువాద బ్యూరో నుండి కొన్ని పదాలు: సాధారణంగా ప్రతి ఒక్కరూ తాజా మెటీరియల్‌లు మరియు ప్రచురణలను అనువదించడానికి ప్రయత్నిస్తారు మరియు మేము మినహాయింపు కాదు. కానీ టెర్మినల్స్ వారానికి ఒకసారి నవీకరించబడేవి కావు. అందువల్ల, 2018 వసంతకాలంలో ప్రచురించబడిన ఆంటోయిన్ బ్యూప్రే యొక్క కథనాన్ని మేము మీ కోసం అనువదించాము: ఆధునిక ప్రమాణాల ప్రకారం దాని గణనీయమైన “వయస్సు” ఉన్నప్పటికీ, మా అభిప్రాయం ప్రకారం, పదార్థం దాని ఔచిత్యాన్ని ఏమాత్రం కోల్పోలేదు. అదనంగా, ఇది మొదట రెండు కథనాల శ్రేణి, కానీ మేము వాటిని ఒక పెద్ద పోస్ట్‌గా కలపాలని నిర్ణయించుకున్నాము.

టెర్మినల్ ఎమ్యులేటర్ల అవలోకనం

కంప్యూటర్ చరిత్రలో టెర్మినల్‌లకు ప్రత్యేక స్థానం ఉంది, అయితే ఇటీవలి దశాబ్దాల్లో గ్రాఫికల్ ఇంటర్‌ఫేస్‌లు సర్వవ్యాప్తి చెందడంతో అవి కమాండ్ లైన్‌తో పాటు మనుగడ సాగించవలసి వచ్చింది. టెర్మినల్ ఎమ్యులేటర్లు వారి సొంత స్థానంలో హార్డ్‌వేర్ సోదరులు, ఇది పంచ్ కార్డ్‌లు మరియు టోగుల్ స్విచ్‌ల ఆధారంగా సిస్టమ్‌ల మార్పు. ఆధునిక పంపిణీలు అన్ని ఆకారాలు మరియు రంగుల టెర్మినల్ ఎమ్యులేటర్‌లతో వస్తాయి. మరియు చాలా మంది తమ పని వాతావరణం అందించిన ప్రామాణిక టెర్మినల్‌తో సంతృప్తి చెందారు, కొందరు గర్వంగా తమకు ఇష్టమైన షెల్ లేదా టెక్స్ట్ ఎడిటర్‌ని అమలు చేయడానికి స్పష్టమైన అన్యదేశ సాఫ్ట్‌వేర్‌ను ఉపయోగిస్తున్నారు. కానీ, ఈ కథనం నుండి మనం చూస్తాము, అన్ని టెర్మినల్స్ ఒకే చిత్రంలో సృష్టించబడలేదు: అవి కార్యాచరణ, పరిమాణం మరియు పనితీరులో చాలా భిన్నంగా ఉంటాయి.

కొన్ని టెర్మినల్‌లు చాలా ఆశ్చర్యకరమైన భద్రతా రంధ్రాలను కలిగి ఉంటాయి, ఇంకా చాలా వరకు టాబ్డ్ ఇంటర్‌ఫేస్‌కు మద్దతు నుండి స్క్రిప్టింగ్ వరకు పూర్తిగా భిన్నమైన ఫంక్షన్‌లను కలిగి ఉంటాయి. మేము అయినప్పటికీ సుదూర గతంలో టెర్మినల్ ఎమ్యులేటర్లను చూసింది, ఈ కథనం 2018లో ఏ టెర్మినల్‌ను ఉపయోగించాలో నిర్ణయించడంలో పాఠకులకు సహాయపడే మునుపటి మెటీరియల్‌కి సంబంధించిన నవీకరణ. కథనం యొక్క మొదటి సగం లక్షణాలను పోల్చింది మరియు రెండవ సగం పనితీరును అంచనా వేస్తుంది.

నేను సమీక్షించిన టెర్మినల్స్ ఇక్కడ ఉన్నాయి:

టెర్మినల్ ఎమ్యులేటర్ల అవలోకనం

నేను డెబియన్ 9 లేదా ఫెడోరా 27లో విడుదల చేయగలిగాను, రాసే సమయంలో నేను స్థిరమైన బిల్డ్‌లకే పరిమితమయ్యాను కాబట్టి ఇవి తాజా వెర్షన్‌లు కాకపోవచ్చు. ఇది GPU-యాక్సిలరేటెడ్ టెర్మినల్స్ యొక్క వారసుడు మరియు ఈ పని కోసం అసాధారణమైన మరియు కొత్త భాషలో వ్రాయబడింది - రస్ట్. నేను నా సమీక్ష నుండి వెబ్ టెర్మినల్‌లను మినహాయించాను (వీటితో సహా ఎలక్ట్రాన్), ఎందుకంటే ప్రాథమిక పరీక్షలు వారి అత్యంత పేలవమైన పనితీరును చూపించాయి.

యూనికోడ్ మద్దతు

నేను యూనికోడ్ మద్దతుతో నా పరీక్షలను ప్రారంభించాను. టెర్మినల్స్ యొక్క మొదటి పరీక్ష యూనికోడ్ స్ట్రింగ్‌ను ప్రదర్శించడం వికీపీడియా కథనాలు: “é, Δ, И, क, م, ๗, あ, 叶, 葉 మరియు 말.” ఈ సాధారణ పరీక్ష టెర్మినల్ ప్రపంచవ్యాప్తంగా సరిగ్గా పని చేస్తుందో లేదో చూపిస్తుంది. xterm టెర్మినల్ అరబిక్ అక్షరాన్ని ప్రదర్శించదు మేమ్ డిఫాల్ట్ కాన్ఫిగరేషన్‌లో:

టెర్మినల్ ఎమ్యులేటర్ల అవలోకనం

డిఫాల్ట్‌గా, xterm క్లాసిక్ "ఫిక్స్‌డ్" ఫాంట్‌ని ఉపయోగిస్తుంది, దీని ప్రకారం ఇప్పటికీ అదే విక్కీ, "1997 నుండి గణనీయమైన యూనికోడ్ కవరేజ్" ఉంది. అక్షరం ఖాళీ ఫ్రేమ్‌గా కనిపించేలా ఈ ఫాంట్‌లో ఏదో జరుగుతోంది మరియు టెక్స్ట్ ఫాంట్‌ను 20+ పాయింట్లకు పెంచినప్పుడు మాత్రమే అక్షరం సరిగ్గా ప్రదర్శించడం ప్రారంభమవుతుంది. అయితే, ఈ “పరిష్కారం” ఇతర యూనికోడ్ అక్షరాల ప్రదర్శనను విచ్ఛిన్నం చేస్తుంది:

టెర్మినల్ ఎమ్యులేటర్ల అవలోకనం

ఈ స్క్రీన్‌షాట్‌లు ఫెడోరా 27లో తీయబడ్డాయి, ఎందుకంటే ఇది డెబియన్ 9 కంటే మెరుగైన ఫలితాలను ఇచ్చింది, ఇక్కడ కొన్ని పాత టెర్మినల్స్ (ప్రత్యేకంగా mlterm) ఫాంట్‌లను సరిగ్గా నిర్వహించలేకపోయాయి. అదృష్టవశాత్తూ ఇది తరువాతి సంస్కరణల్లో పరిష్కరించబడింది.

ఇప్పుడు xtermలో లైన్ ఎలా ప్రదర్శించబడుతుందో గమనించండి. ఇది గుర్తు మెమ్ మరియు క్రింది సెమిటిక్ అని మారుతుంది qoph RTL శైలి స్క్రిప్ట్‌లను చూడండి (కుడి నుంచి ఎడమకు), కాబట్టి సాంకేతికంగా అవి కుడి నుండి ఎడమకు ప్రదర్శించబడాలి. Firefox 57 వంటి వెబ్ బ్రౌజర్‌లు పై లైన్‌ను సరిగ్గా నిర్వహిస్తాయి. RTL టెక్స్ట్ యొక్క సరళమైన సంస్కరణ పదం "Сара"హీబ్రూలో (שרה). ద్వి దిశాత్మక గ్రంథాలపై వికీ పేజీ ఈ క్రింది వాటిని చెప్పారు:

“చాలా కంప్యూటర్ ప్రోగ్రామ్‌లు ద్వి దిశాత్మక వచనాన్ని సరిగ్గా ప్రదర్శించలేవు. ఉదాహరణకు, "సారా" అనే హీబ్రూ పేరు పాపం (ש) (కుడివైపున కనిపిస్తుంది), ఆపై రెష్ (ר) మరియు చివరగా అతను (ה) (ఎడమవైపు కనిపించాలి)"

అనేక టెర్మినల్స్ ఈ పరీక్షలో విఫలమయ్యాయి: అలక్రిటీ, VTE-ఉత్పన్నమైన గ్నోమ్ మరియు XFCE టెర్మినల్స్, urxvt, st మరియు xterm డిస్ప్లే "సారా" రివర్స్ ఆర్డర్‌లో, మనం పేరును "Aras"గా వ్రాసినట్లు.

టెర్మినల్ ఎమ్యులేటర్ల అవలోకనం

ద్వి దిశాత్మక పాఠాలతో ఉన్న మరో సమస్య ఏమిటంటే, వాటిని ఎలాగైనా సమలేఖనం చేయాలి, ప్రత్యేకించి RTL మరియు LTR టెక్స్ట్‌లను కలపడం విషయానికి వస్తే. RTL స్క్రిప్ట్‌లు టెర్మినల్ విండో యొక్క కుడి వైపు నుండి అమలు చేయబడాలి, అయితే LTR ఇంగ్లీషుకు డిఫాల్ట్ అయ్యే టెర్మినల్స్ కోసం ఏమి జరగాలి? వాటిలో చాలా వరకు ప్రత్యేక మెకానిజమ్‌లు లేవు మరియు అన్ని టెక్స్ట్‌లను ఎడమవైపుకి (కాన్సోల్‌తో సహా) సమలేఖనం చేస్తాయి. మినహాయింపులు pterm మరియు mlterm, ఇవి ప్రమాణాలకు కట్టుబడి ఉంటాయి మరియు అటువంటి పంక్తులను కుడి-సమలేఖనం చేస్తాయి.

టెర్మినల్ ఎమ్యులేటర్ల అవలోకనం

చొప్పించే రక్షణ

నేను గుర్తించిన తదుపరి క్లిష్టమైన లక్షణం యాంటీ ఇన్సర్షన్ రక్షణ. అక్షరములు ఇలా ఉన్నాయని విస్తృతంగా తెలిసినప్పటికీ:

$ curl http://example.com/ | sh

కోడ్ ఎగ్జిక్యూషన్ పుష్ కమాండ్‌లు, జాగ్రత్తగా తనిఖీ చేసిన తర్వాత కూడా వెబ్ బ్రౌజర్ నుండి కాపీ చేసి పేస్ట్ చేస్తున్నప్పుడు దాచిన కమాండ్‌లు కన్సోల్‌లోకి చొరబడతాయని కొంతమందికి తెలుసు. ధృవీకరణ సైట్ జియానా హార్నా కమాండ్ ఎంత హానికరం కాదో అద్భుతంగా చూపిస్తుంది:

git clone git: //git.kernel.org/pub/scm/utils/kup/kup.git

హార్న్ వెబ్‌సైట్ నుండి టెర్మినల్‌లో అతికించినప్పుడు అటువంటి ఇబ్బందిగా మారుతుంది:

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ని ఉపయోగించి వినియోగదారు వీక్షణ నుండి తరలించబడింది.

బ్రాకెట్డ్ పేస్ట్ మోడ్ అటువంటి దాడులను తటస్థీకరించడానికి స్పష్టంగా రూపొందించబడింది. ఈ మోడ్‌లో, టెర్మినల్‌లు టెక్స్ట్ యొక్క మూలం గురించి షెల్‌కు చెప్పడానికి అతికించిన వచనాన్ని ఒక జత ప్రత్యేక ఎస్కేప్ సీక్వెన్స్‌లలో జతచేస్తాయి. అతికించిన వచనం కలిగి ఉండే ప్రత్యేక అక్షరాలను విస్మరించవచ్చని ఇది షెల్‌కు తెలియజేస్తుంది. గౌరవనీయమైన xtermకి తిరిగి వచ్చిన అన్ని టెర్మినల్స్ ఈ లక్షణానికి మద్దతు ఇస్తాయి, అయితే బ్రాకెట్ మోడ్‌లో అతికించడానికి టెర్మినల్‌లో నడుస్తున్న షెల్ లేదా అప్లికేషన్ నుండి మద్దతు అవసరం. ఉదాహరణకు, సాఫ్ట్‌వేర్ ఉపయోగించడం GNU రీడ్‌లైన్ (అదే బాష్), ఫైల్ అవసరం ~/.inputrc:

set enable-bracketed-paste on

దురదృష్టవశాత్తూ, హార్న్ యొక్క పరీక్షా సైట్ ఈ రక్షణను టెక్స్ట్ ఫార్మాటింగ్ ద్వారా ఎలా దాటవేయాలో కూడా చూపిస్తుంది మరియు దానికి బ్రాకెట్ మోడ్‌ను వర్తింపజేయడం అకాలంగా ముగుస్తుంది. కొన్ని టెర్మినల్స్ వాటి స్వంత వాటిని జోడించే ముందు ఎస్కేప్ సీక్వెన్స్‌లను సరిగ్గా ఫిల్టర్ చేయనందున ఇది పని చేస్తుంది. ఉదాహరణకు, నాలో నేను సరైన కాన్ఫిగరేషన్‌తో కూడా కాన్సోల్ పరీక్షలను విజయవంతంగా పూర్తి చేయలేకపోయాను .inputrc ఫైల్. మద్దతు లేని అప్లికేషన్ లేదా తప్పుగా కాన్ఫిగర్ చేయబడిన షెల్ కారణంగా మీరు మీ సిస్టమ్ కాన్ఫిగరేషన్‌ను సులభంగా పాడైనట్లు పొందవచ్చని దీని అర్థం. రిమోట్ సర్వర్‌లలోకి లాగిన్ అయినప్పుడు ఇది చాలా ప్రమాదకరం, ఇక్కడ జాగ్రత్తగా కాన్ఫిగరేషన్ పని తక్కువగా ఉంటుంది, ప్రత్యేకించి మీరు చాలా రిమోట్ మెషీన్‌లను కలిగి ఉంటే.

ఈ సమస్యకు మంచి పరిష్కారం టెర్మినల్ కోసం పేస్ట్ నిర్ధారణ ప్లగ్ఇన్ urxvt, ఇది కేవలం కొత్త లైన్‌లను కలిగి ఉన్న ఏదైనా వచనాన్ని చొప్పించడానికి అనుమతిని అడుగుతుంది. హార్న్ వివరించిన వచన దాడికి నేను మరింత సురక్షితమైన ఎంపికను కనుగొనలేదు.

ట్యాబ్‌లు మరియు ప్రొఫైల్‌లు

ప్రస్తుతం జనాదరణ పొందిన లక్షణం టాబ్డ్ ఇంటర్‌ఫేస్‌కు మద్దతు, దీనిని మేము అనేక ఇతర టెర్మినల్స్‌ను కలిగి ఉన్న ఒక టెర్మినల్ విండోగా నిర్వచిస్తాము. ఈ ఫంక్షన్ వివిధ టెర్మినల్‌లకు భిన్నంగా ఉంటుంది మరియు సాంప్రదాయ xterm టెర్మినల్స్ ట్యాబ్‌లకు అస్సలు మద్దతు ఇవ్వనప్పటికీ, Xfce టెర్మినల్, GNOME టెర్మినల్ మరియు Konsole వంటి ఆధునిక టెర్మినల్ అవతారాలు ఈ ఫంక్షన్‌ను కలిగి ఉన్నాయి. Urxvt ట్యాబ్‌లకు కూడా మద్దతు ఇస్తుంది, కానీ మీరు ప్లగిన్‌ని ఉపయోగిస్తే మాత్రమే. కానీ ట్యాబ్ మద్దతు పరంగా, టెర్మినేటర్ తిరుగులేని నాయకుడు: ఇది ట్యాబ్‌లకు మద్దతు ఇవ్వడమే కాకుండా, టెర్మినల్‌లను ఏ క్రమంలోనైనా ఏర్పాటు చేయగలదు (క్రింద ఉన్న చిత్రాన్ని చూడండి).

టెర్మినల్ ఎమ్యులేటర్ల అవలోకనం

టెర్మినేటర్ యొక్క మరొక లక్షణం ఏమిటంటే, ఈ ట్యాబ్‌లను కలిసి "గ్రూప్" చేయగల సామర్థ్యం మరియు ఒకే సమయంలో బహుళ టెర్మినల్‌లకు ఒకే కీస్ట్రోక్‌లను పంపడం, ఏకకాలంలో బహుళ సర్వర్‌లలో బల్క్ ఆపరేషన్‌లను నిర్వహించడానికి ఒక ముడి సాధనాన్ని అందించడం. ఇదే లక్షణం కాన్సోల్‌లో కూడా అమలు చేయబడింది. ఇతర టెర్మినల్స్‌లో ఈ లక్షణాన్ని ఉపయోగించడానికి, మీరు తప్పనిసరిగా మూడవ పక్ష సాఫ్ట్‌వేర్‌ను ఉపయోగించాలి క్లస్టర్ SSH, xlax లేదా tmux.

ప్రొఫైల్‌లతో జత చేసినప్పుడు ట్యాబ్‌లు బాగా పని చేస్తాయి: ఉదాహరణకు, మీరు ఇమెయిల్ కోసం ఒక ట్యాబ్, చాట్ కోసం మరొక ట్యాబ్ మరియు మొదలైనవి కలిగి ఉండవచ్చు. దీనికి కాన్సోల్ టెర్మినల్ మరియు గ్నోమ్ టెర్మినల్ బాగా మద్దతు ఇస్తున్నాయి. రెండూ ప్రతి ట్యాబ్ దాని స్వంత ప్రొఫైల్‌ను స్వయంచాలకంగా ప్రారంభించటానికి అనుమతిస్తాయి. టెర్మినేటర్ ప్రొఫైల్‌లకు కూడా మద్దతు ఇస్తుంది, కానీ మీరు నిర్దిష్ట ట్యాబ్‌ను తెరిచినప్పుడు కొన్ని ప్రోగ్రామ్‌లను స్వయంచాలకంగా ప్రారంభించే మార్గాన్ని నేను కనుగొనలేకపోయాను. ఇతర టెర్మినల్స్ "ప్రొఫైల్" అనే భావనను కలిగి ఉండవు.

రఫుల్స్

ఈ ఆర్టికల్ మొదటి భాగంలో నేను కవర్ చేసే చివరి విషయం టెర్మినల్స్ యొక్క రూపాన్ని. ఉదాహరణకు GNOME, Xfce మరియు urxvt పారదర్శకతకు మద్దతు ఇస్తున్నాయి, అయితే ఇటీవల నేపథ్య చిత్రాలకు మద్దతుని నిలిపివేసాయి, కొంతమంది వినియోగదారులు టెర్మినల్‌కు మారవలసి వచ్చింది. Tilix. వ్యక్తిగతంగా, నేను దానితో సంతోషంగా ఉన్నాను మరియు ఇది చాలా సులభం X వనరులు, ఇది urxvt కోసం నేపథ్య రంగుల బేస్ సెట్‌ను సెట్ చేస్తుంది. అయితే, ప్రామాణికం కాని రంగు థీమ్‌లు కూడా సమస్యలను సృష్టించగలవు. ఉదాహరణకి, Solarized పని చేయదు అప్లికేషన్లతో htop и IPTraf, వారు ఇప్పటికే వారి స్వంత రంగులను ఉపయోగిస్తున్నందున.

అసలు VT100 టెర్మినల్ రంగులకు మద్దతు ఇవ్వలేదు మరియు కొత్తవి తరచుగా 256-రంగు పాలెట్‌కు పరిమితం చేయబడ్డాయి. వారి టెర్మినల్‌లను స్టైల్ చేసే అధునాతన వినియోగదారుల కోసం, షెల్ ప్రాంప్ట్‌లు లేదా క్లిష్టమైన మార్గాల్లో స్టేటస్ బార్‌లు బాధించే పరిమితిగా ఉంటాయి. సారాంశం ఏ టెర్మినల్స్ "ట్రూ కలర్" మద్దతును కలిగి ఉన్నాయో ట్రాక్ చేస్తుంది. నా పరీక్షలు st, Alacritty మరియు VTE-ఆధారిత టెర్మినల్స్ ట్రూ కలర్‌కు సంపూర్ణంగా మద్దతు ఇస్తాయని నిర్ధారిస్తాయి. ఇతర టెర్మినల్స్ ఈ విషయంలో బాగా పని చేయవు మరియు వాస్తవానికి, 256 రంగులను కూడా ప్రదర్శించవు. క్రింద మీరు GNOME టెర్మినల్స్, st మరియు xtermలలో ట్రూ కలర్ సపోర్ట్‌ల మధ్య వ్యత్యాసాన్ని చూడవచ్చు, ఇవి వాటి 256 కలర్ పాలెట్‌తో మంచి పని చేస్తాయి మరియు urxvt, ఇది పరీక్షలో విఫలమవ్వడమే కాకుండా వాటికి బదులుగా కొన్ని మెరిసే అక్షరాలను కూడా చూపుతుంది.

టెర్మినల్ ఎమ్యులేటర్ల అవలోకనం

కొన్ని టెర్మినల్స్ లింక్‌లను క్లిక్ చేయగలిగేలా చేయడానికి URL నమూనాల కోసం వచనాన్ని కూడా విశ్లేషిస్తాయి. ఇది అన్ని VTE-ఉత్పన్నమైన టెర్మినల్‌లకు వర్తిస్తుంది, అయితే urxvtకి ఒక ప్రత్యేక ప్లగ్-ఇన్ అవసరం అయితే అది ఒక క్లిక్‌పై లేదా కీబోర్డ్ సత్వరమార్గాన్ని ఉపయోగించి URLలను మారుస్తుంది. నేను పరీక్షించిన ఇతర టెర్మినల్స్ ఇతర మార్గాల్లో URLలను ప్రదర్శిస్తాయి.

చివరగా, టెర్మినల్స్‌లో కొత్త ట్రెండ్ స్క్రోల్ బఫర్ యొక్క ఐచ్ఛికం. ఉదాహరణకు, stకి స్క్రోల్ బఫర్ లేదు; వినియోగదారు tmux మరియు వంటి టెర్మినల్ మల్టీప్లెక్సర్‌ని ఉపయోగిస్తారని భావించబడుతుంది GNU స్క్రీన్.

అలక్రిటీలో బ్యాక్‌స్క్రోల్ బఫర్‌లు కూడా లేవు, కానీ త్వరలో చేర్చబడుతుంది వినియోగదారుల నుండి ఈ అంశంపై "విస్తృతమైన అభిప్రాయం" కారణంగా దాని మద్దతు. ఈ అప్‌స్టార్ట్‌లు కాకుండా, నేను పరీక్షించిన ప్రతి టెర్మినల్ రివర్స్ స్క్రోలింగ్‌కు మద్దతునిస్తుంది.

ఉపమొత్తాలు

పదార్థం యొక్క రెండవ భాగంలో (అసలు ఇవి రెండు వేర్వేరు వ్యాసాలు - సుమారు. వీధి) మేము పనితీరు, మెమరీ వినియోగం మరియు జాప్యాన్ని పోల్చి చూస్తాము. కానీ ప్రశ్నలోని కొన్ని టెర్మినల్స్ తీవ్రమైన లోపాలను కలిగి ఉన్నాయని మనం ఇప్పటికే చూడవచ్చు. ఉదాహరణకు, RTL స్క్రిప్ట్‌లతో క్రమం తప్పకుండా పని చేసే వినియోగదారులు mlterm మరియు ptermలను పరిగణించాలనుకోవచ్చు, ఎందుకంటే వారు ఇతరుల కంటే ఇలాంటి పనులను నిర్వహించడంలో మెరుగ్గా ఉంటారు. కాన్సోల్ కూడా బాగా నటించింది. RTL స్క్రిప్ట్‌లతో పని చేయని వినియోగదారులు వేరొకదాన్ని ఎంచుకోవచ్చు.

హానికరమైన కోడ్ చొప్పించడం నుండి రక్షణ పరంగా, urxvt ఈ రకమైన దాడికి వ్యతిరేకంగా రక్షణ యొక్క ప్రత్యేక అమలు కారణంగా నిలుస్తుంది, ఇది నాకు ఖచ్చితంగా సౌకర్యవంతంగా కనిపిస్తుంది. కొన్ని గంటలు మరియు ఈలల కోసం వెతుకుతున్న వారికి, కాన్సోల్ చూడదగినది. చివరగా, VTE అనేది టెర్మినల్స్ కోసం ఒక అద్భుతమైన బేస్ అని గమనించాలి, ఇది రంగు మద్దతు, URL గుర్తింపు మరియు మొదలైన వాటికి హామీ ఇస్తుంది. మొదటి చూపులో, మీకు ఇష్టమైన వాతావరణంతో వచ్చే డిఫాల్ట్ టెర్మినల్ అన్ని అవసరాలను తీర్చవచ్చు, అయితే మేము పనితీరును అర్థం చేసుకునే వరకు ఈ ప్రశ్నను తెరిచి ఉంచుదాం.

సంభాషణను కొనసాగిద్దాం


సాధారణంగా, టెర్మినల్స్ యొక్క పనితీరు చాలా దూరం సమస్యగా అనిపించవచ్చు, కానీ అది తేలినట్లుగా, వాటిలో కొన్ని అటువంటి ప్రాథమిక రకం సాఫ్ట్‌వేర్ కోసం ఆశ్చర్యకరంగా అధిక జాప్యాన్ని ప్రదర్శిస్తాయి. సాంప్రదాయకంగా "స్పీడ్" (వాస్తవానికి, ఇది స్క్రోలింగ్ వేగం) మరియు టెర్మినల్ యొక్క మెమరీ వినియోగం (దశాబ్దాల క్రితం ఉన్నంత క్లిష్టమైనది కాదనే హెచ్చరికతో) తదుపరి మేము పరిశీలిస్తాము.

ఆలస్యం

టెర్మినల్ పనితీరును పూర్తిగా అధ్యయనం చేసిన తర్వాత, ఈ విషయంలో అత్యంత ముఖ్యమైన పరామితి జాప్యం (పింగ్) అని నేను నిర్ధారణకు వచ్చాను. తన వ్యాసంలో "మేము ఆనందంతో ముద్రిస్తాము" పావెల్ ఫాటిన్ వివిధ టెక్స్ట్ ఎడిటర్‌ల జాప్యాన్ని పరిశీలించారు మరియు ఈ విషయంలో టెర్మినల్స్ వేగవంతమైన టెక్స్ట్ ఎడిటర్‌ల కంటే నెమ్మదిగా ఉండవచ్చని సూచించాడు. ఈ సూచన చివరికి నా స్వంత పరీక్షలను అమలు చేయడానికి మరియు ఈ కథనాన్ని వ్రాయడానికి దారితీసింది.

అయితే జాప్యం అంటే ఏమిటి మరియు ఇది ఎందుకు చాలా ముఖ్యమైనది? తన వ్యాసంలో, ఫాటిన్ దానిని "కీని నొక్కడం మరియు సంబంధిత స్క్రీన్ నవీకరణ మధ్య ఆలస్యం" అని నిర్వచించాడు మరియు కోట్ చేశాడు "గైడ్ టు హ్యూమన్-కంప్యూటర్ ఇంటరాక్షన్", ఇది ఇలా చెబుతోంది: "కంప్యూటర్ డిస్‌ప్లేలో దృశ్యమాన అభిప్రాయంలో ఆలస్యం టైపిస్ట్ ప్రవర్తన మరియు సంతృప్తిపై ముఖ్యమైన ప్రభావాన్ని చూపుతుంది."

ఈ పింగ్ కేవలం సంతృప్తి కంటే లోతైన పరిణామాలను కలిగి ఉందని ఫాటిన్ వివరిస్తుంది: "టైపింగ్ నెమ్మదిగా మారుతుంది, మరిన్ని లోపాలు సంభవిస్తాయి మరియు కంటి మరియు కండరాల ఒత్తిడి పెరుగుతుంది." మరో మాటలో చెప్పాలంటే, పెద్ద జాప్యం అక్షరదోషాలకు దారితీస్తుంది మరియు కోడ్ నాణ్యతను కూడా తగ్గిస్తుంది, ఎందుకంటే ఇది మెదడుపై అదనపు అభిజ్ఞా భారానికి దారితీస్తుంది. కానీ అధ్వాన్నమైన విషయం ఏమిటంటే, పింగ్ "కంటి మరియు కండరాల ఒత్తిడిని పెంచుతుంది," ఇది సూచిస్తుంది వృత్తిపరమైన గాయాల అభివృద్ధి భవిష్యత్తులో (స్పష్టంగా, రచయిత అంటే కళ్ళు, వెనుక, చేతులు మరియు, వాస్తవానికి, దృష్టి యొక్క కండరాలతో సమస్యలు - సుమారుగా. వీధి) పునరావృత ఒత్తిడి కారణంగా.

ఈ ప్రభావాలలో కొన్ని చాలా కాలంగా తెలిసినవి, మరియు ఫలితాలు పరిశోధన, ఎర్గోనామిక్స్ జర్నల్‌లో 1976లో తిరిగి ప్రచురించబడింది, 100 మిల్లీసెకన్ల ఆలస్యం "టైపింగ్ వేగాన్ని గణనీయంగా దెబ్బతీస్తుంది" అని చెప్పింది. ఇటీవల, గ్నోమ్ యూజర్ గైడ్ పరిచయం చేయబడింది ఆమోదయోగ్యమైన ప్రతిస్పందన సమయం 10 మిల్లీసెకన్లలో, మరియు మీరు మరింత ముందుకు వెళితే, అప్పుడు మైక్రోసాఫ్ట్ పరిశోధన 1 మిల్లీసెకన్ అనువైనదని చూపిస్తుంది.

ఫాటిన్ తన పరీక్షలను టెక్స్ట్ ఎడిటర్‌లపై నిర్వహించాడు; అనే పోర్టబుల్ సాధనాన్ని సృష్టించాడు టైపోమీటర్, నేను టెర్మినల్ ఎమ్యులేటర్లలో పింగ్‌ని పరీక్షించడానికి ఉపయోగించాను. పరీక్ష అనుకరణ మోడ్‌లో నిర్వహించబడిందని గుర్తుంచుకోండి: వాస్తవానికి, మేము ఇన్‌పుట్ (కీబోర్డ్, USB కంట్రోలర్, మొదలైనవి) మరియు అవుట్‌పుట్ (వీడియో కార్డ్ బఫర్, మానిటర్) జాప్యం రెండింటినీ పరిగణనలోకి తీసుకోవాలి. ఫాటిన్ ప్రకారం, సాధారణ కాన్ఫిగరేషన్లలో ఇది సుమారు 20 ms. మీరు గేమింగ్ పరికరాలు కలిగి ఉంటే, మీరు ఈ సంఖ్యను కేవలం 3 మిల్లీసెకన్లలో సాధించవచ్చు. మన దగ్గర ఇంత ఫాస్ట్ హార్డ్‌వేర్ ఇప్పటికే ఉన్నందున, అప్లికేషన్ దాని స్వంత జాప్యాన్ని జోడించాల్సిన అవసరం లేదు. ఫాటిన్ యొక్క లక్ష్యం అప్లికేషన్ జాప్యాన్ని 1 మిల్లీసెకన్‌కు తీసుకురావడం లేదా డయలింగ్ లేకుండా చేయడం కూడా కొలవగల ఆలస్యం, ఎలా లోపల IntelliJ IDEA 15.

నా ప్రయోగం అతని పరీక్షలతో ఏకీభవించిందని చూపించడానికి నా కొలతల ఫలితాలు, అలాగే ఫాటిన్ యొక్క కొన్ని ఫలితాలు ఇక్కడ ఉన్నాయి:

టెర్మినల్ ఎమ్యులేటర్ల అవలోకనం

xterm మరియు mlterm వంటి పాత ప్రోగ్రామ్‌ల యొక్క మెరుగైన ప్రతిస్పందన సమయం నన్ను తాకిన మొదటి విషయం. చెత్త రిజిస్టర్ లేటెన్సీతో (2,4 ms), వారు వేగవంతమైన ఆధునిక టెర్మినల్ (st కోసం 10,6 ms) కంటే మెరుగ్గా పనిచేశారు. ఆధునిక టెర్మినల్ ఏదీ 10 మిల్లీసెకన్ల థ్రెషోల్డ్ కంటే తక్కువగా ఉండదు. ప్రత్యేకించి, అలక్రిట్టి "అందుబాటులో ఉన్న వేగవంతమైన టెర్మినల్ ఎమ్యులేటర్" దావాను అందుకోవడంలో విఫలమైంది, అయినప్పటికీ 2017లో దాని మొదటి సమీక్ష నుండి దాని స్కోర్లు మెరుగుపడ్డాయి. నిజానికి, ప్రాజెక్ట్ రచయితలు పరిస్థితి గురించి తెలుసుకున్నారు మరియు డిస్‌ప్లేను మెరుగుపరచడానికి పని చేస్తున్నారు. GTK3ని ఉపయోగించే Vim దాని GTK2 ప్రతిరూపం కంటే నెమ్మదిగా ఉండే క్రమం అని కూడా గమనించాలి. దీని నుండి మనం GTK3 అదనపు జాప్యాన్ని సృష్టిస్తుందని మరియు దీనిని ఉపయోగించే అన్ని ఇతర టెర్మినల్స్‌లో ప్రతిబింబిస్తుంది (టెర్మినేటర్, Xfce4 టెర్మినల్ మరియు GNOME టెర్మినల్).

అయితే, తేడాలు కంటికి గుర్తించబడవు. ఫాటిన్ వివరించినట్లుగా, "మీపై ప్రభావం చూపడానికి ఆలస్యం గురించి మీరు తెలుసుకోవాల్సిన అవసరం లేదు." ప్రామాణిక విచలనం గురించి కూడా ఫాటిన్ హెచ్చరించాడు: "జాప్యం (జిట్టర్)లో ఏవైనా ఆటంకాలు వాటి అనూహ్యత కారణంగా అదనపు ఒత్తిడిని సృష్టిస్తాయి."

టెర్మినల్ ఎమ్యులేటర్ల అవలోకనం

పై గ్రాఫ్ స్వచ్ఛమైన డెబియన్ 9 (స్ట్రెచ్)తో తీసుకోబడింది i3 విండో మేనేజర్. ఈ పర్యావరణం జాప్యం పరీక్షలలో ఉత్తమ ఫలితాలను ఉత్పత్తి చేస్తుంది. ఇది ముగిసినట్లుగా, GNOME అన్ని కొలతల కోసం 20 ms అదనపు పింగ్‌ను సృష్టిస్తుంది. ఇన్‌పుట్ ఈవెంట్‌ల సింక్రోనస్ ప్రాసెసింగ్‌తో ప్రోగ్రామ్‌ల ఉనికి దీనికి సాధ్యమయ్యే వివరణ. అటువంటి సందర్భానికి ఫాటిన్ ఒక ఉదాహరణ ఇస్తాడు Workrave, ఇది అన్ని ఇన్‌పుట్ ఈవెంట్‌లను సమకాలీకరించడం ద్వారా ఆలస్యాన్ని జోడిస్తుంది. డిఫాల్ట్‌గా, గ్నోమ్ విండో మేనేజర్‌తో కూడా వస్తుంది ముట్టేర్, ఇది బఫరింగ్ యొక్క అదనపు పొరను సృష్టిస్తుంది, ఇది పింగ్‌ను ప్రభావితం చేస్తుంది మరియు కనీసం 8 మిల్లీసెకన్ల జాప్యాన్ని జోడిస్తుంది.

టెర్మినల్ ఎమ్యులేటర్ల అవలోకనం

స్క్రోల్ వేగం

తదుపరి పరీక్ష సాంప్రదాయ "వేగం" లేదా "బ్యాండ్‌విడ్త్" పరీక్ష, ఇది స్క్రీన్‌పై పెద్ద మొత్తంలో వచనాన్ని ప్రదర్శిస్తున్నప్పుడు టెర్మినల్ ఎంత త్వరగా పేజీని స్క్రోల్ చేయగలదో కొలుస్తుంది. పరీక్ష యొక్క మెకానిక్స్ మారుతూ ఉంటాయి; సీక్ కమాండ్‌ని ఉపయోగించి ఒకే టెక్స్ట్ స్ట్రింగ్‌ను రూపొందించడం అసలు పరీక్ష. ఇతర పరీక్షలలో థామస్ E. డిక్కీ యొక్క (xterm మెయింటెయినర్) పరీక్ష ఉంటుంది, ఇది పదే పదే terminfo.src ఫైల్ డౌన్‌లోడ్ చేయబడింది. టెర్మినల్ పనితీరు యొక్క మరొక సమీక్షలో డెన్ లూ యాదృచ్ఛిక బైట్‌ల బేస్32 ఎన్‌కోడ్ స్ట్రింగ్‌ను ఉపయోగిస్తుంది, ఇది క్యాట్‌ని ఉపయోగించి టెర్మినల్‌కు అవుట్‌పుట్ అవుతుంది. Luu అటువంటి పరీక్షను "ఒకరు ఊహించేంత పనికిరాని బెంచ్‌మార్క్"గా పరిగణించారు మరియు బదులుగా టెర్మినల్ ప్రతిస్పందనను ప్రాథమిక మెట్రిక్‌గా ఉపయోగించాలని సూచించారు. డిక్కీ తన పరీక్షను తప్పుదారి పట్టించేదిగా కూడా పేర్కొన్నాడు. అయినప్పటికీ, టెర్మినల్ విండో బ్యాండ్‌విడ్త్ సమస్యగా ఉంటుందని ఇద్దరు రచయితలు అంగీకరించారు. పెద్ద ఫైల్‌లను ప్రదర్శించేటప్పుడు ఎమాక్స్ ఎషెల్ గడ్డకట్టడాన్ని Luu కనుగొన్నాడు మరియు xtrerm యొక్క దృశ్య మందగమనాన్ని వదిలించుకోవడానికి డిక్కీ టెర్మినల్‌ను ఆప్టిమైజ్ చేసింది. కాబట్టి ఈ పరీక్షకు ఇంకా కొంత మెరిట్ ఉంది, కానీ రెండరింగ్ ప్రక్రియ టెర్మినల్ నుండి టెర్మినల్‌కు చాలా భిన్నంగా ఉంటుంది కాబట్టి, ఇది ఇతర పారామితులను పరీక్షించడానికి పరీక్ష అంశంగా కూడా ఉపయోగించవచ్చు.

టెర్మినల్ ఎమ్యులేటర్ల అవలోకనం

ఇక్కడ మేము rxvt మరియు st పోటీకి ముందుకి లాగడం చూస్తాము, దాని తర్వాత చాలా కొత్త అలక్రిట్టి, ఇది పనితీరుపై దృష్టి సారించి రూపొందించబడింది. తర్వాతి స్థానాల్లో Xfce (VTE కుటుంబం) మరియు Konsole ఉన్నాయి, ఇవి దాదాపు రెండు రెట్లు వేగంగా ఉంటాయి. చివరిది xterm, ఇది rxvt కంటే ఐదు రెట్లు నెమ్మదిగా ఉంటుంది. పరీక్ష సమయంలో, xterm కూడా చాలా అలలు అయ్యింది, టెక్స్ట్ పాస్ చేయడం అదే లైన్ అయినా చూడటం కష్టం. కాన్సోల్ వేగవంతమైనది, కానీ కొన్నిసార్లు ఇది గమ్మత్తైనది: ప్రదర్శన కాలానుగుణంగా స్తంభింపజేస్తుంది, పాక్షిక వచనాన్ని చూపుతుంది లేదా అస్సలు చూపదు. st, Alacritty మరియు rxvtతో సహా ఇతర టెర్మినల్స్ స్ట్రింగ్‌లను స్పష్టంగా ప్రదర్శించాయి.

వివిధ టెర్మినల్స్‌లో స్క్రోల్ బఫర్‌ల రూపకల్పన కారణంగా పనితీరు వ్యత్యాసాలు ఉన్నాయని డిక్కీ వివరించాడు. ప్రత్యేకించి, అతను rxvt మరియు ఇతర టెర్మినల్స్ "సాధారణ నియమాలను పాటించడం లేదు" అని నిందించాడు:

“xterm కాకుండా, rxvt అన్ని నవీకరణలను ప్రదర్శించడానికి ప్రయత్నించలేదు. అది వెనుకబడితే, అది అప్‌డేట్ చేయడానికి కొన్ని అప్‌డేట్‌లను నిరాకరిస్తుంది. ఇది అంతర్గత మెమరీ సంస్థపై కంటే స్పష్టమైన స్క్రోలింగ్ వేగంపై ఎక్కువ ప్రభావం చూపింది. ఒక లోపం ఏమిటంటే ASCII యానిమేషన్ కొంతవరకు అస్పష్టంగా ఉంది."

ఈ గ్రహించిన xterm బద్ధకాన్ని పరిష్కరించడానికి, Dickey వనరును ఉపయోగించమని సూచించింది వేగంగా స్క్రోల్ చేయండి, ప్రవాహాన్ని కొనసాగించడానికి కొన్ని స్క్రీన్ అప్‌డేట్‌లను విస్మరించడానికి xtermని అనుమతిస్తుంది. ఫాస్ట్‌స్క్రోల్ పనితీరును మెరుగుపరుస్తుందని మరియు xtermని rxvtతో సమానంగా తీసుకువస్తుందని నా పరీక్షలు నిర్ధారిస్తాయి. ఏది ఏమైనప్పటికీ, డిక్కీ స్వయంగా వివరించినట్లు ఇది చాలా కఠినమైన ఊతకర్రగా ఉంది: "కొన్నిసార్లు xterm - konsole వంటిది - కొన్ని తీసివేయబడిన తర్వాత కొత్త సెట్ స్క్రీన్ అప్‌డేట్‌ల కోసం వేచి ఉన్నందున నిలిచిపోయినట్లు అనిపిస్తుంది." ఈ పంథాలో, ఇతర టెర్మినల్స్ వేగం మరియు ప్రదర్శన సమగ్రత మధ్య ఉత్తమమైన రాజీని కనుగొన్నట్లు తెలుస్తోంది.

వనరుల వినియోగం

స్క్రోలింగ్ వేగాన్ని పనితీరు మెట్రిక్‌గా పరిగణించడం సమంజసం కాదా అనే దానితో సంబంధం లేకుండా, ఈ పరీక్ష టెర్మినల్స్‌పై లోడ్‌ను అనుకరించడానికి అనుమతిస్తుంది, ఇది మెమరీ లేదా డిస్క్ వినియోగం వంటి ఇతర పారామితులను కొలవడానికి అనుమతిస్తుంది. పేర్కొన్న పరీక్షను అమలు చేయడం ద్వారా కొలమానాలు పొందబడ్డాయి సీక్ పైథాన్ ప్రక్రియ పర్యవేక్షణ కింద. మీటర్ డేటాను సేకరించాడు గెట్రుసేజ్() కోసం ru_maxrss, మొత్తం ru_oublock и ru_inblock మరియు ఒక సాధారణ టైమర్.

టెర్మినల్ ఎమ్యులేటర్ల అవలోకనం

ఈ పరీక్షలో, ST అత్యల్ప సగటు మెమరీ వినియోగం 8 MBతో మొదటి స్థానంలో ఉంది, ఇది డిజైన్ యొక్క ప్రధాన ఆలోచన సరళత అని పరిగణనలోకి తీసుకోవడంలో ఆశ్చర్యం లేదు. mlterm, xterm మరియు rxvt కొంచెం ఎక్కువగా వినియోగిస్తాయి - సుమారు 12 MB. మరొక గుర్తించదగిన ఫలితం అలక్రిట్టి, దీన్ని అమలు చేయడానికి 30 MB అవసరం. అప్పుడు 40 నుండి 60 MB వరకు ఉన్న బొమ్మలతో VTE కుటుంబం యొక్క టెర్మినల్స్ ఉన్నాయి, ఇది చాలా ఎక్కువ. ఈ టెర్మినల్స్ ఉన్నత-స్థాయి లైబ్రరీలను ఉపయోగిస్తాయని వాస్తవం ద్వారా ఈ వినియోగాన్ని వివరించవచ్చు, ఉదాహరణకు, GTK. పరీక్షల సమయంలో కాన్సోల్ 65MB మెమరీ వినియోగంతో చివరి స్థానంలో వస్తుంది, అయినప్పటికీ ఇది దాని విస్తృత శ్రేణి లక్షణాల ద్వారా సమర్థించబడవచ్చు.

పదేళ్ల క్రితం పొందిన మునుపటి ఫలితాలతో పోలిస్తే, అన్ని ప్రోగ్రామ్‌లు గమనించదగ్గ విధంగా ఎక్కువ మెమరీని వినియోగించుకోవడం ప్రారంభించాయి. Xtermకి 4 MB అవసరం ఉండేది, కానీ ఇప్పుడు ప్రారంభంలో 15 MB అవసరం. rxvt వినియోగంలో ఇదే విధమైన పెరుగుదల ఉంది, దీనికి ఇప్పుడు బాక్స్ నుండి 16 MB అవసరం. Xfce టెర్మినల్ 34 MBని తీసుకుంటుంది, ఇది మునుపటి కంటే మూడు రెట్లు పెద్దది, కానీ GNOME టెర్మినల్‌కు 20 MB మాత్రమే అవసరం. వాస్తవానికి, అన్ని మునుపటి పరీక్షలు 32-బిట్ ఆర్కిటెక్చర్‌పై జరిగాయి. LCA 2012 రస్టీ రస్సెల్ వద్ద నేను చెప్పారు, మెమరీ వినియోగం పెరుగుదలను వివరించే అనేక సూక్ష్మ కారణాలు ఉన్నాయి. అలా చెప్పిన తరువాత, మనం ఇప్పుడు గిగాబైట్ల జ్ఞాపకశక్తిని కలిగి ఉన్న కాలంలో జీవిస్తున్నాము, కాబట్టి మేము ఎలాగైనా నిర్వహిస్తాము.

అయినప్పటికీ, టెర్మినల్ వంటి ప్రాథమికమైన వాటికి ఎక్కువ మెమరీని కేటాయించడం వనరులను వృధా చేయడం అని నేను భావించలేను. ఈ ప్రోగ్రామ్‌లు చిన్నవాటిలో చిన్నవిగా ఉండాలి, ఏదైనా “బాక్స్‌”పై అయినా, షూబాక్స్‌పై అయినా అమలు చేయగలగాలి, ఒకవేళ మనం ఎప్పుడైనా వాటికి Linux సిస్టమ్‌లను కలిగి ఉండాల్సిన స్థితికి వస్తే (మరియు అది అలానే ఉంటుందని మీకు తెలుసు. ) . కానీ ఈ సంఖ్యలతో, కొన్ని తేలికైన మరియు అత్యంత పరిమిత సామర్థ్యాలు కాకుండా బహుళ టెర్మినల్స్‌ను అమలు చేసే ఏ వాతావరణంలోనైనా భవిష్యత్తులో మెమరీ వినియోగం సమస్యగా మారుతుంది. దీనిని భర్తీ చేయడానికి, గ్నోమ్ టెర్మినల్, కాన్సోల్, urxvt, టెర్మినేటర్ మరియు Xfce టెర్మినల్ డెమోన్ మోడ్‌ను కలిగి ఉంటాయి, ఇది ఒకే ప్రక్రియ ద్వారా బహుళ టెర్మినల్స్‌ను నియంత్రించడానికి మిమ్మల్ని అనుమతిస్తుంది, వాటి మెమరీ వినియోగాన్ని పరిమితం చేస్తుంది.

టెర్మినల్ ఎమ్యులేటర్ల అవలోకనం

నా పరీక్షల సమయంలో, డిస్క్ రీడ్-రైట్‌కి సంబంధించి నేను మరొక ఊహించని ఫలితానికి వచ్చాను: నేను ఇక్కడ ఏమీ చూడలేనని అనుకున్నాను, కానీ కొన్ని టెర్మినల్స్ డిస్క్‌కి అత్యంత భారీ డేటాను వ్రాస్తాయని తేలింది. కాబట్టి, VTE లైబ్రరీ వాస్తవానికి డిస్క్‌లో స్క్రోల్ బఫర్‌ను ఉంచుతుంది (ఈ ఫీచర్ 2010లో తిరిగి గుర్తించబడింది, మరియు ఇది ఇప్పటికీ జరుగుతోంది). కానీ పాత అమలుల వలె కాకుండా, ఇప్పుడు కనీసం ఈ డేటా AES256 GCM ఉపయోగించి గుప్తీకరించబడింది (వెర్షన్ 0.39.2 నుండి) కానీ ఒక సహేతుకమైన ప్రశ్న తలెత్తుతుంది: VTE లైబ్రరీ యొక్క ప్రత్యేకత ఏమిటి, దీనికి ప్రామాణికం కాని అమలు విధానం అవసరం...

తీర్మానం

కథనం యొక్క మొదటి భాగంలో, VTE-ఆధారిత టెర్మినల్‌లు మంచి లక్షణాలను కలిగి ఉన్నాయని మేము కనుగొన్నాము, కానీ ఇప్పుడు ఇది కొన్ని పనితీరు ఖర్చులతో వస్తుంది. ఇప్పుడు మెమరీ సమస్య కాదు ఎందుకంటే అన్ని VTE టెర్మినల్స్ డెమోన్ ప్రక్రియ ద్వారా నియంత్రించబడతాయి, ఇది వాటి ఆకలిని పరిమితం చేస్తుంది. అయినప్పటికీ, RAM మరియు కెర్నల్ బఫర్‌ల పరిమాణంపై భౌతిక పరిమితులను కలిగి ఉన్న పాత సిస్టమ్‌లకు ఇప్పటికీ టెర్మినల్స్ యొక్క మునుపటి సంస్కరణలు అవసరం కావచ్చు, ఎందుకంటే అవి గణనీయంగా తక్కువ వనరులను వినియోగిస్తాయి. VTE టెర్మినల్స్ నిర్గమాంశ (స్క్రోలింగ్) పరీక్షలలో బాగా పనిచేసినప్పటికీ, వాటి ప్రదర్శన జాప్యం GNOME యూజర్ గైడ్‌లో సెట్ చేయబడిన థ్రెషోల్డ్ కంటే ఎక్కువగా ఉంటుంది. VTE డెవలపర్లు బహుశా దీన్ని పరిగణనలోకి తీసుకోవాలి. అనుభవం లేని Linux వినియోగదారులకు కూడా టెర్మినల్‌ను ఎదుర్కోవడం అనివార్యమని మేము పరిగణనలోకి తీసుకుంటే, వారు దానిని మరింత యూజర్ ఫ్రెండ్లీగా మార్చగలరు. అనుభవజ్ఞులైన గీక్‌ల కోసం, డిఫాల్ట్ టెర్మినల్ నుండి మారడం అనేది తక్కువ కంటి ఒత్తిడిని మరియు సుదీర్ఘ పని సెషన్‌ల కారణంగా భవిష్యత్తులో పనికి సంబంధించిన గాయాలు మరియు అనారోగ్యాలను నివారించే సామర్థ్యాన్ని కూడా సూచిస్తుంది. దురదృష్టవశాత్తూ, పాత xterm మరియు mlterm మాత్రమే మనల్ని 10 మిల్లీసెకన్ల మ్యాజిక్ పింగ్ థ్రెషోల్డ్‌కు తీసుకువస్తాయి, ఇది చాలా మందికి ఆమోదయోగ్యం కాదు.

బెంచ్‌మార్క్ కొలతలు కూడా Linux గ్రాఫికల్ ఎన్విరాన్‌మెంట్‌ల అభివృద్ధి కారణంగా, డెవలపర్‌లు అనేక రాజీలు చేసుకోవలసి వచ్చింది. కొంతమంది వినియోగదారులు సాధారణ విండో మేనేజర్‌లను చూడాలనుకోవచ్చు, ఎందుకంటే వారు గణనీయమైన పింగ్ తగ్గింపును అందిస్తారు. దురదృష్టవశాత్తూ, వేలాండ్ కోసం జాప్యాన్ని కొలవడం సాధ్యం కాలేదు: నేను ఉపయోగించిన టైపోమీటర్ ప్రోగ్రామ్ వేలాండ్‌ని నిరోధించడానికి రూపొందించబడిన దాని కోసం సృష్టించబడింది: ఇతర విండోలపై గూఢచర్యం. వేలాండ్ కంపోజిటింగ్ X.org కంటే మెరుగ్గా పనిచేస్తుందని నేను ఆశిస్తున్నాను మరియు భవిష్యత్తులో ఎవరైనా ఈ వాతావరణంలో జాప్యాన్ని కొలవడానికి ఒక మార్గాన్ని కనుగొంటారని నేను ఆశిస్తున్నాను.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి