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

Mac OS X: примонтировать диск dmg в терминале

Задался вопросом,- возможно ли примонтировать образ диска dmg в командной строке Mac OS X? Это может быть нужно, например, в случае удалённого подключения по ssh. Короткий ответ: возможно :-).

В этом поможет команда hdiutil. С параметром attach просим подключить диск, система проверяет образ и сообщает путь монтирования вида /Volumes/<имя диска>


$ hdiutil attach <полный путь к файлу образа>
expected   CRC32 $6FBC93B9
/dev/disk2                                         /Volumes/<имя диска>

Отключить (размонтировать) можно той-же командой и параметром detach, только вместо пути к образу диска указываем уже путь монтирования, который нам вернул hdiutil attach:

$ hdiutil detach Volumes/<имя диска>

PyObjC: разработка на Python для Mac OS X

Разработка графических приложений для MacOSX на Python возможна: для желающих странного существует проект PyObjC, целью которого является предоставить мост между языками Python и Objective-C. Реализация моста должна быть полностью двухсторонней, что позволит программистам на Python использовать всю мощь различных тулкитов Objective-C и наоборот,- программистам на Objective-C использовать функционал, реализованный на Python. Самое главное,- что эта библиотека позволяет писать Cocoa GUI приложения для Mac OS X на чистом Python Python. На сайте проекта выложены примеры взаимодействия с компонентами Mac OS X, например с адресной книгой.

Это был маркетинг, а теперь грустная реальность:
  • крайняя версия датируется 2009 годом
  • часть API не реализована в принципе (например AddressBook Plugin API)
  • в части API реализованы не все методы
В остальном,- надо тестировать.

.Gadget again: Разные мелочи

Микрософт в своём стиле: при обновлении
не показывается версия установленного гаджета
Продолжаю ковыряться с гаджетами Windows Sidebar.

Обновление гаджета:
Как выясняется, встроенного механизма для обновления гаджета нет. Есть возможность установить новую версию поверх старой, но и здесь не всё гладко, - при установке новой версии поверх в русифицированной версии но отображается информация о старой версии,- только название гаджета, и то в виде имени файла в файлововй системе, а не то название, которое задано в gadget.xml. Такие мелкие и мягкие баги убивают всё впечатление от операционной системы.

Разаботка и дебаг:
Микрософт рекомендовал разрабатывать и дебажить в Visual Studio. По опыту получается, что львиную долю разработки можно сделать в альтернативной системе (я использовал Mac OS X 10.7.5), если говорить о логике изменения UI и получения/обработки данных. Всё что касается работы с настройками,- дело плохо. Данные настроек для гаджетов Windows Sidebar записываются и читаются с помощью javascript-объекта System.Gadget.Settings. Нигде, кроме сайдбара, этого объекта попросту не существует в объектной модели javascript. Реализаций System.Gadget.Settings в виде бибилиотеки для отладки в произвольном браузере (да даже в IE),- попросту не существует и уже не будет существовать.

Кроссплатформенность
В Mac OS X тоже есть гаджеты (ака виджеты). Несмотря на похожесть этих двух представителей ПО,- готовить их нужно по разному. Кроме того, есть ещё расширения для Chrome, которые тоже все из себя HTML, но тоже другие. Готовых инструментов для адаптации одного к другому или изначально кроссплатформенной разработки,- не нашёл, хотя не исключаю, что они могут существовать или кем-то разрабатываются в настоящий момент.