Төлем әдістері Abuse

Linux терминалының түстері

26.09.2021, 22:47

Linux-тың артықшылығы, егер қаласаңыз, онда кез келген нәрсені конфигурациялай аласыз. Бұл проекциялық жүйелердің процедуралық жүйелерден артықшылығын білдіреді. Бұл жеке блоктардан тұратын конструктордың бір түрі, олардың әрқайсысын өз қалауыңыз бойынша реттеуге болады.

Дайын шешімдерді көшіріп қана қоймай, оның не және қалай жұмыс істейтінін анықтауға тырыссаңыз, бұл әсіресе қызықты. Тіпті жеңіл-желпі мәселені шешкен кезде де сіз жаңа нәрсені үйренесіз.

Шығарылатын түстерді бояу

Мысалы, ls пәрменінің шығысындағы linux терминалының түстерін реттегіңіз келді.

ls құжаттамасынан сіз түс параметрлерін өзінің дерекқорынан орнататын немесе оларды ~/.dircolors файлынан алатын dircolors утилитасының көмегімен шығыс түстерін орнату орындалатынын түсінуге болады. Сондай-ақ, түстерді пайдалануды инициализациялау ~/.bashrc арқылы, қабық параметрлері бар файл және параметрлердің өзі LC_COLORS айнымалысы арқылы анықталатыны айтылды.

Келесі сценарий .bashrc ішінде табылды:

Оның мәні жүйеде dircolors утилитасының бар-жоғын тексеруге, айнымалыға мән беруге және сәтті болса, ls шақырылған сайын --color=auto параметрін қолдануға дейін барады.

dircolors қызметтік бағдарламасын іске қосқанда, ол LC_COLOR айнымалысының мәнін басып шығарады.

Сондай-ақ LC_COLORS айнымалы мәнін құрылымдық пішінде кілтті көрсету арқылы көрсетуге болады:

 $ dircolors -p

Қорытынды ұзақ болғандықтан, бермеймін.

dircolors -p > ~/.dircolors шығысын қайта бағыттасаңыз, түс параметрлері алынатын құрылымдық файл жасалады. Бұл файлды өңдеу арқылы ls шығысының түс параметрлері орнатылады.

Жасалған .dircolors файлында кеңес бар:

Нүктелі үтірмен бөлінген ретті орнату арқылы біз тізімде көрсетілгендерге сәйкес Linux консолінде қажетті түсті аламыз. Linux терминалдық түстері қаріп түсі үшін 30-дан 37-ге дейін, ал фон үшін 40-тан 47-ге дейін. Мысалы:

DIR 01;34 каталог атаулары қою және көк түспен бөлектелетінін білдіреді.

Бірақ бұл әдіс тек сегіз түсті шығарады, ал заманауи терминал эмуляторлары кемінде 256-ны шығаруға қабілетті.

Түсті орнатудың басқа жолдары бар. Мысалы, EXEC 38;5;208;1 мәні орындалатын файлдар үшін қызғылт сары қалың қаріп береді.

Linux түстерінен қолмен өтпеу үшін дайын түстер кестесі бар

Түс мәніне 38;5;x орнына қойсақ - мұндағы х кестедегі түс, біз қажетті нәтиже аламыз. Мынадай нәрсе шығады:

Бұл қалай жұмыс істейді? Терминал эмуляторында ақпарат шығысының түсін орнату ANSI қашу кодтары арқылы орындалады. Бұл экранда көрсетілмейтін, бірақ шығысқа әсер ететін таңбалардың белгілі бір тізбегі. Ол [ - «Esc» кодынан басталатындықтан осылай аталады. Көптеген терминалдар мен терминал эмуляторлары болғандықтан, бұл басқару кодтары стандартталған. 30-дан 37-ге дейінгі реттілік арқылы түстерді басқару ECMA-48 стандарты болып табылады. Бұл туралы ақпарат console_codes бөлімінде берілген.

Шақыру сызығын бояу

Esc кодтары арқылы Linux түстерін қалай орнату керектігін түсінгеннен кейін, шақыру жолын қайта жасау және бояу қиын болмайды. ~/.bashrc файлында анықталған PS1 айнымалысы оның шығысына жауап береді

Linux Mint жүйесінде оның инициализация сценарийі келесідей:

Яғни, алдымен сценарийді түбірлік немесе тұрақты пайдаланушы іске қосқаны анықталады. Жағдайлардың басым көпшілігінде бұл екінші нұсқа орын алатындықтан, бірінші "else" сөзінен кейінгі жолды өңдеу керек. Жол пішімі bash құжаттамасында, «Шарлау» бөлімінде дешифрленген. Бұдан шығатыны, esc тізбегі «[» басталып, «]» әрпімен аяқталуы керек. Осылайша:

  • [[01;32м] - жасыл түсті орнатады;
  • u - пайдаланушы атын көрсетеді;
  • h - хост атын көрсетеді;
  • [[00м] - орнатылған атрибуттарды тазартады;
  • [[01;34м] - көк түсті орнатады;
  • w – жұмыс каталогының атын көрсетеді;
  • Сәлем! - кез келген туынды мәтінді шығаруға болатын мысал.

Шақыру жолында тағы не көрсетуге болады:

  • d - күні, форматында «Ср 28 желтоқсан»;
  • A – 24 сағаттық форматтағы уақыт;
  • ! - тарихтағы ағымдағы команданың саны;
  • - шығысты басқа жолға көшіру;

Қызықтырақ нәрсемен таныстырайық:

 PS1='${debian_chroot:+($debian_chroot)}[[01;32m]Matrix has you,u![[00m] [[01;34m]Blue pill[[00m] or [[31m]red?[[00m]--->$ '

Ал шақыру жолы келесідей болады: