Немного о внешнем виде bash
Надоели мне как-то стандартные PS и захотелось сделать что-то, более симпатичное :)
Итак, делаем bash посимпатичнее.
Я делал все на Arch Linux, но ничего, ориентированного на него в статье нет. Так что вполне повторяемо на любом дистре.
Первым делом надо немного поднять себе настроение =)
Ставим пару утилиток (если они у вас, конечно же, еще не установлены)
# pacman -S cowsay fortune-mod
Cowsay - рисует в ASCII корову, которая послушно говорит заданную фразу, а fortune-mod - это всем известные фортунки :)
Далее надо сделать базу фортунок поинтереснее =)
# cd /tmp
# wget -c http://lorquotes.ru/fortraw.php
# iconv -c -f KOI8-R -t UTF-8 -o /usr/share/fortune/lor fortraw.php
# strfile /usr/share/fortune/lor
# rm fortraw.php
Для нормального отображения фортунок их необходимо перекодировать из KOI8-R в вашу локаль. Соответственно, если у вас локаль KOI8-R, то конвертировать ничего не нужно.
Теперь у нас есть база фортунок с цитатами с LOR‘а.
Примечание: можно еще добавить в crontab скрипт, который будет автоматически обновлять базу фортунок с заданной периодичностью. Я их обновляю довольно редко и мне не трудно обновить их руками.
Правим .bashrc Добавляем туда приветствие и фортунку. Также я изменил приглашение, оставив в нем только текущее время и полный путь к текущей директории. Свой hostname я знаю и на машине я один-единственный юзер =)
Также прописываем несколько приятных алиасов, позволяющих сделать работу более комфортной. И делаем первый шаг к “раскрашиванию” консоли.
# cd
# vim .bashrc
PS1=”[\D{%T} \w]\$ ”alias ls=”ls –color”
alias pwd=”pwd -P”
alias ll=”ls -lah –color”
alias xs=”cd”
alias vf=”cd”
alias mv=”mv -i”
alias cp=”cp -i”
alias mnt=”sudo mount /dev/cdrom /mnt/cdrom -o iocharset=utf8″
alias umnt=”cd && sudo umount /dev/cdrom && eject /dev/cdrom”
alias mntfl=”sudo mount /dev/sdb1 /mnt/flash”
alias umntfl=”cd && sudo umount /dev/sdb1 && sudo eject /dev/sdb1″
alias p=”ps ax”
alias grep=”grep –color=auto”/usr/bin/cowsay `echo -n Welcome, $USER`
echo “**********************************************”
echo ” ”
/usr/bin/fortune lor
echo ” ”
echo -n “Today is ”
/bin/date
echo ” “
Затем мне захотелось сделать консоль более яркой и помучив гугл натолкнулся на вот такую вот полезную утилиту: . Она позволяет творить с консольным выводом просто чудеса, раскрашивая вывод любой консольной утилиты.
Ставим ее и настраиваем acoc и зависимости (ставил из исходников):
# wget -c http://raa.ruby-lang.org/cache/ruby-tpty/tpty-0.0.1.tar.gz
# tar xvzf tpty-0.0.1.tar.gz
# cd tpty-0.0.1
# ruby extconf.rb
# make
# ruby ./test.rb
# make install
# wget -c http://rubyforge.org/frs/download.php/26270/term-ansicolor-1.0.3.tgz
# tar xvzf term-ansicolor-1.0.1.tar.gz
# cd term-ansicolor-1.0.1
# ruby install.rb
# wget -c http://www.caliban.org/files/ruby/acoc-0.7.1.tar.gz
# tar xvzf acoc-0.7.1.tar.gz
# cd acoc-0.7.1
# make install
Вдумчиво читаем файлы README и INSTALL, которые идут вместе с утилитой acoc. И смотрим файл /usr/local/etc/acoc.conf на предмет мощности и гибкости этой утилитки. Я взял дефолтные опции, которые уже очень и очень неплохи.
Затем дописываем в .bashrc необходимые для красивых выводов алиасы:
# cd
# vim .bashrc
alias ping=”/usr/local/bin/acoc ping”
alias top=”/usr/local/bin/acoc top”
alias w=”/usr/local/bin/acoc w”
alias diff=”/usr/local/bin/acoc diff”
alias traceroute=”/usr/local/bin/acoc traceroute”
alias make=”/usr/local/bin/acoc make”
alias gmake=”/usr/local/bin/acoc gmake”
alias cc=”/usr/local/bin/acoc cc”
alias gcc=”/usr/local/bin/acoc gcc”
alias df=”/usr/local/bin/acoc df”
alias ifconfig=”/usr/local/bin/acoc ifconfig”
alias route=”/usr/local/bin/acoc route”
alias tcpdump=”/usr/local/bin/acoc tcpdump”
alias ps=”/usr/local/bin/acoc ps”
alias lsmod=”/usr/local/bin/acoc lsmod”
alias whereis=”/usr/local/bin/acoc whereis”
И наслаждаемся жизнью :)
Еще можно немного поправить acoc.conf и подраскрасить вывод cowsay и fortune:
[cowsay]
/^(<) (.*) (>)/ clear,red+bold,clear
[fortune]
/^(\-\-)(.*)/ clear+cyan
/^(.*)/ bold
И немного поправить .bashrc
# cd
# vim .bashrc
/usr/local/bin/acoc cowsay `echo -n Welcome, $USER`
echo “**********************************************”
echo ” ”
/usr/local/bin/acoc fortune lor
echo ” ”
echo -n “Today is ”
/bin/date
echo ” “
У меня получилось вот что: http://boombick.org/acoc.png (228Kb)
Домашние страницы упомянутых в статье утилит:
acoc:
tpty:
term-ansicolor:
18.11.07 | *NIX |
Рульно! Огромное спасибо!
Куль =)
alias wget=”wget -c –passive-ftp –no-check-certificate
если уж начал алиасами заморачиваться - имхо полезно:)
Зачем заморачиваться? Захотелось красот - ставь вислу и виндовз блиндз. Бугога.
Привет. А как ты сделал верхную панель на которой отображена загрузка проца, состояние памяти и тд? Извини пожайлуста за офтоп.
Это conky - софтинка такая.. Туда можно очень много самой разной инфы выводить.. Вот мой конфиг:
Большое спасибо,
Хочется заметить что при copy-past приведенных выше шрифтов необходимо исправить кавычки и длинное тире на 2 коротких. скрипты блога их автоматически заменяют. я сразу не обратил внимания (на тире) и поимел некоторое количество глюков.
Спасибо.
Вопрос: как водрузить term-ansicolor в домашнюю директорию, а не их под рута, да так, чтобы он виделся acoc’ом
сенкс, узнал новое! помогло