Показаны сообщения с ярлыком gnu/linux. Показать все сообщения
Показаны сообщения с ярлыком gnu/linux. Показать все сообщения

среда, 8 сентября 2010 г.

Цветное приглашение в bash

Однажды захотелось мне как-то выделить работу в терминале под суперпользователем. Придумал использовать цветовую дифференциацию приглашения. Например вот так: Теперь о том, как это сделать.
В терминале:
$ cp .bashrc .bashrc_backup
$ sudo cp /root/.bashrc /root/.bashrc_backup

Добавьте код, представленный ниже в файлы ~/.bashrc и /root/.bashrc.
GREEN="\[\033[32m\]" # foreground green
RS="\[\033[0m\]"    # reset
RED="\[\033[31m\]" # foreground red
if [ "$(id -u)" != "0" ]; then
    PS1="${GREEN}\\$ ${RS}"
    PS2="${GREEN}> ${RS}"
else
    PS1="${RED}\\$ ${RS}"
    PS2="${RED}> ${RS}"
fi

Все, готово!
Дополнительно: Скрипт для просмотра кодов цветов:
#!/bin/bash
#
#   This file echoes a bunch of color codes to the 
#   terminal to demonstrate what's available.  Each 
#   line is the color code of one forground color,
#   out of 17 (default + 16 escapes), followed by a 
#   test use of that color on all nine background 
#   colors (default + 8 escapes).
#

T='gYw'   # The test text

echo -e "\n                 40m     41m     42m     43m\
     44m     45m     46m     47m";

