суббота, 20 ноября 2010 г.

Build Gtkmm application in Eclipse CDT

После того, как вы установили пакет gtkmm-x.x-dev соответствующей версии, может возникнуть желание использовать удобный инструмент для разработки, к примеру весьма популярный Eclipse  с плагином CDT - для разработки С++ программ.
итак создаём стандартный ппроект С++, и пигем тестовую заготовку, но сразу видим, что Eclipse не видит заголовочных файлов библиотеки.
Main window

















Добавляем каталог с заголовочными файлами в свойствах проекта, для нужной конфигурации (Debug\Release).

Include settings


















Однако попытка собрать проект, успехом не увенчалась, так как нужно сообщить компилятору и линковщику о нахождении библиотек и всех заголовочных  файлов gtkmm
Build error

сообщяем компилятору, будьте внимательны с указанием правильной версии, которую вы установили или хотите использовать, в строке:
`pkg-config gtkmm-2.4 --cflags --libs`

compiler settings

сообщяем линковщику, будьте внимательны с указанием правильной версии, которую вы установили или хотите использовать, в строке:
`pkg-config gtkmm-2.4 --cflags --libs`
Linker settings

















Компилируем


Compiling













Запускаем

Runing

воскресенье, 12 сентября 2010 г.

Mac OS X in VirtualBox

Запустил Retail OS X в VirtualBox по этому рецепту


  1. Запускаем virtualbox и создаем виртуальную машину с именем «MacOS», указываем в качестве гостевой операционной системы Mac OS X Server, остальное по умолчанию.
  2. Открываем настройки созданной виртуальной машины. В настройках приводов, если присутствует SATA, меняем его на IDE (ICH6). Там же для привода компакт-дисков устанавливаем галочку «passthrough» — без этого виртуальная машина под windows не сможет загрузится с установочного компакт диска MacOS X.
  3. Закрываем virtualbox, запускаем консоль, делаем cd в папку с virtualbox и выполняем следующую команду:
    VBoxManage setextradata "MacOS" "VBoxInternal2/SmcDeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(с)AppleComputerInc"
    Где «MacOS» — имя созданной виртуальной машины.  .
  4. Запускаем virtualbox, стартуем виртуальную машину, в появившемся окне визарда выбираем что cd-приводом будет физический привод, вставляем в него установочный диск с MacOS X и, если все сделано правильно, то virtualbox грузится с диска и начинается установка. Если же вместо этого показывается желто-черное EFI Menu — то с диска загрузиться не получилось. Либо процессор не тот, либо не сделано что-то из вышеописанного.

воскресенье, 16 мая 2010 г.

Skype && Ubuntu 10.10 x86-64

Переустанавливал пакеты, и случаем удалились ia32-libs, как не имеющие зависимости, после чего skype, установленный в версии с динамической линковкой, скачанный с сайта Skype.com, перестал запускаться. Просто не запускаясь и ничего не выводя в консоль.
После установки этого пакета (ia32-libs) всё заработало нормально.

четверг, 25 марта 2010 г.

Git config

При конфигурации git,  настоятельно рекомендуется указать информацию о себе, для того чтобы отследить свои коммиты, и не вносить сумятицу в репозиторий.
Можно использовать комманду git config  в текущем репозитории.

Если же вы хотите прописать настройки глобально, чтобы они были общими для всех ваших репозиториев, или как-то настроить внешний вид, который будет одинаковым для всех - есть опция git config --global.
Я делаю так:

git config --global user.name "My name"
git config --global user.email "my@email.com"

Помимо этого я  прошу git отобрать состояния репозитория разными цветами, следующими  коммандами:

git config --global color.branch "auto"
git config --global color.status "auto"
git config --global color.diff "auto"

После чего изменения и новые файлы будут выделены цветом.
Примерно вот так:

воскресенье, 21 февраля 2010 г.

CNTLM - NTLM proxy для Linux

После установки NTLMAPS (написана на питоне) решил поискать аналоги из мира бинарного кода. Коллеги напомнили про программу зовущуюся CNTLM. (plain C)
Авторы программи приводят доводы о том, что программа более быстрая чем NTLMAPS и намного более производительная...
Останавливаем NTLMAPS
$sudo service ntlmaps stop
Удаляем NTLMAPS
$sudo aptitude remove ntlmaps
Устанавливаем конкурента
$sudo aptitude install сntlm
Настройка производится в конфигурационном файле
$sudo kate /etc/cntlm.conf
В котором указываем:
Имя пользователя
Домен
Пароль
Порт, который слушает программа

Примерно вот так:


После чего перезапускаем сервис
$sudo service cntlm restart

Пользуемся...
правда через неё Akregator не работает... Ох придётся взять как-нибудь сорцы в руки и диалог настройки прокси добавить...
Зато работает SVN, который через ntlmaps не работает.

NTLMAPS - NTLM proxy для Linux

Мне никак не удавалось настроить Akregator на работу через прокси сервер с NTLM аутентификацией, хотя Konqueror работал.
Помимо этого регулярно отваливались плазмоиды которые обращаются к серверам интернета для получения данных (microblogging, weather) - спустя какое-то время показывался диалог аутентификации и хотя пароль там был правильный, простое нажатие на кнопку "ОК" - сообщало, что произошла ошибка аутентификации, но если набрать пароль заново и нажать "ОК", тогда всё продолжало работать...
после нескольких нажатий "ОК" без перенабирания пароля- аккаунт блокировался на некоторое время...
Естественно назвать это нормальной и удобной работой никак нельзя...
И вот сегодня случайно наткнулся на описание этой программы...
Ставим на примере Kubuntu
$sudo aptitude install ntlmaps
После установки будет показан диалог конфигурирования, который можно вызвать в любой момент командой:
$sudo dpkg-reconfigure ntlmaps

Картинки по шагам:

Порт
Port  for local proxy

Корпоративный прокси



Порт корпоративного прокси



Домен


Логин пользователя в домене Windows



Пароль пользователя Windows



После этого прокси севрвер запускается и добавляются записи в стартап скрипты.
Теперь перенастраиваем систему для использования локального прокси сервера, после чего всё будет работать как надо!

Переменные окружения



КДЕ



APT



Итог:


При указании адреса прокси в настройках системы или программах - НЕ ЗАБЫВАЙТЕ УКАЗЫВАТЬ ПРЕФИКС http:// - иначе работать не будет.