Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Раскрасим консоль Linux

div.main {margin-left: 20pt; margin-right: 20pt}
Раскрасим консоль Linux

Честно говоря, мне было очень приятно читать письмо, в котором один из читателей газеты сказал, что ему больше нравится консоль, а не этот навороченный графический интерфейс KDE.

Во многом я с ним согласен: линуксовая консоль является очень мощным инструментом. Даже работая в KDE, я всегда держу запущенной терминалку, так как большинство команд я задаю в ней. 
Для меня проще набрать команду запуска смотрелки картинок из консоли, набрав в параметре имя файла для просмотра, чем тянуться за мышкой, искать в меню иконку вьюера, а потом ковыряться в его интерфейсе полчаса, пока я доберусь до нужного файла. А скриптовый язык шелла? 
Это вообще мощнейший инструмент, годящийся для реализации очень многих повседневных задач. “Да, все это классно, — скажете вы, — может, консоль и круто, но как надоедает глядеть на черно-белые сообщения и слушать визг спикера”. 
А ведь мы можем озвучить и раскрасить вашу консоль! Так давайте и займемся этим немедленно!
Управление звуком. Для этого используются следующие коды:
— 07 — издать звук;
— 33[10;#] — установить частоту звукового сигнала в герцах;
— 33[11;#] — установить продолжительность звукового сигнала в миллисекундах.
Допускается объединение двух последних управляющих последовательностей. Например, 33[10;55]33[11;30] может быть заменено эквивалентной последовательностью 33[10;55;11;30].
Для примера, наберите и выполните следующий скрипт:
#!/bin/sh
echo -en "33[10;5000;11;200]7"
Скрипт устанавливает продолжительность и частоту звукового сигнала равными 5000Hz и 200ms, соответственно, и издает звуковой сигнал. Т.е. для любого вашего скрипта, события, команды вы можете теперь задать свой особенный звук.
Теперь займемся раскраской. Коды управления цветом:
— 33[0m — все атрибуты по умолчанию;
— 33[1m — жирный шрифт (интенсивный цвет);
— 33[2m — полуяркий цвет (темно-серый, независимо от цвета);
— 33[4m — выделение (ярко-белый, независимо от цвета);
— 33[5m — мигающий;
— 33[7m — реверсия (знаки приобретают цвет фона, а фон — цвет знаков);
— 33[22m — установить нормальную интенсивность;
— 33[24m — отменить подчеркивание;
— 33[25m — отменить мигание;
— 33[27m — отменить реверсию;
— 33[30 — черный цвет знаков;
— 33[31 — красный цвет знаков;
— 33[32 — зеленый цвет знаков;
— 33[33 — коричневый цвет знаков;
— 33[34 — синий цвет знаков;
— 33[35 — фиолетовый цвет знаков;
— 33[36 — цвет морской волны знаков;
— 33[37 — серый цвет знаков;
— 33[40 — черный цвет фона;
— 33[41 — красный цвет фона;
— 33[42 — зеленый цвет фона;
— 33[43 — коричневый цвет фона;
— 33[44 — синий цвет фона;
— 33[45 — фиолетовый цвет фона;
— 33[46 — цвет морской волны фона;
— 33[47 — серый цвет фона.
Допускается объединение этих управляющих последовательностей. 
Например, 33[1m33[5m33[ 36m может быть заменено эквивалентной последовательностью 33[1;5;36m.
Пример, скрипт выводит на экран сообщение с использованием цвета:
#!/bin/sh
echo -en "33[37;1;41m WARNING 33[0m"
Еще пример — скрипт запускает копию командного интерпретатора sh с цветным приглашением:
#!/bin/sh
export PS1="[33[1;30m][[33[0m]t[33[1;30m];
[33[0m]W[33[1;30m]][33[36;1m]|[33[0m] "
echo "Now runing a new copy of shell width color prompt"
echo -en "use 33[1;36mexit33[0m command or"
echo -e "33[1;36m^D33[0m to return back"
sh
Обратите внимание на то, что управляющие последовательности заключены в скобки "[" и "]". Это сделано для того, чтобы shell не учитывал их при оценке длины строки. В противном случае длинные строки будут переноситься неверно.
Управление положением курсора. Управляющие коды:
— 33[#A — передвинуть курсор вверх на # строк;
— 33[#B — передвинуть курсор вниз на # строк;
— 33[#С — передвинуть курсор вправо на # столбцов;
— 33[#D — передвинуть курсор влево на # столбцов;
— 33[#E — передвинуть курсор вниз на # строк и поставить в начало строки;
— 33[#F — передвинуть курсор вверх на # строк и поставить в начало строки;
— 33[#G — переместить курсор в указанный столбец текущей строки;
— 33[#;#H — задает абсолютные координаты курсора (строка, столбец).
Пример. Следующий скрипт выводит на экран список устройств и на его фоне печатает строку "Это список устройств":
#!/bin/sh
ls -l /dev
echo -en "33[12A33[30G33[1;5;31;41m Это список устройств 33[0m33[12E"

Работа с палитрой. Управляющие коды:
— 33]Pnrrggbb — изменяет палитру; n — номер цвета; rr,gg и bb — значения RGB-компонент в шестнадцатеричной форме;
— 33]R — восстанавливает палитру, принятую по умолчанию.
Пример. Следующий скрипт делает фон красноватым, такой фон можно сделать для root'овской консоли:
#!/bin/sh
echo -en "33]0550000"
Работа с виртуальными консолями. Здесь применяется один код: 33[12;#] — сделать текущей консоль с указанным номером.
Пример. Следующий скрипт делает текущей консоль, на которой запущена самая прожорливая задача:
#!/bin/sh
ps aOv | tail -n1 | (read vpid vtty vother
echo -en "33[12;${vtty}]")
Работа с терминалкой (xterm). Управляющие коды:
— 33]0;text07 — присваивает имя окну и иконке;
— 33]1;text07 — присваивает имя иконке;
— 33]2;text07 — присваивает имя окну.
Пример. Этот скрипт присваивает имена окну и иконке:
#!/bin/sh
echo -en "33]2;Мое любимое окно0733]1;Моя любимая иконка07"
Вот таким, собственно, образом вы можете разнообразить свою работу. Приятного времяпрепровождения в Linux и чистой вам консоли!:)

X-Stranger
xstranger@tut.by 
http://www.linux4u.narod.ru/ 



  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте