Kalmomi kaɗan daga ofishin fassarar mu: yawanci kowa yana ƙoƙari ya fassara sabbin kayan aiki da wallafe-wallafe, kuma ba mu da banbanci. Amma tashoshi ba wani abu ne da ake sabunta sau ɗaya a mako ba. Sabili da haka, mun fassara muku wata kasida ta Antoine Beaupré, wanda aka buga a cikin bazara na 2018: duk da yawancin "shekarun" ta ka'idodin zamani, a cikin ra'ayinmu, kayan bai rasa mahimmancinsa ba kwata-kwata. Bugu da ƙari, wannan asalin jerin labarai ne guda biyu, amma mun yanke shawarar haɗa su zuwa babban matsayi ɗaya.
Tashoshi suna da matsayi na musamman a tarihin kwamfuta, amma a cikin 'yan shekarun nan an tilasta musu su rayu tare da layin umarni yayin da mu'amalar zane-zane ta zama ruwan dare.
Wasu tashoshi suna da ramukan tsaro na ban mamaki, kuma yawancin suna da tsarin ayyuka daban-daban, tun daga goyan bayan abin dubawa zuwa rubutun rubutu. Ko da yake mu
Anan ga tashoshi da na duba:
Waɗannan ƙila ba su zama sabbin juzu'ai ba, tunda na iyakance ga ingantaccen gini a lokacin rubutu, wanda na sami damar fitar da Debian 9 ko Fedora 27. Banda kawai Alacritty. Zuriyar tashoshi ne na GPU-hanzari kuma an rubuta shi cikin sabon harshe da sabon harshe don wannan aikin - Tsatsa. Na cire tashoshin yanar gizo daga bita na (ciki har da waɗanda ke kan
Taimakon Unicode
Na fara gwaje-gwaje na da tallafin Unicode. Gwajin farko na tashoshi shine don nuna kirtan Unicode daga
Ta hanyar tsoho, xterm yana amfani da rubutun "kafaffen" na gargajiya, wanda, bisa ga
An ɗauki waɗannan hotunan kariyar kwamfuta a cikin Fedora 27, saboda yana ba da sakamako mafi kyau fiye da Debian 9, inda wasu tsofaffin sigogin tashoshi (musamman mlterm) ba su iya sarrafa fonts yadda yakamata. An yi sa'a an gyara wannan a cikin sigogin baya.
Yanzu lura da yadda ake nuna layin a xterm. Ya bayyana cewa alamar Mem da Semitic mai zuwa
“Yawancin shirye-shiryen kwamfuta ba za su iya nuna rubutu na gaba ɗaya daidai ba. Alal misali, sunan Ibrananci "Sarah" ya ƙunshi haruffan zunubi (ש) (wanda ya bayyana a dama), sa'an nan kuma resh (ר) kuma a ƙarshe ya (ה) (wanda ya kamata ya bayyana a hagu)."
Yawancin tashoshi sun faɗi wannan gwajin: Alacritty, VTE-derived Gnome da XFCE tashoshi, urxvt, st da xterm nuni "Sara" a juye-juye, kamar dai mun rubuta sunan a matsayin "Aras".
Wata matsalar da ke tattare da rubutun bidirection shine cewa suna buƙatar daidaita su ko ta yaya, musamman idan ana batun haɗa rubutun RTL da LTR. Rubutun RTL ya kamata su gudana daga gefen dama na taga tasha, amma menene ya kamata ya faru ga tashoshi waɗanda suka sabawa LTR Turanci? Yawancinsu ba su da wata hanya ta musamman kuma suna daidaita duk rubutu zuwa hagu (ciki har da Konsole). Keɓancewar su ne pterm da mlterm, waɗanda ke bin ƙa'idodi da daidaita daidaitattun layukan.
Kariyar shigar
Siffa mai mahimmanci na gaba da na gano ita ce kariyar shigar da ita. Ko da yake an san cewa ana yin sihiri kamar:
$ curl http://example.com/ | sh
umarni ne na turawa na kisa, mutane kaɗan ne suka san cewa ɓoyayyun umarnin na iya shiga cikin na'ura wasan bidiyo lokacin yin kwafi da liƙa daga mai binciken gidan yanar gizo, koda bayan an bincika a hankali.
git clone git: //git.kernel.org/pub/scm/utils/kup/kup.git
ya zama irin wannan tashin hankali idan an liƙa daga gidan yanar gizon Horn zuwa cikin tasha:
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
Ta yaya yake aiki? An haɗa lambar mugunta a cikin toshe , wanda aka cire daga kallon mai amfani ta amfani da CSS.
set enable-bracketed-paste on
Abin takaici, gidan gwajin Horn kuma yana nuna yadda ake ƙetare wannan kariyar ta hanyar tsara rubutun kanta kuma da wuri ya ƙare da amfani da yanayin Bracketed zuwa gare shi. Wannan yana aiki saboda wasu tashoshi ba sa tace jerin tserewa daidai kafin ƙara nasu. Misali, a cikin tawa ban taba samun nasarar kammala gwaje-gwajen Konsole ba har ma da daidaitaccen tsari .inputrc fayil. Wannan yana nufin cewa a sauƙaƙe zaku iya lalata tsarin tsarin ku saboda aikace-aikacen da ba ya goyan bayan ko wani harsashi da ba daidai ba. Wannan yana da haɗari musamman lokacin shiga cikin sabar mai nisa, inda aikin daidaitawa a hankali ba ya zama gama gari, musamman idan kuna da irin waɗannan na'urori masu nisa da yawa.
Kyakkyawan maganin wannan matsala shine kayan aikin tabbatar da manna don tashar karwan, wanda kawai ke neman izini don saka duk wani rubutu da ya ƙunshi sabbin layukan. Ban sami mafi amintaccen zaɓi don harin rubutun da Horn ya kwatanta ba.
Shafuka da bayanan martaba
Shahararren fasalin yanzu shine goyan baya ga keɓaɓɓen dubawa, wanda za mu ayyana azaman tagar tasha ɗaya mai ɗauke da ƙarin tashoshi da yawa. Wannan aikin ya bambanta don tashoshi daban-daban, kuma kodayake tashoshi na xterminal na gargajiya ba sa goyan bayan shafuka kwata-kwata, ƙarin ingantattun tasha na zamani kamar Xfce Terminal, GNOME Terminal da Konsole suna da wannan aikin. Urxvt kuma yana goyan bayan shafuka, amma kawai idan kuna amfani da plugin. Amma dangane da goyan bayan shafin kanta, Terminator shine jagorar da ba a jayayya ba: ba kawai yana goyan bayan shafuka ba, amma kuma yana iya tsara tashoshi a kowane tsari (duba hoton da ke ƙasa).
Wani fasali na Terminator shine ikon "rukuni" waɗannan shafuka tare da aika maɓallan maɓalli iri ɗaya zuwa tashoshi masu yawa a lokaci guda, samar da ɗanyen kayan aiki don aiwatar da ayyuka masu yawa akan sabar da yawa a lokaci guda. Hakanan ana aiwatar da irin wannan fasalin a Konsole. Don amfani da wannan fasalin a wasu tashoshi, dole ne ku yi amfani da software na ɓangare na uku kamar
Shafukan suna aiki da kyau idan aka haɗa su tare da bayanan martaba: misali, zaku iya samun shafi ɗaya don imel, wani don taɗi, da sauransu. Wannan yana da goyon bayan Konsole Terminal da GNOME Terminal. Dukansu suna ba da damar kowane shafin don ƙaddamar da bayanan martaba ta atomatik. Har ila yau, Terminator yana goyan bayan bayanan martaba, amma na kasa samun hanyar ƙaddamar da wasu shirye-shirye ta atomatik lokacin da aka buɗe takamaiman shafin. Sauran tashoshi ba su da manufar “profile” kwata-kwata.
Ruffles
Abu na karshe da zan rufe a kashi na farko na wannan labarin shine bayyanar tashoshi. Misali GNOME, Xfce da urxvt suna goyan bayan bayyana gaskiya, amma kwanan nan sun bar goyan bayan hotuna na baya, suna tilasta wasu masu amfani su canza zuwa tashar.
Wasu tashoshi kuma suna nazarin rubutu don tsarin URL don sanya hanyoyin haɗin yanar gizo za su danna. Wannan ya shafi duk tashoshi da aka samo daga VTE, yayin da urxvt yana buƙatar filogi na musamman wanda zai canza URLs akan dannawa ko ta amfani da gajeriyar hanyar madannai. Sauran tashoshi na gwada nunin URL ta wasu hanyoyi.
A ƙarshe, sabon salo a cikin tashoshi shine zaɓin buffer gungurawa. Misali, st ba shi da buffer gungurawa; ana ɗauka cewa mai amfani zai yi amfani da m multiplexer kamar tmux da
Hakanan Alacritty ba shi da maƙallan baya, amma
Ƙarfafa bayanai
A kashi na biyu na kayan (A cikin asali waɗannan labarai ne daban-daban guda biyu - kusan. layi) za mu kwatanta aiki, amfani da ƙwaƙwalwar ajiya da latency. Amma mun riga mun ga cewa wasu daga cikin tashoshin da ake magana a kai suna da nakasu sosai. Misali, masu amfani waɗanda ke aiki akai-akai tare da rubutun RTL na iya son yin la'akari da mlterm da pterm, saboda sun fi sauran ayyuka iri ɗaya. Konsole ma ya taka rawar gani. Masu amfani waɗanda ba sa aiki tare da rubutun RTL na iya zaɓar wani abu dabam.
Dangane da kariya daga shigar da lambar mugun nufi, urxvt ya yi fice saboda aiwatar da shi na musamman na kariya daga irin wannan harin, wanda da alama ya dace da ni. Ga masu neman wasu kararrawa da busa, Konsole ya cancanci a duba. A ƙarshe, yana da mahimmanci a lura cewa VTE kyakkyawan tushe ne don tashoshi, wanda ke ba da garantin tallafin launi, ƙwarewar URL, da sauransu. A kallo na farko, tsohuwar tashar tashar da ta zo tare da yanayin da kuka fi so na iya biyan duk buƙatun, amma bari mu bar wannan tambayar a buɗe har sai mun fahimci aikin.
Mu ci gaba da tattaunawa
Gabaɗaya, aikin tashoshi a cikin kansa na iya zama kamar matsala ce mai nisa, amma kamar yadda ta bayyana, wasu daga cikinsu suna nuna rashin jinkiri mai ban mamaki ga software na irin wannan nau'in asali. Har ila yau, za mu dubi abin da ake kira "gudun" a al'ada (a gaskiya, wannan shine saurin gungurawa) da kuma amfani da ƙwaƙwalwar ajiyar tashar (tare da faɗakarwa cewa wannan ba shi da mahimmanci a yau kamar yadda yake da shekarun da suka wuce).
Jinkirtawa
Bayan na yi nazari sosai kan aikin tasha, na yanke shawarar cewa mafi mahimmancin ma'auni a wannan batun shine latency (ping). A cikin labarinsa
Amma menene latency, kuma me yasa yake da mahimmanci? A cikin labarin nasa, Fatin ya bayyana shi a matsayin "jinkirin da ke tsakanin danna maɓalli da sabuntawar allon da ya dace" kuma ya faɗi.
Fatin ya bayyana cewa wannan ping yana da sakamako mai zurfi fiye da gamsuwa kawai: "Bugawa yana zama a hankali, ƙarin kurakurai suna faruwa, kuma tashin hankali na ido da tsoka yana ƙaruwa." A wasu kalmomi, babban jinkiri na iya haifar da typos da kuma ƙananan ingancin lambar, saboda yana haifar da ƙarin nauyin hankali akan kwakwalwa. Amma abin da ya fi muni shi ne ping "yana ƙara yawan ido da tsoka," wanda da alama yana nufin
Wasu daga cikin waɗannan tasirin an san su na dogon lokaci, da sakamakon
Fatin ya gudanar da gwaje-gwajensa akan masu gyara rubutu; ya kirkiro wani kayan aiki mai motsi da ake kira
Ga sakamakon ma'auni na, da kuma wasu daga cikin sakamakon Fatin, don nuna cewa gwajin da na yi ya dace da gwaje-gwajensa:
Abu na farko da ya buge ni shine mafi kyawun lokacin amsa tsofaffin shirye-shirye kamar xterm da mlterm. Tare da mafi munin jinkirin rajista (2,4 ms), sun yi aiki mafi kyau fiye da mafi sauri na zamani (10,6 ms don st). Babu tasha ta zamani da ta faɗo ƙasa da madaidaicin millisecond 10. Musamman ma, Alacritty ya kasa cika da'awar "mafi saurin kwaikwaiyon tashar jiragen ruwa", kodayake makinsa ya inganta tun farkon bita a cikin 2017. Lalle ne, marubutan aikin
Duk da haka, bambance-bambancen bazai iya ganewa ga ido ba. Kamar yadda Fatin ta bayyana, "ba lallai ne ku san jinkirin ba don ya yi tasiri a kanku." Fatin kuma yayi kashedin game da daidaitaccen karkata: "duk wani hargitsi a cikin latency (jitter) yana haifar da ƙarin damuwa saboda rashin hasashensu."
An ɗauki hoton da ke sama akan tsantsar Debian 9 (miƙe) tare da
Saurin gungurawa
Gwaji na gaba shine gwajin "gudun gudu" ko "bandwidth" na gargajiya, wanda ke auna yadda saurin tashar zai iya gungurawa shafi yayin da yake nuna adadi mai yawa akan allon. Makanikai na gwajin sun bambanta; ainihin gwajin shine kawai don samar da zaren rubutu iri ɗaya ta amfani da umarnin seq. Sauran gwaje-gwajen sun haɗa da gwajin Thomas E. Dickey (mai kula da xterm), wanda akai-akai
Anan muna ganin rxvt da st sun ja gaban gasar, sai kuma sabon Alacritty, wanda aka tsara tare da mai da hankali kan wasan kwaikwayo. Na gaba su ne Xfce (VTE iyali) da Konsole, waɗanda kusan sau biyu suke sauri. Na ƙarshe shine xterm, wanda shine sau biyar a hankali fiye da rxvt. A yayin gwajin, xterm shima yaci karo da yawa, wanda hakan ya sa rubutun wucewa ke da wahalar gani koda layi daya ne. Konsole yana da sauri, amma yana da wayo a wasu lokuta: nunin zai daskare lokaci zuwa lokaci, yana nuna ɓangaren rubutu ko baya nuna shi kwata-kwata. Sauran tashoshi sun nuna kirtani a sarari, gami da st, Alacritty, da rxvt.
Dickey ya bayyana cewa bambance-bambancen wasan kwaikwayon ya samo asali ne saboda ƙirar maƙallan gungura a tashoshi daban-daban. Musamman ma, yana zargin rxvt da sauran tashoshi da "rashin bin ƙa'idodin gama gari":
"Ba kamar xterm ba, rxvt bai yi ƙoƙarin nuna duk abubuwan sabuntawa ba. Idan ya faɗi a baya, zai ƙi wasu sabuntawa don cim ma. Wannan yana da babban tasiri akan saurin gungurawa a bayyane fiye da ƙungiyar ƙwaƙwalwar ajiyar ciki. Ɗaya daga cikin koma baya shine cewa ASCII animation ɗin ba shi da kyau. "
Don gyara wannan jinkirin xterm, Dickey ya ba da shawarar amfani da albarkatun
Amfanin albarkatu
Ko da kuwa ko yana da ma'ana don yin la'akari da saurin gungurawa azaman ma'aunin aiki, wannan gwajin yana ba mu damar yin kwatankwacin kaya akan tashoshi, wanda hakan yana ba mu damar auna wasu sigogi kamar ƙwaƙwalwar ajiya ko amfani da faifai. An samo ma'aunin ta hanyar gudanar da ƙayyadadden gwajin seq karkashin Python tsarin kulawa. Ya tattara bayanan mita
A cikin wannan gwajin, ST yana ɗaukar wuri na farko tare da matsakaicin matsakaicin matsakaicin ƙwaƙwalwar ajiya na 8 MB, wanda ba abin mamaki bane idan aka yi la'akari da cewa babban ra'ayin ƙirar shine sauƙi. mlterm, xterm da rxvt suna cinye kadan kadan - kusan 12 MB. Wani sanannen sakamako shine Alacritty, wanda ke buƙatar 30 MB don gudu. Sannan akwai tashoshi na dangin VTE masu adadi daga 40 zuwa 60 MB, wanda yake da yawa. Ana iya bayyana wannan amfani ta hanyar cewa waɗannan tashoshi suna amfani da manyan ɗakunan karatu, misali, GTK. Konsole ya zo a karshe tare da 65MB na yawan amfani da ƙwaƙwalwar ajiya yayin gwaje-gwaje, kodayake ana iya tabbatar da hakan ta hanyar fasali da yawa.
Idan aka kwatanta da sakamakon baya da aka samu shekaru goma da suka wuce, duk shirye-shiryen sun fara cinye ƙwaƙwalwar ajiya a hankali. Xterm yana buƙatar 4 MB, amma yanzu yana buƙatar 15 MB kawai a farawa. Akwai irin wannan karuwar amfani ga rxvt, wanda yanzu yana buƙatar 16 MB daga cikin akwatin. Xfce Terminal yana ɗaukar 34 MB, wanda ya fi girma sau uku a baya, amma GNOME Terminal yana buƙatar 20 MB kawai. Tabbas, duk gwaje-gwajen da suka gabata an yi su akan gine-ginen 32-bit. A LCA 2012 Rusty Russell
Duk da haka, ba zan iya taimakawa ba sai dai jin cewa ware ƙarin ƙwaƙwalwar ajiya ga wani abu mai mahimmanci kamar tashar tashar ɓata albarkatu ne. Wadannan shirye-shiryen ya kamata su kasance mafi ƙanƙanta daga cikin mafi ƙanƙanta, ya kamata su iya yin aiki akan kowane "akwatin", ko da akwatin takalma, idan mun zo wurin da suke buƙatar samar da tsarin Linux (kuma kun san cewa zai kasance haka). ) . Amma tare da waɗannan lambobi, amfani da ƙwaƙwalwar ajiya zai zama matsala a nan gaba a kowane yanayi da ke gudana tashoshi da yawa ban da ƴan mafi sauƙi kuma mafi ƙayyadaddun iyawa. Don rama wannan, GNOME Terminal, Konsole, urxvt, Terminator da Xfce Terminal suna da yanayin Daemon wanda ke ba ku damar sarrafa tashoshi da yawa ta hanyar tsari guda, yana iyakance amfani da ƙwaƙwalwar ajiya.
A lokacin gwaje-gwaje na, na zo ga wani sakamakon da ba zato ba tsammani game da karatun faifai: Ina tsammanin ba zan ga komai a nan ba, amma ya zama cewa wasu tashoshi suna rubuta mafi yawan bayanai zuwa faifai. Don haka, ɗakin karatu na VTE a zahiri yana riƙe da buffer gungurawa akan faifai (wannan fasalin
ƙarshe
A kashi na farko na labarin, mun gano cewa tashoshi na tushen VTE suna da kyakkyawan tsarin fasali, amma yanzu mun ga cewa wannan yana zuwa tare da wasu farashin aiki. Yanzu ƙwaƙwalwar ajiya ba batun bane saboda duk tashoshin VTE ana iya sarrafa su ta hanyar tsarin Daemon, wanda ke iyakance sha'awar su. Koyaya, tsofaffin tsarin da ke da gazawar jiki akan adadin RAM da kernel buffers na iya har yanzu suna buƙatar sigogin tashoshi na farko, tunda suna cinye albarkatu kaɗan. Kodayake tashoshi na VTE sun yi kyau a cikin gwaje-gwajen kayan aiki (gungurawa), lat ɗin nunin su yana sama da madaidaicin da aka saita a cikin Jagorar Mai amfani na GNOME. Wataƙila masu haɓaka VTE yakamata suyi la'akari da wannan. Idan muka yi la'akari da cewa har ma ga masu amfani da Linux novice sun haɗu da tasha ba makawa, za su iya sa ya zama abokantaka mai amfani. Don ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ma'ana na iya haifar da ƙarancin ƙarancin ido da kuma ikon guje wa raunin da ke da alaƙa da aiki a nan gaba saboda zaman aiki mai tsawo. Abin baƙin ciki, kawai tsohon xterm da mlterm ya kawo mu zuwa madaidaicin ping ɗin sihiri na millise seconds 10, wanda ba shi da karbuwa ga mutane da yawa.
Hakanan ma'aunin ma'auni ya nuna cewa saboda haɓakar mahallin hoto na Linux, masu haɓakawa sun yi sulhu da yawa. Wasu masu amfani na iya son kallon manajojin taga na yau da kullun yayin da suke samar da raguwar ping. Abin takaici, ba zai yiwu a auna latency don Wayland ba: shirin Typometer da na yi amfani da shi an halicce shi don abin da aka tsara Wayland don hana: leken asiri akan wasu windows. Ina fatan hadawa na Wayland ya fi X.org, kuma ina fatan nan gaba wani zai sami hanyar auna latency a cikin wannan muhallin.
source: www.habr.com