Если вы любите минимализм, то вот вам один трюк, который позволяет отображать в доке только иконки запущенных приложений. Откройте терминал и выполните там команды:
defaults write com.apple.dock static-only -bool TRUE
killall Dock
Лично для меня это весьма удобно, т.к. для запуска программ я использую Spotlight, который открывается по нажатию Control-Пробел.
Для того, чтобы вернуть всё обратно нужны такие команды:
defaults write com.apple.dock static-only -bool FALSE
killall Dock
Для того, чтобы никогда не видеть окно, сообщающее о том, что какая-то программа завершилась некорректно с предложением отправить отчёт об этом знаменательном событии, нужно выполнить всего одну команду:
Для того, чтобы быстро восстановить файл из корзины, его нужно удалить ещё раз. Да, именно так. Выделить и нажать, например, Cmd-Delete. Это выглядит странновато, но логично, если вдуматься.
Если ноутбук находится в режиме сна с закрытой крышкой и крышка открывается, ноутбук просыпается. Отключить такое поведение можно одной командой:
sudo pmset lidwake 0
Потребуется ввод пароля. Изменения вступают в силу немедленно. Вернуть всё обратно можно так:
sudo pmset lidwake 1
Посмотреть все параметры управления питанием можно следующей командой:
pmset -g profiles
С помощью этой же утилиты можно сделать много всего интересного. Например, для того, чтобы временно отключить переход ноутбука в режим сна, можно запустить в терминале команду `pmset noidle`. Ноутбук не заснёт до тех пор, пока вы не нажмете Control-C.
Остальные возможности можно изучить в документации: `man pmset`.
, то мы вернёмся в старые добрые времена XFree, xterm’а и олдскульных оконных менеджеров, когда фокус следовал за курсором мыши. Если открыть несколько окон терминала и переводить мышку от одного к другому, активным будет становиться то, над которым на данный момент курсор. Особой практической ценности это не несёт, но вспомнить молодость можно.
Да, для того, чтобы отменить такое поведение, нужна чуть видоизменённая команда:
defaults write com.apple.terminal FocusFollowsMouse -string NO
Естественно, что после этого Terminal.app нужно перезапустить.
Для того, чтобы узнать серийный номер компьютера из командной строки, нужно выполнить всего одну команду:
$ system_profiler |grep «r (system)»
Собственно, сама программа `system_profiler` выдаёт полную информацию по всему «железу», которое установлено в компьютере и является консольным аналогом System Profiler.app
При обновлении системы до девелоперской сборки 10.7 zsh в консоли начал выдавать ошибку `_path_files:17: command not found: _have_glob_qual` при дополнении пути по клавише Tab.
Причина проблемы в том, что в 10.7 сменилась версия zsh с 4.3.9 на 4.3.11. Вероятно, сменился и формат служебных файлов, которые zsh создаёт во время работы. Для того, чтобы избавиться от ошибки, нужно удалить файл ~/.zcompdump и перезагрузить zsh.
После покупки SSD-диска и переустановки системы, я заметил, что при первом после перезагрузки запуске iTunes всегда появляется окно с запросом на разрешение этой программе принимать входящие соединения.
Поразбиравшись в проблеме, я выяснил, что это происходит от того, что в бандл программы были внесены изменения. Из-за этого она не проходит проверку электронной подписи.
Проверить, подписана ли программа или нет можно такой командой в терминале:
codesign -vvv /Applications/iTunes.app/
При удачной проверке вывод будет таким:
/Applications/iTunes.app/: valid on disk
/Applications/iTunes.app/: satisfies its Designated Requirement
При неудачной примерно таким (могут отличаться имена файлов):
/Applications/iTunes.app/: a sealed resource is missing or invalid
/Applications/iTunes.app/Contents/Resources/English.lproj/AutofillSettings.nib/objects.xib: resource added
/Applications/iTunes.app/Contents/Resources/English.lproj/iTunesDJSettings.nib/objects.xib: resource added
/Applications/iTunes.app/Contents/Resources/English.lproj/MobilePhonePrefs.nib/objects.xib: resource added
/Applications/iTunes.app/Contents/Resources/English.lproj/MobilePhoneSetup.nib/objects.xib: resource added
/Applications/iTunes.app/Contents/Resources/English.lproj/UniversalAccess.nib/objects.xib: resource added
Как видно, в бандл добавились лишние файлы. Подозреваю, что изменение содержимого бандла произошло после какого-то из обновлений или после установки каких-то программ для айфона (сам-то я уж точно ничего не менял).
Для того, чтобы избавиться от надоедливого окошка можно пойти двумя путями. Первый — скачать с сайта Apple установочный файл и переустановить iTunes.
Второй сложнее. Можно удалить лишние файлы. Я написал простенький однострочный шелл-скрипт, который удаляет лишние файлы.
По долгу службы мне иногда приходится настраивать сетевое оборудование используя его последовательный порт. Для этого я купил соответствующий переходник на базе чипа Profilic. Вот как заставить его работать под Mac OS X.
* [Скачайте](http://osx-pl2303.sourceforge.net/) и установите драйвер. Существует ещё и [официальная](http://www.prolific.com.tw/eng/downloads.asp?ID=31) версия драйверов, но говорят, что она сильно хуже. Сам я не проверял. После установки компьютер придётся перезагрузить.
* Для того, чтобы получить доступ к консоли настраиваемого оборудования, я использую программу screen. Устанавливать её не нужно, она уже есть в операционной системе.
* Перед тем, как запускать screen, нужно выяснить, какой файл устройства отвечает за переходник. Сделать это можно командой `ls /dev/*tty*`. В её выводе будет что-то наподобие `/dev/tty.PL2303-00001004`.
* Теперь можно запустить screen.
screen /dev/tty.PL2303-00001004
Для того, чтобы задать скорость порта, её можно указать вторым аргументом при запуске:
После того, как я поменял в своём ноутбуке жёсткий диск на SSD, я решил переставить систему с нуля. Сделал я это хотя бы потому, что старый диск был почти в два раза больше, чем новый, да и просто для того, чтобы избавиться от «истрического наследия».
После установки системы и переноса всех необходимых файлов я занялся установкой всего того, что простым копированием перенести нельзя. Например, я установил свежую версию интерпретатора Python 2.7 и новый Xcode 4.
Затем мне понадобилась база данных MySQL и связка (MySQLdb) для Python с ней. Опишу установку всей этой кухни, тут есть неочевидные моменты:
* [Скачивать](http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg) и устанавливать нужно только 64-х битную версию MySQL.
* Устанавливать MySQLdb с помощью easy_install или чего-то подобного смысле не имеет, т.к. будет вываливаться такая ошибка:
Traceback (most recent call last):
File "", line 1, in
File "build/bdist.macosx-10.6-intel/egg/MySQLdb/__init__.py", line 19, in
File "build/bdist.macosx-10.6-intel/egg/_mysql.py", line 7, in
File "build/bdist.macosx-10.6-intel/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/bm/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so, 2): no suitable image found. Did find:
/Users/bm/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so: mach-o, but wrong architecture
* Нужно [скачать](http://sourceforge.net/projects/mysql-python/) последнюю версию mysqldb
* Дальше немного терминальной магии:
tar xzf MySQL-python-1.2.3c1.tar.gz
cd MySQL-python-1.2.3c1
ARCHFLAGS=’-arch x86_64′ python setup.py build
ARCHFLAGS=’-arch x86_64′ python setup.py install