Mac

Apple Time Machine и production

Вдогонку ко вчерашнему.

Стал возвращать ноутбук в исходное положение (без файлов жены, на последний бэкап до того).

У меня там было три версии OS X (10.9, 10.11, 10.12), сервер тайм-машины: FreeBSD (netatalk + mdnsresponder).

Ну вот бэкап 10.12 - не восстановился, Unexpected error 2 (подозреваю это ENOENT).

Два остальных (и бэкап машины жены) - восстановились. Но, кстати, сильно медленно работает, 100 гигов в час где-то.

Как бы 10.12 мне не сильно жалко, там только тесты гонялись, а если бы рабочая система того?

Есть под OS X какой-то бэкапер, который образы пишет, а не пофайлово, ну там Акронис?

 

 

Q: Apple Developer Certificate

Вот регистрируемся в Mac Developer Program за $99 (в год).

Идем туда, выписываем себе девелоперский сертификат.

Смотрим в него - а он на 5 лет (с момента выписки, не с начала действия программы)

Верно ли я понимаю, что если в последний день действия годовой оплаты Эпплу выписать себе сертификат, то можно поэкономить $495 на следующие 5 лет? Или отвалится чего?

Речь не про (макосный) App Store, а именно про 3rd-party софт, который раздается мимо аппстора.

Q: Macbook retina + внешний монитор

А вот, я извиняюсь, вопрос.

  1. Берем MacBook pro с ретиной
  2. Выключаем Mission Control - Displays have separate Spaces
  3. Подключаем внешний (не ретинный) монитор
  4. Запускаем какую-нибудь Retina-enabled программу (я взял Keynote)
  5. Размещаем ее окошко на двух мониторах сразу
  6. И начинаем немножко двигать с монитора на монитор.
Так вот, если >50% окна на ретине, то на не-ретина-мониторе как-то пере-рендеривается эмуляция ретины (ну более-менее понятно что происходит - рендерится в фреймбуфер и растягивается немножко). И наоборот.

При этом, если совсем мелкие/тонкие шрифты при таком пере-рендере выглядят плохо, то вот начиная с более-менее рабочего размера шрифта - наоборот, этот пере-рендеренный вариант нравится мне больше и для некоторых приложений (вроде Терминала, где шрифты крупнее "лимита") я бы его сохранил.

Вопрос: а как, собственно? Ну кроме как оставить половинку окна на ноутбуке (что меня совершенно не устраивает).

Обратное неверно - если HiDPI-режим выключается, на ретинном мониторе оно смотрится плохо.

P.S. Ретина - рулит, конечно. Сходу в глаза оно не бросается, но вот два 15" макбука рядом - просто вот вопросов нет. Захотел 4k монитор еще отчетливее.

P.P.S. Теория, что оно просто 2x и все - ерунда. В той же Keynote, если 51% окна утянуть на не-ретинный монитор, в оставшихся 49% букивки маленько прыгают. Метрики шрифтов немножко разные.

mailto: URL Q (Mac)

А вот, я извиняюсь, вопрос.

Допустим, я хочу юзеру дать готовую ссылку в которую он кликает и получает в почтовой программе готовое к отсылке письмо.

Ну как-то так

<a href="mailto:bla@bla.com?subject=my%20subject&body=message%20body">Click here to open your mailer</a>
Все, типа, работает. Проверял на Windows+Thunderbird и на Маке с Mail.

В деталях все хуже. Конкретно, на маке.

У меня Qt 4.8 (а не браузер), раскопки показали, что все фигачится в результате в LSOpenCFURLRef().

Так вот, если в body письма больше одной строчки, то переводы строк эскейпить не надо, если поэскейпить, то письмо будет одной строкой, содержащей %0D%0A. Ну ладно, формируем URL прямо с переводами строк.

Главная беда наступает, если в текст письма нужно положить URL со своими & Если поэскейпить, то в тексте письма так и будет %26. Если не экскейпить, то на первом же & начнется, естественно, следующий аргумент.

Два вопроса

  1. Ну и кто они после этого?
  2. И что делать то? Не, мне несложно подпереть это дело мимо Qt (благо там есть возможность посадить свой handler на отдельную scheme), но как?

P.S. Проверял на 10.8, на 10.6 - вроде бы то же самое, другие не проверял.

Mac OS X в VMware: счастье есть!

