среда, 11 января 2012 г.

Mac OS X: устанавливаем Irssi 0.8.15

Я обновил свой MacBook на MacBook Air 11-inch, Mid 2011. Так как я любитель посидеть в IRC чатах, мне понадобилась давно любимая программа Irssi. Люблю я ее еще с тех времен как впервые установил Slackware. Но OS X Lion не Linux и во время установки у меня были некоторые сложности. Так как Irssi зависит от других программ, начинаем их устанавливать по очереди:

1. Устанавливаем pkg-config-0.25
$ ./configure
$make
$sudo make install


2. Устанавливаем libffi-3.0.0
$ ./configure
$make
$sudo make install


3. Устанавливаем gettext-0.18.1.1
$ ./configure
$make
$sudo make install


Если возникнет ошибка:
stpncpy.c:34: error: expected declaration specifiers or ‘...’ before numeric constant
stpncpy.c:34: error: expected ‘)’ before ‘!=’ token
stpncpy.c:34: error: expected ‘)’ before ‘?’ token
make[4]: *** [stpncpy.lo] Error 1
make[3]: *** [all] Error 2
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1


Нам нужно открыть файл ./gettext-tools/gnulib-lib/stpncpy.c:
И изменить строку номер 34
__stnpcpy (char *dest, const char *src, size_t n)
на
__stpcpy (char *dest, const char *src, size_t n)

4. Устанавливаем glib-2.31.2
$ ./configure
$make
$sudo make install


Если возникнет ошибка:
gconvert.c:65:2: error: #error GNU libiconv not in use but included iconv.h is from libiconv
make[4]: *** [gconvert.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


Редактируем файл ./glib/gconvert.c (строка 65). В данном файле нужно удалить секцию с ошибкой
#if !defined(USE_LIBICONV_GNU) && defined (_LIBICONV_H)
#error GNU libiconv not in use but included iconv.h is from libiconv
#endif


5. И наконец устанавливаем irssi-0.8.15. Я во время сборки отключил Perl, IPv6 и SSL. Данные функции мне пока не нужны
$ ./configure --with-perl=no --disable-ipv6 --disable-ssl
$ make
$ sudo make install

среда, 4 января 2012 г.

Mac OS X: консольные утилиты наблюдения за аккумулятором MacBook

Приложение Terminal.app на моем МакБук постоянно открыто и мне очень удобно проверить состояние аккумулятора именно командой. Я пока знаю две ioreg и system_profiler.


$ ioreg -w0 -l | grep Capacity
| | "MaxCapacity" = 4730
| | "CurrentCapacity" = 3724
| | "LegacyBatteryInfo" = {"Amperage"=18446744073709550291,"Flags"=4,"Capacity"=4730,"Current"=3724,"Voltage"=7863,"Cycle Count"=2}
| | "DesignCapacity" = 4680

$ system_profiler SPPowerDataType
Power:
Battery Information:
Model Information:
Serial Number: C01147201RYDKRTAZ
Manufacturer: DP
Device Name: bq20z451
Pack Lot Code: 0
PCB Lot Code: 0
Firmware Version: 406
Hardware Revision: 1
Cell Revision: 173
Charge Information:
Charge Remaining (mAh): 3619
Fully Charged: No
Charging: No
Full Charge Capacity (mAh): 4738
Health Information:
Cycle Count: 2
Condition: Normal
Battery Installed: Yes
Amperage (mA): -1027
Voltage (mV): 7840
System Power Settings:
AC Power:
System Sleep Timer (Minutes): 10
Disk Sleep Timer (Minutes): 10
Display Sleep Timer (Minutes): 10
Wake on AC Change: No
Wake on Clamshell Open: Yes
Wake on LAN: Yes
Display Sleep Uses Dim: Yes
PrioritizeNetworkReachabilityOverSleep: 0
RestartAfterKernelPanic: 157680000
Standby Delay: 4200
Standby Enabled: 1
Battery Power:
System Sleep Timer (Minutes): 10
Disk Sleep Timer (Minutes): 10
Display Sleep Timer (Minutes): 2
Wake on AC Change: No
Wake on Clamshell Open: Yes
Current Power Source: Yes
Display Sleep Uses Dim: Yes
Reduce Brightness: Yes
RestartAfterKernelPanic: 157680000
Standby Delay: 4200
Standby Enabled: 1
Hardware Configuration:
UPS Installed: No
AC Charger Information:
Connected: No
Charging: No

OS X Lion: Minecraft и Java 64

Обратил внимание, что уже на втором MacBook, во время игры в minecraft, java запускается в 32 разрядном режиме, не смотря на то, что моё железо позволяет запускать в 64 разрядные приложения. Это дело поправимо, нужно чуть чуть отредактировать лаунчер Minecraft.app:

Итак, открываем Terminal.app и вводим команду

$ cp /System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/MacOS/JavaApplicationStub ~/Desktop/Minecraft.app/Contents/MacOS/JavaApplicationStub


Затем нам остается изменить Info.plist (редактировать можно любым редактором, я редактировал с помощью Vim)

$ vi ~/Desktop/Minecraft.app/Contents/Info.plist

во-первых, в данном файле нужно поменять версию java (у меня была прописана 1.5, хотя установлена 1.6); во-вторых, я добавил платформу x86_64; смотрите ниже что было, и что стало

Было:
<key>JVMVersion</key>
<string>1.5</string>
<key>JVMArchs</key>
<array><string>i386</string>
<string>ppc</string>

Стало:
<key>JVMVersion</key>
<string>1.6+</string>
<key>JVMArchs</key>
<array><string>x86_64</string>
<string>i386</string>
<string>ppc</string>


После всех проделанных процедур Вы можете наблюдать в Activity Monitor.app kind intel (64 bit) на процессе Minecraft.app