пятница, 30 марта 2012 г.

Охлаждаем iMac


Играя в одну замечаельную игру, которая называется Mafia II, заметил, что через некоторое время игра начинает тормозить. Сразу стало понятно что дело в охлаждении. Но разбирать iMac и делать дополнительное охлаждение нет никакого желания и сил. Первый же запрос в Гугль дал отличный результат: утилита smcFanControl. В ней можно задавать профили, менять значения rpm на ODD, HDD, CPU. В принципе, более чем достаточно. Выставив значения на максимум - температура процессора снизилась с 54 градусов до 45, что не может не радовать!

четверг, 22 марта 2012 г.

Проброс порта через ssh туннель в Mac OS X

Создать ssh-туннель в Mac OS X можно следующей командой
sudo ssh root@Vneshniy-Server.com -L 443:Vnutrenny-Server.net:443

Теперь подключиться к Vnutrenny-Server.net по 443 порту можно обратившись к хосту localhost:443.

вторник, 20 марта 2012 г.

Установка обновлений Mac OS X через Терминал

Хочу показать набольшой трюк, который позволит вам установить обновления системы через Терминал. Не уверен насчет практической пользы, но для общего развития сойдет.

Итак, открываем терминал и пишем:
sudo softwareupdate -i -v -a

Рассмотрим более детально опции:
-i - установить обновления
-a - установить все обновления(используется совместно с -i)
-v - отображать процесс

Посмотреть список доступных обновлений можно так:
sudo softwareupdate -l

Ну и если хотите еще разобраться более детально, то можно почитать man:
man softwareupdate

Отмена задания на печать из терминала

В Mac OS X есть такая замечательная утилита cancel. Она позволяет отменить задание, отправленное на принтер.

Отмена всех заданий:
cancel -a

Если принтер подключен по сети, то отменить можно так:
cancel -a -h 192.186.0.1:[port]

Или отменить все задания которые послал на принтер Vasya
cancel -a -U "Vasya"

Как расшарить картинку по нажатию правой кнопки мыши

Хочу поделиться небольшим трюком для быстрого шаринга изображений. Есть такой сервис http://imgur.com/ . Он как и множество других позволяет расшарить картинку и поделиться ссылкой с друзьями. Для ускорения процесса добрые люди написали на AppleScript небольшое расширение, которое надо скачать и запустить. После этого система спросит запрос на установку.

Если все прошло успешно, можно нажать на любой картинке, которую вы хотите выложить в доступ,  правой кнопкой мыши. В выпадающем списке появится пунктик: Upload to imgur. После чего картинка отправиться на сайт, который автоматом откроется у вас.

понедельник, 19 марта 2012 г.

Заставляем iTunes выводить информацию о проигрываемом треке

В Mac OS X Lion в iTunes убрали "по-умолчанию" информацию о проигрываемом треке. Решим данную незадачу =)

Запускаем терминал и пишем команду:
defaults write com.apple.dock itunes-notifications -bool YES;killall Dock

Команда пропишет необходимые параметры и перезапустит Dock панель. После этого, когда будет начинаться слеудующий трек вы будете видеть что играет iTunes. Смотрим пикчу:


четверг, 15 марта 2012 г.

Консольный менеджер ssh сессий

Когда количество серверов начинает зашкаливать, возникает необходимость их организовать. Каждый раз забивать ip адрес нет никакого желания, особенно если делаешь это по 50 раз за день. К сожалению функции стандартного Терминал-а мне не подошли, так как времени на открытие новой сессии через стандартное меню уйдет даже больше, чем если набирать "ssh root@192.168.0.1 -p3322". За насколько минут я написал небольшой скрипт, который выводит список серверов с возможностью выбора к какому нужно подключиться. Выглядит это примерно так:

Сам скрипт, который вы можете доработать по своему желанию такой(В данном примере если сервер выбран из подсети 192.173.0. - подключение будет по порту 3322):

#!/bin/sh
ARRAY=('192.168.0.100' '192.173.0.1' '192.173.0.163' '192.173.0.166' '192.173.0.167' '192.173.0.168' '192.173.0.169')
SERVERS=${#ARRAY[@]}
echo "Выбери сервер:"
for (( i=0;i<$SERVERS;i++)); do
    echo $i\) ${ARRAY[${i}]}
done 

read choice

echo "Соединяемся с ${ARRAY[${choice}]}"
net=$(echo ${ARRAY[${choice}]} | awk 'BEGIN {FS="."} {print $1"."$2"."$3"."}')
if [ $net == "192.173.0." ]; then
ssh root@${ARRAY[${choice}]} -p3322
else
ssh root@${ARRAY[${choice}]}
fi
done

Разделитель в Dock Mac OS X