for FGs in '    m' '   1m' '  30m' '1;30m' '  31m' '1;31m' '  32m' \
           '1;32m' '  33m' '1;33m' '  34m' '1;34m' '  35m' '1;35m' \
           '  36m' '1;36m' '  37m' '1;37m';
  do FG=${FGs// /}
  echo -en " $FGs \033[$FG  $T  "
  for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
    do echo -en "$EINS \033[$FG\033[$BG  $T  \033[0m";
  done
  echo;
done
echo

Дополнительные ссылки:
http://ubuntuforums.org/showthread.php?t=614743
http://www.faqs.org/docs/Linux-HOWTO/Bash-Prompt-HOWTO.html

пятница, 27 августа 2010 г.

Отключаем мигание терминала в GNOME (gnome-terminal)

Итак, есть проблема: терминал GNOME (gnome-terminal) мигает экраном, когда консольные программы предупреждают нас о чем-то (например, если нажать Backspace в пустой строке bash). Называется эта надоедающая хрень - visual bell. Поиск места в GNOME, где это отключается, ни к чему не привел. Возникает такая оказия в дистрибутиве Ubuntu 10.04 (Lucid Lynx).

Решение: добавляем в файл

~/.gconf/apps/metacity/general/%gconf.xml
где-нибудь между тегами <gconf> ... </gconf> вот такую волшебную строчку:
<entry name="visual_bell" mtime="1253605354" type="bool" value="true"/>

Если нужно отключит звук, то Edit→Profile Preferences и убираем галку c Terminal bell.

UPDATE: Вдогонку. screen, гад эдакий, все равно мигает. Лечится:
echo "vbell off" >> ~/.screenrc

вторник, 17 февраля 2009 г.

Установка и настройка сервера subversion под fedora/redhat

Примечание: нижеследующая инструкция тестировалась под ОС Fedora 10.
  1. Устанавливаем необходимые пакеты: $ su # yum install httpd mod_dav_svn subversion
  2. Редактируем файл /etc/httpd/conf.d/subversion.conf и добавляем в него:
  3. <Location /svn>
       Order deny,allow
       Allow from 192.168.0
       Allow from 127.0.0
       Deny from All
       Satisfy Any
    #
       DAV svn
       SVNParentPath /var/svn/repos
    #
       AuthType Basic
       AuthName "Authorization Realm"
       AuthUserFile /var/svn/users/passwords
       AuthzSVNAccessFile /var/svn/permissions/svnauthz.conf
       Require valid-user
    </Location>
  4. Создаем директории: $ su # mkdir /var/svn # mkdir /var/svn/{repos,users,permissions}
  5. Добавляем пользователей: $ su # cd /var/svn/users # htpasswd -c passwords admin # htpasswd passwords user
  6. Редактируем файл /var/svn/permissions/svnauthz.conf и добавляем в него: [groups] admins = admin users = user [/] @admins = rw users = r
  7. Создаем репозитарий: $ su # cd /var/svn/repos # svnadmin create my_repo # chown -R apache my_repo При необходимости добавляем в файл /var/svn/permissions/svnauthz.conf настройки доступа для отдельных пользователей. [my_repo:/] user1 = r user2 = rw
  8. Запускаем apache:
    $ su
    # /etc/init.d/httpd start
  9. Проверяем работу конфигурации:
    ~$ svn co http://localhost/svn/my_repo
    Authentication realm:  Authorization Realm
    Password for 'voyt':
    Checked out revision 0.
    ~$ cd my_repo
    my_repo$ mkdir trunk tags branches
    my_repo$ svn add *
    A         branches
    A         tags
    A         trunk
    my_repo$ svn commit -m "Created default tree"
    Adding         branches
    Adding         tags
    Adding         trunk
    
    Committed revision 1.
    Можно проверить в браузере по адресу: http://localhost/svn/my_repo
Ссылка: http://sysalex.blogspot.com/2008/12/subversion-server-fedora-core-10.html

суббота, 13 сентября 2008 г.

Установка драйверов Xilinx Platform Cable USB в GNU/Linux

В данной заметке я изложу по шагам последовательность действий установки и настройки ПО для поддержки программаторов фирмы Xilinx для ОС GNU/Linux и ПО САПР Xilinx ISE. Все ниже написанное проверялось под ОС Fedora 8. Использовался программатор Xilinx Platform Cable USB ( Model DLC9G ) и ISE версии 10.1 ( SP2 ). Я не рекомендую использовать драйверы windrv, а использовать libusb как промежуточную библиотеку доступа ПО Xilinx к программатору.

Для начала устанавливаем fxload:

$ su
# yum install fxload

fxload - это утилита загрузки прошивки в USB-контроллеры.

Итак, скачиваем, распаковываем и устанавливаем только ту часть пакета, которая необходима для загрузки прошивки:

$ wget ftp://ftp.xilinx.com/pub/utilities/fpga/install_drivers.tar.gz
$ tar xvf install_drivers.tar.gz
$ cd install_drivers/linux_drivers/pcusb
$ su
# ./setup_pcusb

Теперь можно проверить работоспособность программатора - подключаем его к USB и к плате. Проверяем если загорелся зеленый светодиод. Чтобы iMPACT не использовал драйвер windrvr, а использовал библиотеку libusb необходимо установить переменную окружения XIL_IMPACT_USE_LIBUSB в 1.

Я рекомендую ее поместить в .bashrc:

$ echo "export XIL_IMPACT_USE_LIBUSB=1" >> ~/.bashrc

Замечу, что данный прием работает только с ISE версии 10 и выше. Для старых версий (9 и 8) воспользуйтесь следующей ссылкой: http://rmdir.de/~michael/xilinx/.

Теперь проверяем работоспособность iMPACT:

$ . /opt/ise101/ISE/settings64.sh
$ impact&

При создании новго проекта ( create new project ) отключаем автоматическое сканирование ( опцию Configure devices using Boundary-Scan (JTAG) устанавливаем в Enter a Boundary-Scan chain manualy ). В главном меню выбираем - Output -> Cable setup… и в появившемся диалоговом окне устанавливаем Communication Mode в Xilinx USB Cable и жмем Ок. Далее жмем Ctrl+I для запуска сканирования цепочки JTAG. В результате iMPACT должен найти поддерживаемые устройства.

УсЁ! :)

понедельник, 8 сентября 2008 г.

Запуск Xilinx EDK 10.1 на неподдерживаемых дистрибутивах

