Archivos de Categoría: Mac OS X @es

Reinstalar (bless) rEFInd después de actualizar Mac OS X

Si estás usando Mac OS X 10.11 o superior hay que entrar en modo recovery (command+R durante el arranque) y en el termina desactivar SIP:

$ csrutil disable

Reiniciar y mirar en qué partición está instalado el EFI:

$ diskutil list | grep EFI
   1:   EFI EFI      209.7 MB   disk0s1

Entonces:

$ sudo mkdir /Volumes/EFI
$ sudo mount -t msdos /dev/disk0s1 /Volumes/EFI
$ sudo bless --mount /Volumes/EFI --setBoot --file /Volumes/EFI/efi/refind/refind_x64.efi --shortform
$ sudo diskutil unmount /Volumes/EFI

Habilitar SIP otra vez en el modo recovery si es necesario:

$ csrutil enable

Instalar PHP 7.0 en Mac OS X con MacPorts

He usado este proceso para instalar PHP 7.0 con MacPorts junto con PHP 5.6.

Primero asegurarse de que el Apache que viene junto con Mac OS X está parado:

$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

Instalar PHP7 y algunos de sus módulos (la lista completa de módulos disponibles aquí):

$ sudo port install php70
$ sudo port install php70-apache2handler php70-cgi php70-gd php70-curl php70-intl php70-iconv php70-gettext php70-mbstring php70-imap php70-mcrypt php70-xmlrpc php70-mysql php70-openssl php70-sockets php70-zip php70-tidy php70-opcache php70-xsl php70-sqlite

Crear el fichero php.ini base a partir del ejemplo de development:

$ sudo cp /opt/local/etc/php.ini-development /opt/local/etc/php.ini

Averiguar la timezone actual y configurarla en php.ini:

$ TIMEZONE=`sudo systemsetup -gettimezone | awk '{ print $3 }'`
$ TIMEZONE=$(printf "%s\n" "$TIMEZONE" | sed 's/[][\.*^$/]/\\&/g')
$ sudo sed -i.bak "s/;date.timezone =/date.timezone = \"${TIMEZONE}\"/g" php.ini

Actualizar los sockets de MySQL si es que se está usando:

$ sudo sed -i.bak "s#pdo_mysql\.default_socket.*#pdo_mysql\.default_socket=`/opt/local/bin/mysql_config --socket`#" php.ini
$ sudo sed -i.bak "s#mysqli\.default_socket.*#mysqli\.default_socket=`/opt/local/bin/mysql_config --socket`#" php.ini

Ahora con este comando se pueden ver las versiones de PHP instaladas:

$ sudo port select --list php
Available versions for php:
	none
	php56 (active)
	php70

Seleccionar php70 como la versión activa de PHP:

$ sudo port select php php70
Selecting 'php70' for 'php' succeeded. 'php70' is now active.

Habilitar PHP 7 en Apache:

$ cd /opt/local/apache2/modules
$ sudo /opt/local/apache2/bin/apxs -a -e -n php7 mod_php70.so

Reiniciar Apache:

$ sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper restart

Se puede comprobar la versión de php en la consola así:

$ php -v
PHP 7.0.0 (cli) (built: Dec 12 2015 11:18:35) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

Si la versión que se muestra no es la 7.0 asegurarse de que la ruta /opt/local/bin está definida antes que /usr/bin en la variable PATH:

$ echo $PATH
/opt/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

También asegurarse de que /opt/local/bin/php está apuntando a /opt/local/bin/php70:

$ $ ls -l /opt/local/bin/php
lrwxr-xr-x  1 root  admin    20B Dec  5 23:25 /opt/local/bin/php -> /opt/local/bin/php70

Si al ejecutar phpinfo(); no aparece la versión 7.0 comprobar que solo el módulo 7.0 es cargado en /opt/local/apache2/conf/httpd.conf:

#LoadModule php5_module        modules/mod_php56.so
LoadModule php7_module        modules/mod_php70.so

php7

Arreglar “avrdude: stk500_recv(): programmer is not responding” en Mac OS X Mavericks 10.9 – Arduino

Si te aparece este error al tratar de subir un sketch con Arduino IDE en Mac OS X Mavericks 10.9:

avrdude: stk500_recv(): programmer is not responding

Lo primero que debes hacer es comprobar que tiene seleccionado un puerto USB adecuado (Tools -> Port, que debería ser algo tipo /dev/cu.usbserial). Si aún así no funciona prueba ésto.

– Deshabilita el driver Apple FTDI USB:

$ cd /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns
$ sudo mv AppleUSBFTDI.kext AppleUSBFTDI.kext.disabled

– Reinicia Mac OS X.
– Instala el driver FTDI original de aquí: http://www.ftdichip.com/Drivers/VCP.htm

arduino-IDE

Ref: http://www.enttec.com/support-center/kb/article/108-OS_X_Mavericks_(10.9)_-_IMPORTANT
https://forum.arduino.cc/index.php?topic=198539.0

Ocultar partición Recovery en Mac OS X

A veces la partición Recovery se puede ver montada al inicio de Max OS X. Esto pasa por ejemplo si se mueve el sistema operativo a otro disco (clonado) o usando algunas aplicaciones que modifican las particiones del disco (rEFInd en mi caso).

Recovery HD

Esto se puede solucionar usando este script:

#!/bin/bash

PARTITION=`mount | grep "Recovery HD" | awk '{print $1}'`
if [ -n "$PARTITION" ]; then
    sudo diskutil unmount $PARTITION
    sudo asr adjust --target $PARTITION -settype Apple_Boot
fi

Luego APAGA (no reiniciar) y vuelve a encender el ordenador.

También se puede esconder dicha partición con la Utilidad de Discos si se activan las opciones de debug, aunque solo servirá hasta el próximo arranque del sistema:

$ defaults write com.apple.DiskUtility DUDebugMenuEnabled 1

Disk-Utility-Debug

Ref: http://automatica.com.au/2013/11/hide-recovery-hd-after-cloning-an-os-x-installation/
http://osxdaily.com/2011/09/23/view-mount-hidden-partitions-in-mac-os-x/

Opciones de vi-vim

Para cambiar las opciones de vi-vim se usa el comando set. Para ver las opciones actuales hay que ejecutar lo siguiente:

:set

Para ver todas las opciones disponibles:

:set all

Para dar un valor específico a una opción, por ejemplo ruler:

:set ruler

O la codificación del fichero:

:set fileencoding=utf-8

Así es como se ve si se activa ruler (mostrar alguna información del fichero y de la posición actual del cursor) y number (mostrar el número de línea a la izquierda):

vi-vim-options

Para establecer los valores por defecto editar ~/.vimrc:

set ruler
set number