Разбить Dock можно с помощью невидимых разделителей. Например, у меня так:
 Очень удобно сгуппировать значки по типу. Например: "Интернет", "Разработка" и т.д. Решить задачку поможет Терминал. Запускаем его (у вас еще не открыт?).

В терминале пишем 
defaults write com.apple.dock persistent-apps -array-add '{tile-data={}; tile-type="spacer-tile";}';killall Dock
и выполняем ее нажав Enter

После данной команды у вас пропадет и снова появится Dock, но у же с раделителем, который можно перемещать и удалять также как обычную иконку Dock панели.

Если вам нужно добавить еще разделителей - то нужно просто повторить операцию необходимое количество раз.

Переназначаем клавиши на клавиатуре в Mac OS


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

В стандартной клавиатуре Windows на ее месте расположена клавиша Ё в русской раскладке, и ` - в анлийской. Если вы программист - то без "обратной тильды" в Linux тяжело работать. В решении данной проблемы вам поможет приложение keyremap4macbook.

KeyRemap4MacBook - утилита для переназначения клавиш. Содержит перечень вариантов, среди которых нужно найти подходящие и отметить их галочками

В моем случае переназначенная настройка выглядит так:
Данным приложением можно переназначить очень много клавишь на mac-клавиатуре. Вплоть до смены Ctrl и Alt местами. =)

UDP Видимо придется написать небольшое дополнение в связи с последними комментами. Итак, если вы хотите назначить Caps Lock как Enter выполняем следующую вещь. 

Для начала у вас должен быть уже установлен keyremap4macbook. Далее мы устанавливаем к нему дополнение pckeyboardhack. После установки необходимо перезагрузиться. Далее открываем системные настройки и внизу находитм PCKeyboardHack. Открываем его и меняем keycode для Caps Lock на 36. Вот и все теперь при нажатии Caps Lock будет эмулироваться нажатие клавиши Enter.

Скрин прилогаю



вторник, 13 марта 2012 г.

Как включить поддержку записи NTFS в Mac OS X 10.7 Lion стандартными средствами.

Источник

После установки Mac OS X 10.7 Lion Golden Master начал присматриваться к будущему рабочему окружению: что и как работает, что убрали, что добавили, что переместили. Это же практически то, что нас ожидает вот-вот-вот! Решил опробовать как обстоят дела с чтением/записью NTFS в Lion. Чтение, конечно же, и так работает, как говорят «из коробки», а я решил пошаманить с включением записи на NTFS разделы подручными средствами операционной системы «Лев». На ум пришёл уже известный способ, которым пользовался в Mac OS X Snow Leopard. Но не смотря на резвость работы этого Golden Master’а я был огорчён. Как вы уже догадались, не работает этот способ в Mac OS X Lion GM. Но в этот раз я уже не обращался к гуглу. Смысла в этом нет, рано. Сейчас все кругом да около пишут обзоры и сплетни, а не колупаются в глубинах ОС. Решил этим делом заняться сам, и это дало положительный результат.
Методом научного тыка (народные методы не расписываются в мелочах) определил, что c бинариком mount_ntfs в папке /sbin всё впорядке, скрипт, который мы создаём, тоже работает как нужно. Оказалось, что всё дело крылось в самом драйвере (кексте)ntfs.kext, который находится в /System/Library/Extensions/. Немного поколупавшись в NTFS драйверах от Mac OS X 10.6.8 и от Mac OS X 10.7 GM обнаружил, что драйвера отличаются минимально, можно сказать только сборкой, но вот Lion’овскую лешили встроенной поддержки записи на NTFS разделы. Попробовал подсунуть бинарик кекста ntfs.kext из Snow Leopard в Lion, полечил права, перезагрузился… И всё заработало! Короче, инструкция:
Скачиваем этот архив, в котором находится бинарик от ntfs.kext из Mac OS X 10.6.8 Snow Leopard и скрипт. Распаковываем этот архив на Рабочий стол. У вас должна появиться папкаNTFS_Enabler в которой находятся два файла: mount_ntfs и ntfs. Запускаем Терминал(Terminal.app) и выполняем:
1) Чтоб не писать лишних sudo сразу говорим, что мы будем работать от лица администратора (root’а):sudo -sи жмём Enter. На запрос пароля вводим пароль суперпользователя и снова жмём Enter.
2) Создаём резервную копию бинарика из ntfs.kext:mv /System/Library/Extensions/ntfs.kext/Contents/MacOS/ntfs \
/System/Library/Extensions/ntfs.kext/Contents/MacOS/ntfs_orig
3) Копируем бинарик драйвера ntfs.kext, вытянутый из Mac OS X 10.6.8 Snow Leopard, на место оригинального бинарика:cp ~/Desktop/NTFS_Enabler/ntfs \
/System/Library/Extensions/ntfs.kext/Contents/MacOS/ntfs
4) Назначаем ему правильные права и атрибуты:chown root:wheel /System/Library/Extensions/ntfs.kext/Contents/MacOS/ntfs;\
chmod 644 /System/Library/Extensions/ntfs.kext/Contents/MacOS/ntfs
5) Создаём резервную копию оригинального демона mount_ntfs:mv /sbin/mount_ntfs /sbin/mount_ntfs_orig
6) Теперь на место оригинального демона mount_ntfs помещаем скрипт-враппер, который будет «перехватывать» системные комманды и активировать ntfs.kext на чтение и запись:cp ~/Desktop/NTFS_Enabler/mount_ntfs /sbin/mount_ntfs
7) Скопированному скрипту назначаем правильные права и атрибуты:chown root:wheel /sbin/mount_ntfs; chmod 755 /sbin/mount_ntfs
8) Запускаем драйвер:kextload /System/Library/Extensions/ntfs.kextПри удачном запуске не должно быть ошибок.
9) Запускаем Дисковую утилиту и перемонтируем диски с файловой системой NTFS. Перезагружаться не нужно.
В архиве так же находится текстовый документ с командами построчно, так как движок блога мог поколбасить некоторые из них. После выполнения вышеперечисленных 9-ти шагов диски и разделы с файловой системой NTFS будут монтироваться на чтение и запись сразу, без каких-либо «прописок» в fstab и перезагрузок! Отключить запись на NTFS и вернуть всё обратно можно при помощи двух консольных команд (потребуется пароль администратора):
sudo mv /sbin/mount_ntfs_orig /sbin/mount_ntfsпотомsudo mv /System/Library/Extensions/ntfs.kext/Contents/MacOS/ntfs_orig \
/System/Library/Extensions/ntfs.kext/Contents/MacOS/ntfs
Читатель блога по имени Сергей Васильев провёл исследование этого метода и выделил следующие «плюсы» и «мниусы»:
Плюсы:
  • Большая скорость записи, около 30 МБ/сек.
  • При удалении файлов помещает их в корзину, а не удаляет перманентно.
Минусы:
  • Если том «некорректно» отмонтирован из винды, то ругается в лог и монтирует read-only.
  • Disk Utility не может создавать раздел типа NTFS.
  • Ну, это всё-таки хак ;-)
Поэтому читателям такая рекомендация: по дефолту пользоваться нативным драйвером согласно этому методу. Но Держать NTFS-3G установленным, но выключенным (кнопка Disable/Enable в System Preferences) на случай если нужно примонтировать проблемный раздел или разметить диск. Так же от себя напомню, что всё опробовалось и работает начиная с Mac OS X Lion 10.7 Golden Master, до Mac OS X Lion 10.7.2 включительно.
Не используйте NTFS для хранения важных файлов при работе в Mac OS X; и наоборот, не используйте HFS+ для хранения важных файлов при работе в Windows. Не полагайтесь на сторонние решения, такие как Tuxera NTFS, Paragon NTFS или NTFS-3G. Используйте функцию записи на NTFS только для обмена файлами, потеря которых не критична, или если имеется их резервная копия.
Внимание! Из-за многочисленных нестыковок я создал небольшой пакет под названием NTFS Tools, который проделает всё вышеописанное автоматом (ссылка на обзор).

суббота, 10 марта 2012 г.

Выводим IP-адрес в строке приглашения bash

Открываем для редактирования .profile в корневом кталоге пользователя:
vim ~/.profile

Далее добавим строку
export PS1=`/sbin/ifconfig en0 | /usr/bin/perl -ne 'if ( m/^\s*inet (?:addr:)?([\d.]+).*?cast/ ) { print qq($1\n); exit 0; }'`:$PS1


После этого получим что то типа этого

пятница, 9 марта 2012 г.

Сброс кэша DNS или используем dscacheutil

Для сброса кеша dns в Mac OS используется системная утилита dscacheutil.

Команда: sudo dscacheutil -flushcache

Бессонница у "Льва" или Mac OS X Lion не засыпает

Обнаружилось что Lion не может или не хочет "полноценно" засыпать. Как оказалось,- все дело в том что Mac OS X Lion мешает уснуть какая то служба. Чтобы обнаружить ее придется проделать кое-какие манипуляции. Итак, открываем терминал:
Набираем команду:
sudo pmset -g assertions
После чего вводим собственный пароль. И видим примерно следующую картину:
Командой kill убъем "мешающий" процесс:
sudo kill 19143


После этого Лев уснет сном младенца. Единственное что подчеркну: что это всего лишь временное решение.