[Оглавление раздела Hackinthosh]

Вот для чего нужно 32Gb памяти в машине (кликабельно)

А кроме шуток, внезапно с Mac OS X в VMWare случилось счастье и странные телодвижения более не нужны, все работает (т.е. я слоупок, этот самый анлокер давно существует и я про него давно знал, но сейчас только потестировал).

А именно:

  1. Берем VMWare Workstation (у меня - 8-я версия, с 9-й как-то любви не сложилось, правда это было с макосами поставленными старым странным способом, надо еще раз попробовать).
  2. Патчим ее VMWare unlocker-ом, в списке OS появляется Mac OS X (а в Program Files(x86)\VMWare\VMWare Workstation - появляется darwin.iso с VMWare tools).
  3. Берем и просто ставим Mac OS X:
    • Создаем новую VM
    • В качестве сидюка с OC - указываем ISO-образ с нужной нам версией Mac OS X (берем dmg с рутрекера и конвертируем в ISO)
    • Соглашаемся на все defaults, втч диск создаем как SCSI (я ставил памяти побольше и побольше ядер процессора отдавал, вот и все изменения).
    • Грузим виртуальную машину там вылезает инсталлятор
    • В инсталляторе идем в Disk Utility, создаем на диске один раздел (все остальное - defaults: GUID partition и все такое)
    • Диск становится виден инсталлятору - просто все ставим
  4. Подмонтируем вышеупомянутый darwin.iso и ставим с него VMWare Tools
  5. Скачиваем и ставим VMsvga2
И, собственно, все. Никаких kext, апдейты все ставятся с сайта Apple, 3D-акселерация работает (проверял шахматами), хотя и медленно, ПОЛНОЕ счастье.

Из показанных в скриншоте пяти версий, четыре я поставил за вечер в фоне, вообще ни о чем не думая.

Есть моментики:

Про Mac и 32 бита

Ваяю потихоньку новый варез для фотографов (пока не скажу какой). Делаю его на Qt5, вот так вот решил.

В связи с этим встает вот такой вот вопрос:

  • Qt5 не билдится как Universal Binary, обещают починить, но там есть препятствие в лице v8 (насколько понял из чтения мейлинг-листов).
  • Qt5 поддерживает Mac OS X начиная с 10.6. Эта самая 10.6 вроде бы требует 64-bit capable CPU (это по комментариям в Qt-шном багтрекере, где обсуждают отсутствие UB). Хотя в Википедии пишут, что 64-bit only - только с 10.7
  • Посмотрел в статистике RawDigger: 32-битных Маков 1%. Не от числа вообще компьютеров а от числа маков. У меня, понятно, статистика смещенная и кривая, но какая уж есть.
Собственно, вопрос: а что будет, если я в мак-версии дропну 32-битность? Целевая аудитория вареза - фотографы, как обычно. Теоретически, это заденет модели 2006-го года и некоторые макмини 2007, но их же должен быть вот тот самый 1%?

По-моему, этот вопрос мы уже обсуждали в этом бложике "вообще", но может у кого есть объемная статистика?

RawDigger для Mac - вторая альфа

Прошу любить, жаловать и скачивать отсюда.

По традиции, расширенно комментирую Changelog:

  • 64/32 бита. Протестирована на 10.5 (32 bit),10.6 (64bit) и 10.7 (64bit), может быть работает и на интеловской 10.4

    Надо сказать, что для удержания дистрибутива в приемлемом размере пришлось пересобрать Qt в урезанном варианте (без Webkit, QDeclarative и много чего еще). Иначе размер .app моментально раздувало до 75M, а это уже перебор.

    macdeployqt можно попросить не копировать лишнего (-no-plugins), но тогда оно не копирует плагины (сюрприз!), а не только QWebKit и прочих. А без плагинов - кой-чего отваливается и программа крэшится, ага.

  • Поправлены размеры шрифтов и контролов в ряде мест (и где были слишком крупные, и где были слишком мелкие).

    Отдельное спасибо за совет с Qt::WA_MacMiniSize. Выглядит не очень, ну так QGroupBox на маке в любом случае выглядит так себе.

  • Добавлено место на правом краю гистограммы, где 5 цифр не влезало
  • Поправлены верхние информационные окошки, все цифры должны (бы) быть видны
  • Работает Drag-n-Drop на иконку приложения (за исключением дропа прямо на образ дистрибутивного диска, где работать и не должен).

    Про это напишу особо ниже.

  • Если About-диалог открыт сразу после запуска программы, то он не закрывается самопроизвольно через несколько секунд.