Если после запуска в EDK 10.1 процесса синтеза у вас возникал следующая ошибка: ERROR:MDT - C_MEM_CAS_LATENCY0 (mpmc) - /opt/ise101/ISE/bin/lin64/unwrapped/xilperl: error while loading shared libraries: libdb-4.1.so: cannot open shared object file: No such file or directory while executing "exec xilperl $perlPath -mpmc3 -enable_ecc [xget_hw_parameter_value $mh..." (procedure "init_control" line 40) Это значит, что скорее всего у вас в системе установлена более новая версия библиотеки Berkeley DB. Устанавливаем старую версию так, чтобы не удалить новую: $ su # cd # wget ftp://ftp.pbone.net/mirror/ftp.centos.org/3.9/os/x86_64/RedHat\ /RPMS/db4-4.1.25-8.1.x86_64.rpm # mkdir db4 && cd db4 # rpm2cpio ../db4-4.1.25-8.1.x86_64.rpm | cpio -id # cp lib64/libdb-4.1.so /usr/lib64/ # ldconfig # cd .. # rm -rf db4 Перезапускам EDK, запускаем синтез и радуемся жизни! :)

среда, 13 августа 2008 г.

Быстрый переход в предыдущий рабочий каталог в bash

Очень часто при работе в shell (bash) необходимо перейти в предыдущую рабочую директорию. Раньше я тупо набивал полный или относительный путь. Недавно задумался: “Может это можно сделать как-то быстрее?” И оказалось - можно, и в придачу давно реализовано в самом bash: [voyt@coruscant ~]$ [voyt@coruscant ~]$ cd /usr/local/ [voyt@coruscant local]$ cd - /home/voyt [voyt@coruscant ~]$ cd - /usr/local [voyt@coruscant local]$ Нашёл в интернете интересное решение - скрипт (точнее набор функций для bash), позволяющий переключаться между всеми каталогами, посещёнными в течении сессии. Ссылка: http://linuxgazette.net/109/marinov.html

вторник, 12 августа 2008 г.

Как запустить VMWare Player или Workstation на GNU/Linux с ядром версии 2.6.25

С выходом новой версии ядра ( 2.6.25.X ) встал вопрос запуска vmware продуктов. После обновления ядра при запуске VMWare появляется примерно следующие ошибки: include/asm/page.h: In function ‘pte_t native_make_pte(pteval_t)’: include/asm/page.h:128: error: expected primary-expression before ‘)’ token include/asm/page.h:128: error: expected ‘;’ before ‘{’ token include/asm/page.h:128: error: expected primary-expression before ‘.’ token include/asm/page.h:128: error: expected `;' before ‘}’ token include/asm/paravirt.h: In function ‘pte_t __pte(pteval_t)’: include/asm/paravirt.h:955: error: expected primary-expression before ‘)’ token include/asm/paravirt.h:955: error: expected ‘;’ before ‘{’ token include/asm/paravirt.h:955: error: expected primary-expression before ‘.’ token include/asm/paravirt.h:955: error: expected `;' before ‘}’ token include/asm/paravirt.h: In function ‘void pmd_clear(pmd_t*)’: include/asm/paravirt.h:1171: warning: missing braces around initializer for ‘pud_t’ include/asm/paravirt.h:1171: warning: missing braces around initializer for ‘pgd_t’ include/asm/paravirt.h:1171: error: cannot convert ‘pud_t’ to ‘pgdval_t’ in initialization make[2]: *** [/tmp/vmware-config2/vmmon-only/common/task.o] Error 1 make[1]: *** [_module_/tmp/vmware-config2/vmmon-only] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-2.6.25-1-686′ make: *** [vmmon.ko] Error 2 make: Leaving directory `/tmp/vmware-config2/vmmon-only’ Unable to build the vmmon module. Итак, вот рецепт:
  1. Качаем обновление http://blog.creonfx.com/temp/vmware-any-any-update-116.tgz
  2. Устанавливаем его ( в конце попросит запустить vmware-config.pl - нажать NO) :
  3. $ su # cd /usr/lib/vmware/modules/source/ # wget http://blog.creonfx.com/temp/vmware-any-any-update-116.tgz # tar xvf vmware-any-any-update-116.tgz # cd vmware-any-any-update-116 # ./runme.pl Естественно нажимаем везде Y для перезаписи файлов.
  4. Качаем обновление http://blog.creonfx.com/temp/vmware-any-any-update-117-very-ALPHA.tgz
  5. Устанавливаем его: $ su # cd /usr/lib/vmware/modules/source/ # wget http://blog.creonfx.com/temp/vmware-any-any-update-117-very-ALPHA.tgz # tar xvf vmware-any-any-update-117-very-ALPHA.tgz # ./vmware-2.6.25.sh
  6. Все. Теперь можно запускать как обычно vmware-config.pl