Так вот, теперь про маковский Drag-n-Drop.

Про Look and Feel

Пользователи мак-версии RawDigger вероятно заметили уже, что окошко гистограмм очень широкое.

А широкое оно оттого, что контролов много. Окну же сказано уменьшаться только до тех пор, пока все контролы видны.

А вот как это отрисовывает Qt под разными ОС (окно завернуто в минимальную ширину):

По клику откроется полный размер.

Сверху вниз:
  • Mac Native (и такой spacing так и задуман) - ширина окна 1088 пикселов и меньше не делается.
  • Результат применения setStyle(QStyleFactory::create("windows")); - 908 пикселов, на 20% меньше.
  • Win7 Native (без каких-то настроек spacing) - 821 пиксел, еще на 10% меньше.
Эксперимент не полностью чистый: маковский десктоп 1920x1200 и никаких настроек шрифтов не делалось, на винде шрифты увеличены (115%), а разрешение монитора 2560x1600. В полностью одинаковых условиях винды, скорее всего, будут еще компактнее (пробовать страшно, потрогав размер шрифта у винды есть риск обратно не вернуться).

Родной маковский выглядит просторнее, но вот в редких случаях хотелось бы иметь возможность сделать все плотненько. Но разумным способом - никак (можно выписать свой StyleSheet, но хочется то бе этого). Имею сказать, что виндового размера контролов лично мне на маке очень не хватает.

Update: Добрые люди подсказали про Qt::WA_MacMiniSize. Результат - 859 пикселов ширины. Чуть хуже винды, но непринципиально. Хотя, конечно, спинбоксы по мне выглядят чуть мелковато.

RawDigger 0.9.10 - версия для Mac

Продублирую анонс на radigger.ru тут, с небольшими комментариями.

Обещал Mac-версию в течение марта? получите.

Это альфа-версия, потому что ей от роду - неделя (даже меньше). Ее, конечно, тестировали, под оный мак немножко правили, но бетой ей раньше чем через месяц-два не быть, просто не по понятиям. Кроме того, маковская специфика (хоткеи, например) в документации не отражена, просто не успели.

Отличия от Windows-версии:

  • Функциональность соответствует версии 0.9.10 для Windows за исключением Drag-n-Drop на иконку приложения (Drag-n-drop в открытое окно программы - работает).
  • Все функциональные Ctrl-кнопка стали Command-кнопка, за исключением Ctrl-H (показ окна гистограммы всего изображения), которая стала Option-H. Патамучта Command-H уже занято.
  • Порядок следования кнопок в Preferences немножко отличается от Windows-версии (но все элементы находятся на своих табах). Это нормально, этот новый порядок будет и в очередной Windows-версии.
  • Текущая версия - только 64-bit. Universal-binary варианты (Intel 32/64, а может быть и PPC 32/64) будут позже. Все понятно что делать, но Qt пересобрать придется, а это серьезное такое (по времени) развлечение.
  • Тестировалось на Mac OS X 10.6 и 10.7. Работает.  На 10.5 протестировать не удалось т.к. она оказалась на 32-битном процессоре (точнее, та виртуальная машина, которую я готовую скачал - 32-битная по мнению Mac OS).
  • Английская версия будет через несколько дней. Анонсировать русскую версию в англоязычных форумах не надо. А то обидимся совсем. Тот шабаш, что был с анонсами русской 0.9.6 - не понравился вовсе.

Про разработку под Макос имею сказать отдельно:

Qt+Xcode = ?

Делаем так:

qmake -spec macx-xcode somefile.pro
Дальше напускаем туда (на получившийся pbproj) Xcode 4.2, Xcode с грохотом падает. Ну то есть известная проблема, как выясняется, но ведь ей минимум полгода?

Качаю Xcode 3.2 (4гига однако, еще где-то час).

Чтобы два раза не вставать. Я правильно понимаю, что если я соберу некий варез как 64-битный, то он не будет работать на Intel Macs с Core Solo (т.е. на очень старых Mac Mini) ну и естественно на PPC. А на всех остальных - будет, независимо от битности ОС, верно?

Подземный стук - 2

Продолжение истории начатой здесь

Я не верю, что битая памяь может выражаться в тормозах. В падениях программ, в битых файлах - это пожалуйста. Но тормоза? Впрочем, я не гордый, раз все советуют, запустить memtest несложно.

Ставлю по одному модулю (чтобы потом не разбираться, какой адрес ошибки какому модулю соответствует), проверяю, ничего не находится. Как, собственно, и ожидалось.

Но ночью приходит такой вот комментарий:

Это звучит как проблема с кешированием памяти. Есть на MacOSX какие-то средства посмотреть конфигурацию MTRR, как memcontrol(8) во FreeBSD ? Когда-то давно очень часто BIOSы забывали правильно сконфигурировать MTRR для страниц выше 4GB.

И вот эта идея, в отличие от битой памяти, не противоречит моим мироощущениям.

Ставлю все 8Gb, запускаю memtest и вот что оказывается:

Подземный стук

Есть у меня MacBook Pro, почти новый, пяти лет еще нету.

И решил я ему сделать подарок на новый год: поапгрейдил память до 8Gb, пока DDR2 совсем из продажи не пропала. Сделал. Где-то в начале декабря.

Пользуюсь я им мало, почти совсем не, поэтому только к середине января заметил, что прошедших до конца бэкапов у меня с 1 декабря и не было. Стал разбираться. Увидел странное:

  • Сразу после включения машинка работает весьма бодро. Первые минут 10 (если ничего не делать, то и дольше).
  • После нескольких гигабайт I/O начинается чертовщина:
    • Полностью или почти полностью исчезает idle time
    • Минимальные программы, вроде top, могут жрать 20-40% CPU
    • Все действия необычайно замедляются, запуск Firefox может минут 20 занимать.
    • Бэкап на time machine - первые 2-6Gb пролетают мухой, что по 1G Ether, что по Wifi, а потом все встает колом и все мои 80Gb бэкапятся больше суток.
Первая гипотеза: перегревается процессор и делает сам себе throttle. Поставил варез, померял, ну греется где-то до 80-85, много, но не запредельно (TjMax у процессора - 100).

Развинтил, действительно термопаста высохла (что не означает, что она не отводила), намазал новой, стало получше, но не сильно. Поставил программу, которая раскручивает вентиляторы, максимальная скорость, температура процессора 40-65, но все равно тормозит.

О Хакинтошах: Оглавление

Читаю логи сайта, вижу как мечутся по моему уютному бложику пришедшие с поисковиков по "хакинтошным" запросам. Кажется полезной идеей сделать оглавление и поместить ссылку на него в основные посты раздела. То же самое будет со временем сделано и для других больших тематик, собственно я сам постепенно начинаю путаться (но поиск спасает).

Предуведомление: если у вас процессор не Intel Core, а более старый Intel, Intel Atom или AMD, то вы попали не по адресу, скорее всего вам тут не помогут.

Установка в виртуальной машине

Установка на физическом железе

Time Machine, мелкие заметки о поддержании в работоспособном состоянии

Разное

Hackintosh 10.7: восстановление с Time Machine

[Оглавление раздела Hackinthosh]

С восстановлением OS X целиком с Time Machine backup на родных Маках никаких проблем нет: Time Machine должна быть видна через mDNS (Bonjour), грузимся с инсталляционного диска/флэшки (можно даже с того, с которого на данном маке поставиться нельзя) и все восстанавливаем.

С Хакинтошами все выглядит сложнее:

  • Загружаемый на PC инсталляционный диск с OS X Lion - на сегодня не существует.
  • Кроме восстановления системы, нужно еще восстанавливать загрузчик.
В результате экспериментов, родился и проверен следующий метод:

Time Machine server на FreeBSD: backup, restore, полный restore...

[Оглавление раздела Hackinthosh]

Как многие знают, Time Machine на Mac OS X 10.7 не поддерживает SMB

Пришлось осилить AFP и к нему mDNSResponder. И если с AFP все тривиально, то с mDNSResponder пришлось помудохавозиться, ибо документации к нему в сети сыскать не удалось, исключительно методом тыка разбирался.

Идеальное решение должно уметь:

  • Бэкап TimeMachine на FreeBSD-сервер.
  • Пофайловое восстановление с TimeMachine за нужную дату.
  • Накатка целого бэкапа из инсталлятора Lion/Snow Leopard

Нижеприведенный текст - для FreeBSD, для Linux/Solaris будет отличаться процедура установки пакетов, а настройка должна быть примерно такая же.

Mac OS X 10.7 Lion: Hackintosh

[Оглавление раздела Hackinthosh]

Поапгрейдить штатными средствами Хакинтош на OS X 10.7 нельзя, сделать инсталляционный диск/флэшку для 10.7 и обычного PC вроде бы тоже пока нельзя (? я не нашел).

Чтение форумов дает кучу весьма противоречивой информации, из которой скомпилировалось следущее (за основу взято вот это: xMove + MultiBeast: Install OS X 10.7 Lion on any Supported Intel Core 2 or Core i based PC).

У меня (но на вполне mainstream-железе) оно сработало.

Если неясно что делать - делай по инструкции

[Оглавление раздела Hackinthosh]

После того, как мне указали на способ лечения проблемы с SMB shares путем установки правильных прав и этот способ сработал, я вернул все как было (проблема вернулась) и попробовал полечиться штатными средствами.

Disk Utility → выбираем диск с системой → Repair Permissions

И что бы вы думали? Так тоже работает.

Смотрим заголовок поста.....

В какой бубен дать?

[Оглавление раздела Hackinthosh]

Вот есть, я извиняюсь, Хакинтош.

В одной сети с ним (и в IP и в Ethernet смысле) есть Samba-сервер.

Имею проблему:

  • smbclient на этом Маке Хаке работает, равно как и прочие сетевые приложения. Проблем тут нет.
  • А вот коннект из Finder (Cmd-K, ввод smb://...) - не работает, даже пароль не спрашивает.
При этом:
  • Samba-сервер виден в "сетевом окружении" (секция Shared) в Finder, но приконнектиться к нему никак не получается, паролей не спрашивают.
  • Кроме того, на стороне Samba-сервера при попытке коннекта в сети - пусто (смотрю tcpdump, никаких пакетов ни на 139-й порт, ни на 445-й не прилетает). Если smbclient-ом ходить, то все нормально.
Вопросы обычные: кто виноват, что делать, куды поковырять. Firewall-а никакого на этом хакинтоше не включено и вообще - свежеустановленная машина.

Версия Mac OS X - 10.6.7, но 10.6.0 и 10.6.6 ведут себя аналогично. При включении в этот же Ethernet-шнурок Макбука - все работает отлично.

Update: какая-то удивительная херня. Если спрятать kext в котором драйвер (перенести куда-то, поапдейтить кэши), то коннектится мгновенно. После этого kext можно вернуть. Если не прятать - таймаут навсегда. Похоже, встроенный клиент хочет чего-то от драйвера, чего у того нету, а если драйвер попрятать (есть en0, а откуда он - не ведаем), то этого "чего-то" оно уже не хочет.

Update2:

Помогло вот это вот:

sudo chmod 0755 /System/Library/Extensions/smbfs.kext/Contents/Resources/load_smbfs
(права были 0644).

Остается понять, отчего права были такие кривые и отчего припрятывание сетевого драйвера помогает (система сама грузит этот .kext если драйвер спрятать?).

На настоящем маке, где все работало, права стоят 0755 и я их никогда сам не правил.

О хакинтошах: ModUSB

[Оглавление раздела Hackinthosh]

Среди всех современных видов инсталляторов Хакинтошей, главнейшим является ModUSB (ну и прочие варианты того же автора).

Думать не надо:

  • Делаем копию загрузочного DVD на флэшку (для чего потребуется другой MacOS X, конечно, я пользовался установленным в VMWare
  • Накатываем "пакет" ModUSB на эту же флэшку.
  • Грузимся с нее, она сама решает какие дополнительные модули активировать на стадии установки.
  • Размечаем диск, ставим, наслаждаемся.
  • Апдейты в моем случае (i7-920, материнка на X58) просто ставятся с сайта эппла, ничего допатчивать потом не надо.

И, да, рекомендация "на стадии установки выньте всю память свыше 4Gb" - это не пустой звук. Так и надо делать.

Магия: VMWare + Hackintosh + Sandy Bridge

[Оглавление раздела Hackinthosh]

Чтобы Mac OS X работал под VMWare под новыми интеловскими горшками, надо в .VMX-файл добавить строчку:

cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101"

Pages

Subscribe to Mac