6 puntos por GN⁺ 1 일 전 | 1 comentarios | Compartir por WhatsApp
  • Instala Claude Code en una Mac extra sin datos personales y configúrala como un entorno independiente siempre accesible desde el SSH de tu Mac principal y la app de Claude en el teléfono.
  • Ofrece un nivel de aislamiento de hardware mayor que un contenedor y además permite usar Unity y apps GUI exclusivas de Mac, por lo que el riesgo de --dangerously-skip-permissions puede separarse de tu Mac principal.
  • Crea una cuenta nueva de administrador local, configura sudo y SSH sin contraseña, evita el reposo, sincroniza el portapapeles e instala Claude Code para establecer la base de trabajo remoto.
  • El control por GUI se implementa con un servidor tmux que un LaunchAgent mantiene dentro de la sesión GUI, y los permisos de grabación de pantalla, accesibilidad y acceso total al disco deben ser autorizados manualmente por una persona.
  • Si agregas Remote Control, Claude in Chrome, Screen Sharing y Tailscale, podrás controlar desde el teléfono, automatizar el navegador y acceder desde fuera, pero se requieren autenticación separada y ajustes de permisos de macOS.

Objetivo de la configuración y principios básicos

  • Crear un entorno que Claude Code pueda controlar de forma independiente para delegar tareas de investigación y desarrollo fuera de la Mac principal.
  • Como un agente que usa --dangerously-skip-permissions tiene permisos muy amplios, ejecútalo en un equipo separado sin datos personales ni Apple ID para reducir la información sensible accesible.
  • Puedes acceder a Claude Code en cualquier momento desde la app de Claude en el teléfono o mediante SSH desde la Mac principal.
  • La configuración básica requiere una Mac de destino extra conectada a la misma red Wi‑Fi y una Mac de origen que usas a diario.

Por qué usar una Mac extra en lugar de contenedores u OpenClaw

  • Los contenedores siguen ejecutándose en la Mac principal y las solicitudes de red también pasan por ella, así que no hay una separación completa a nivel de hardware.
  • Es difícil ejecutar Unity o apps exclusivas de Mac, y también hay limitaciones para tareas GUI que requieren hacer clic o arrastrar con funciones de uso de la computadora.
  • La configuración con una Mac extra aprovecha tal cual las funciones más recientes de Claude Code, el control desde la app de Claude y el uso de la suscripción de Claude que ya tienes.
  • El entorno se aísla según los siguientes principios:
    • Usar una Mac extra antigua en lugar de la Mac principal.
    • Crear una cuenta local nueva sin datos personales ni Apple ID.
    • Controlarla por SSH en la red local y con la app de Claude desde el teléfono.

1. Restablecer la Mac de destino y aislar la cuenta

  • Si hay datos personales existentes, el agente podrá acceder a todo, así que primero borra el equipo.
    • Mac compatibles: System Settings → General → Transfer or Reset → Erase All Content and Settings
    • Mac Intel antiguas: al arrancar, entra en Recovery con Cmd-R, borra la unidad interna con Disk Utility y luego reinstala macOS.
  • Si hace falta, actualiza a la versión más reciente de macOS en System Settings → General → Software Update.
  • Crea una nueva cuenta de usuario local y omite el inicio de sesión con Apple ID.
  • Otorga privilegios de administrador a la cuenta para poder usar sudo.
    • En System Settings → Users & Groups, activa Allow this user to administer this computer.
    • Al recuperar desde otra cuenta de administrador, puedes usar sudo dseditgroup -o edit -a <user> -t user admin.

2. Activar el inicio de sesión remoto por SSH

  • En la Mac de destino, activa Remote Login con el siguiente comando:
sudo systemsetup -setremotelogin on
  • Si aparece el error Turning Remote Login on or off requires Full Disk Access privileges, concede Full Disk Access a Terminal.
    • En System Settings → Privacy & Security → Full Disk Access, agrega Applications → Utilities → Terminal.
    • Cierra Terminal, vuelve a abrirla y ejecuta de nuevo el comando.

3. Configurar sudo sin contraseña

  • Para que el agente y los comandos por SSH no pidan contraseña cada vez, crea una regla por cuenta en /etc/sudoers.d/.
echo "<user> ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/<user>-nopasswd >/dev/null
sudo chmod 440 /etc/sudoers.d/<user>-nopasswd
sudo visudo -cf /etc/sudoers.d/<user>-nopasswd
  • El primer comando escribe la regla, el segundo establece los permisos de solo lectura que exige sudo.
  • En la validación final debe aparecer obligatoriamente parsed OK; una sintaxis incorrecta en sudoers puede bloquear el acceso a sudo.
  • Si sudo -n true se ejecuta correctamente sin mostrar salida, el sudo sin contraseña ya funciona.

4. Verificar la dirección de la Mac de destino

  • Como la IP puede cambiar tras reiniciar o con el tiempo, se recomienda usar un nombre de host fijo.
scutil --get LocalHostName
  • Agrega .local al nombre mostrado y úsalo como <target-host>.local.
  • Si los nombres .local de las dos Mac coinciden en la misma red, podrías conectarte al equipo equivocado, así que asigna un nombre único.
sudo scutil --set LocalHostName newmacbook
  • Si necesitas la IP, puedes verla con ipconfig getifaddr en0, pero puede cambiar.
  • A partir de aquí, usa la dirección con el formato <user>@<target-host>.local.

5. Configurar SSH sin contraseña desde la Mac de origen

  • Si no tienes una clave SSH existente, genera una clave Ed25519 en la Mac de origen.
ssh-keygen -t ed25519
ssh-copy-id <user>@<target-host>.local
  • Al instalar la clave pública, introduce una vez la contraseña de la cuenta de destino.
  • Si el siguiente comando muestra el nombre de usuario de destino sin pedir contraseña, la configuración quedó lista.
ssh <user>@<target-host>.local whoami

6. Evitar el reposo y el bloqueo automático

  • macOS puede entrar en reposo tras unos 10 minutos de inactividad incluso conectado a la corriente y desaparecer de la red, así que desactiva el reposo.
sudo pmset -c sleep 0
sudo pmset -c disablesleep 1
sudo pmset -c displaysleep 0
  • Cada comando aplica, respectivamente, prevención del reposo del sistema mientras carga, prevención del reposo con la tapa cerrada y prevención del reposo de la pantalla.
  • Verifica sleep 0, SleepDisabled 1 y displaysleep 0 en la salida de pmset -g | grep -iE 'sleep'.
  • Si también quieres aplicarlo con batería, usa -a en lugar de -c, pero aumentará el consumo de batería.
  • También evita el bloqueo automático por el protector de pantalla.
defaults -currentHost write com.apple.screensaver idleTime 0

7. Sincronización del portapapeles por SSH

  • Si conectas pbcopy y pbpaste de macOS por SSH, puedes transferir texto de forma P2P cifrada sin Apple ID ni servicios externos.
  • clip.sh también permite transferir imágenes.
curl -fsSL https://raw.githubusercontent.com/ykdojo/claude-controls-mac/… -o ~/.local/bin/clip
chmod +x ~/.local/bin/clip
export IC_BOX="<user>@<target-host>.local"
  • Agrega la configuración de IC_BOX a ~/.zshrc.
  • clip send envía al destino el texto o la imagen desde la Mac de origen; las imágenes se pueden pegar con Ctrl-V en la sesión de Claude Code del destino.
  • clip get trae el portapapeles de la Mac de destino a la Mac de origen.

8. Instalar Claude Code

  • Desde la Mac de origen, instala una versión específica de Claude Code en la Mac de destino a través de SSH.
ssh <user>@<target-host>.local 'curl -fsSL https://claude.ai/install.sh | bash -s -- 2.1.201'
  • En lugar de la versión 2.1.201, también se puede especificar latest o stable
  • Si aparece una advertencia de PATH para ~/.local/bin, agrega la ruta a ~/.zshenv, que es leído por todas las sesiones de zsh
ssh <user>@<target-host>.local 'echo '\''export PATH="$HOME/.local/bin:$PATH"'\'' >> ~/.zshenv'

9. Instalación opcional de un entorno amigable para Claude Code

  • El script opcional setup-claude-env.sh instala alias de shell, plugins de DX, ajustes en settings.json, GitHub CLI y opcionalmente Playwright MCP y yt-dlp
  • La lista completa de componentes puede revisarse en claude-env-components.md
  • En la ejecución interactiva se seleccionan los elementos predeterminados y se muestra una lista de verificación desmarcada para las instalaciones opcionales
ssh -t <user>@<target-host>.local \
  'curl -fsSL https://raw.githubusercontent.com/ykdojo/claude-controls-mac/… -o setup-claude-env.sh && bash setup-claude-env.sh'
  • La ejecución no interactiva instala solo los elementos principales de forma predeterminada y admite las banderas --yt-dlp, --playwright, --all y --core
  • El script es idempotente, así que puede ejecutarse de nuevo

10. Inicio de sesión en Claude y GitHub

  • Conéctate por SSH a la Mac de destino, ejecuta claude e inicia sesión en tu cuenta de Anthropic mediante el flujo de navegador y código de dispositivo, que puede completarse en el navegador de la Mac principal
  • Para trabajar con repositorios, se recomienda agregar el inicio de sesión de GitHub con gh auth login
  • Es más seguro usar una cuenta de GitHub separada para que el agente no afecte a la cuenta principal

11. Función de uso de computadora a través de SSH

  • Cómo se conecta a la sesión GUI

    • Los procesos SSH no pueden usar directamente la grabación de pantalla ni los permisos de accesibilidad vinculados a una sesión de inicio de sesión GUI
    • Un LaunchAgent mantiene un servidor tmux y una sesión ancla cc en un socket fijo dentro de la sesión GUI
    • Claude Code iniciado dentro de ese servidor hereda la sesión GUI y obtiene acceso a capturas de pantalla y control de mouse y teclado
  • Instalación

    ssh -t <user>@<target-host>.local \
      'curl -fsSL https://raw.githubusercontent.com/ykdojo/claude-controls-mac/… -o setup-computer-use.sh && bash setup-computer-use.sh'
    
    • Instala el LaunchAgent y el ancla de tmux, y activa la herramienta integrada computer-use en ~/.claude.json
    • Requiere tmux y un plan Claude Pro o Max; el script puede volver a ejecutarse y puede eliminarse con --uninstall
  • Gestión de sesiones con el comando ic

    • Instala ic.sh en la Mac de origen
    curl -fsSL https://raw.githubusercontent.com/ykdojo/claude-controls-mac/… -o ~/.local/bin/ic
    chmod +x ~/.local/bin/ic
    echo 'export IC_BOX="<user>@<target-host>.local"' >> ~/.zshrc
    
    • Los comandos principales son los siguientes
      • ic: nueva sesión de Claude
      • ic -c, ic -r: continuar la conversación reciente o abrir el selector para reanudar
      • ic --chrome: ejecutar junto con Claude in Chrome
      • ic sh: shell normal del destino
      • ic vnc: iniciar Screen Sharing
      • ic rc: servidor de Remote Control para el teléfono
      • ic history, ic ls: ver conversaciones guardadas y sesiones en ejecución
      • ic attach <id>, ic kill <id>, ic kill-all, ic kill-except: gestionar conexión y cierre de sesiones
    • Todas las sesiones de ic se ejecutan con --dangerously-skip-permissions, y ic rc usa --permission-mode bypassPermissions
    • Dentro de tmux, Terminal.app no puede recibir las secuencias de portapapeles OSC52 que emite Claude, así que para copiar toda la pantalla usa Cmd-A y luego Cmd-C
  • Delegación entre agentes

    • Claude Code en la Mac de origen puede enviar prompts a una sesión de Claude en ejecución en el destino mediante SSH y tmux send-keys
    • En prompts largos, el Enter incluido en el mismo bloque de envío que el texto puede no interpretarse como envío, así que hay que esperar un momento y mandar Enter una vez más
    • Se puede leer la respuesta con tmux capture-pane y tail, y verificar repetidamente hasta que termine la tarea
  • Permisos que una persona debe otorgar directamente

    • Los permisos de grabación de pantalla y accesibilidad deben aprobarse manualmente en la GUI de macOS y no pueden resolverse con clics simulados
    • También hay que aprobar la solicitud para permitir bypass the window picker que aparece en la primera captura, y puede volver a mostrarse aproximadamente una vez al mes
    • El objetivo del permiso no es claude, sino el proceso responsable: el binario de tmux
      • Ruta en Intel: /usr/local/bin/tmux
      • Ruta en Apple Silicon: /opt/homebrew/bin/tmux
    • La grabación de pantalla permite capturas de pantalla, y accesibilidad permite el control de mouse y teclado
    • Como el estado del permiso se almacena en caché al iniciar el proceso, después de otorgarlo hay que reiniciar el servidor con tmux -S /tmp/cc-tmux.sock kill-server
    • Si tmux no aparece en la lista de configuración, primero provoca la solicitud de permiso pidiéndole a Claude una captura de pantalla desde ic
    • Para no repetir solicitudes de acceso a datos por aplicación en versiones recientes de macOS, otorga Full Disk Access a tmux y reinicia el servidor

12. Instalación de VPN y otras apps GUI

  • Puedes instalar una VPN como Proton VPN para separar el tráfico de la Mac de destino de la IP local
  • Si ya configuraste la función de uso de computadora, puedes pedirle a Claude desde ic que instale la app, pero las siguientes tareas deben hacerlas personas
    • Incluso en el plan gratuito se requieren credenciales de inicio de sesión, y la contraseña puede enviarse con clip send
    • Hay que aprobar los permisos de VPN y configuración de red de la primera conexión, así como la solicitud de contraseña de la Mac
    • Para controlar apps solo GUI se requiere la función de uso de computadora
  • Después del inicio de sesión, el agente puede encargarse de la conexión y del cambio de servidor, y el mismo flujo puede aplicarse a otras aplicaciones

13. Control desde el teléfono

  • Si ejecutas /remote-control o /rc en una sesión existente, puedes seguir controlando esa misma sesión desde la app de Claude
  • claude remote-control admite no solo conectarse a una sesión existente desde el teléfono, sino también crear una nueva sesión
  • Si se inicia con ic rc, las sesiones creadas desde el teléfono también pueden acceder a la función de uso de computadora de la Mac de destino

14. Configuración de Claude en Chrome

  • La función de uso general de la computadora puede ver la pantalla del navegador, pero tiene limitaciones para hacer clic o escribir
  • La extensión Claude en Chrome admite navegación, clics, entrada en formularios y lectura de logs de consola y solicitudes de red
  • A diferencia de Playwright MCP, usa el perfil normal de Chrome de la Mac de destino, por lo que puede aprovechar un estado donde ya hayas iniciado sesión
  • La Mac de destino necesita Chrome y una suscripción directa a Anthropic Pro, Max, Team o Enterprise
  • Las siguientes tareas deben hacerse manualmente
    • Hacer clic en Add to Chrome en Chrome Web Store
    • Iniciar sesión en la cuenta de Claude desde la extensión; las credenciales pueden enviarse con clip send
  • En Claude Code, ejecuta /chrome para activarlo por defecto, o usa claude --chrome o ic --chrome por sesión
  • Si no se conecta, reinicia Chrome una vez
  • El script de entorno del paso 9 agrega instrucciones a ~/.claude/CLAUDE.md para usar referencias a elementos del árbol de accesibilidad en lugar de coordenadas y evitar capturas de pantalla no solicitadas
  • Si la extensión de la misma cuenta se ejecuta al mismo tiempo en el Chrome de origen y de destino, aparece una solicitud de selección, y existe el issue #74667 donde la detección del equipo local puede fallar
    • Se puede evitar eliminando temporalmente la extensión de la Mac de origen o cerrando Chrome en el origen
  • Existe el issue #74671 donde las sesiones creadas desde el teléfono actualmente no ofrecen herramientas del navegador
    • Inicia la sesión desde la terminal y luego conecta el teléfono con /rc

15. Screen Sharing de macOS

  • Con Screen Sharing integrado puedes ver en tiempo real la pantalla de destino desde la Mac de origen y controlar directamente el mouse y el teclado
  • Desde macOS 12.1, no se puede activar desde la línea de comandos, así que debe configurarse en la GUI de destino
  • Activa Screen Sharing en System Settings → General → Sharing
    • Si Remote Management está activado y no aparece el interruptor, desactívalo primero
  • Conéctate desde la Mac de origen con el siguiente comando
open vnc://<user>@<target-host>.local
  • Inicia sesión con la contraseña de la cuenta de destino y puedes elegir guardar la contraseña en Keychain

16. Acceso desde redes externas mediante Tailscale

  • Las direcciones .local solo funcionan en la LAN, pero Tailscale permite usar SSH, ic, clip y Screen Sharing también desde redes externas mediante un túnel WireGuard P2P cifrado de extremo a extremo
  • No expone servicios a la internet pública y, en la red doméstica, usa directamente la ruta LAN
  • Unirse a la red de Tailscale solo proporciona conectividad entre equipos, por lo que siguen siendo necesarias las claves SSH o la contraseña de Screen Sharing
  • Instálalo en la Mac de destino en modo headless e inicia sesión desde la URL que aparece en la salida
ssh <user>@<target-host>.local 'brew install tailscale'
ssh <user>@<target-host>.local 'sudo brew services start tailscale'
ssh <user>@<target-host>.local 'sudo tailscale up --operator=<user>'
  • Instálalo también en la Mac de origen e inicia sesión con la misma cuenta de Tailscale que el destino
brew install --cask tailscale-app
  • Si usas MagicDNS, que está activado por defecto, puedes acceder desde cualquier lugar usando el nombre del host sin .local
export IC_BOX="<user>@<target-host>"


# export IC_BOX="<user>@<target-host>.local"
  • La dirección de Screen Sharing también cambia a open vnc://<user>@<target-host>
  • En la consola de administración se recomiendan las siguientes configuraciones de seguridad y disponibilidad
    • Activa device approval para que un equipo nuevo no pueda unirse solo con un inicio de sesión comprometido
    • Desactiva key expiry para que el equipo de destino no se desconecte por expiración de clave después de unos 180 días
  • Para probar el acceso remoto real, conecta la Mac de origen a otra red, como un hotspot del teléfono, y verifica con ic ls

1 comentarios

 
GN⁺ 1 일 전
Comentarios de Hacker News
  • Salvo que se trate del desarrollo gráfico mencionado en el artículo, no hay motivo para aislar al agente en hardware real. Escribí un script que crea un escritorio gráfico dedicado para Claude con libvirt y hasta ejecuta pruebas de aceptación de usuarios en Chrome
    Incluso si le das todos los privilegios de root, si algo sale mal puedes descartarlo y reinstalarlo en segundos

    • Yo creo un usuario aparte con algo como sudo useradd agent, sudo su agent, para que el agente solo pueda arruinar sus propios archivos. También tomé capturas con Chrome headless y configuré VNC, pero no valió mucho la pena
      Incluso en un VPS de 3 dólares puedes reinstalar enseguida si algo se rompe, así que tiene su gracia darle root al agente
    • Puedes ejecutar un guest de macOS en una máquina virtual sobre un host Mac, y Apple lo permite explícitamente
    • Si tienes suficiente capacidad, puedes crear un iMessage dedicado para Claude dentro de una máquina virtual, aunque también sirve aprovechar hardware viejo de Apple que te haya sobrado
    • Ese script parece código generado por Claude; leí unas 250 líneas, pero el código inconsistente me cansó y perdí el interés
  • No logro encontrar ningún caso de uso donde la IA realmente ayude 24/7, pero también me gustaría sentir esa necesidad

    • Quienes dominan Claude Code casi no usan IDE, así que fuera de la costumbre tampoco hay muchas razones para no trabajar desde el teléfono en vez de una laptop
      De hecho, si estando fuera empiezan a llegar alertas de Datadog, logs de la nube y alertas de GitHub, puedes poner a Claude Code a investigar y hacer que las clasifique con algo como “la API del banco afiliado está teniendo timeouts en aproximadamente el 15% de las solicitudes desde hace una hora”. Luego contactas a la persona responsable y vuelves a tu fin de semana
      Un sistema de guardias bien armado sería mejor, pero considerando la flexibilidad que da el trabajo, hasta vale la pena tolerar alertas de Slack el fin de semana
    • Hago que Claude supervise sobre todo análisis de ciencia de datos que tardan horas. Con control remoto recibo avisos cuando termina o cuando pide verificaciones adicionales, y si se me ocurre una idea nueva puedo meterla de inmediato en la cola de trabajo
      Muchas veces el cuello de botella es el hardware más que el límite de la suscripción
    • Cuando me sobran tokens, lo usé para fuzzing eligiendo enfoques según el conocimiento del dominio y del código fuente, problemas de optimización parecidos y para ejecutar SkillOpt de Microsoft
    • Con Claude Cowork armé una checklist y respaldos para reinstalar mi laptop de forma segura. Revisó la configuración de SSH, apps, descargas, documentos, etc., se encargó de los respaldos y también hizo el procedimiento de restauración para después de reinstalar, así que por fin pude cerrar algo que venía posponiendo
    • Los usos que más me sirvieron fueron hacer que manipulara Google Chrome y Figma con GUI en un entorno separado, correr tareas de más de 1 hora con la computadora principal cerrada, y aislar trabajos pesados en CPU y recursos como Gemma, Whisper y Qwen
  • En vez de instalar Claude en una tercera PC para que siga alucinando código que nadie quiere mientras intento no quedarme atrás, prefiero programar yo mismo, porque disfruto programar

  • Monté algo parecido en una Mac vieja como reemplazo gratuito del bot de OpenClaw. A veces se cae la conexión y tengo que volver a transferir el control desde el teléfono, pero también corro Homebridge, que Claude puede manejar, así que resulta bastante útil

  • Tengo Claude Desktop instalado en una Mac mini M4 separada y la controlo con Dispatch. Me pregunto si hay alguna razón para cambiar a este enfoque cuando Claude ya puede controlar por completo la cuenta local que le di

    • La mayor parte del razonamiento ocurre del lado de Anthropic, así que me pregunto por qué haría falta una M4. Salvo que estés ejecutando apps especialmente intensivas en recursos, parece demasiado hardware
    • RC me pareció más potente que Dispatch y más cercano a usar Claude Code directamente, pero frente al sandbox propiedad de Claude, al modo RC todavía le faltan funciones
      En vez de ejecutar RC en cada sesión del host, me gustaría que Claude usara mi computadora como host del sandbox. Por ahora uso una configuración temporal donde una sesión maestra de RC crea una nueva ventana de tmux y una sesión de Claude RC para cada tarea de programación
      Si aparece algún bug en RC, puedo usar Code directamente desde Termux, pero la interfaz de permisos en iOS me resultó algo inestable
    • Dispatch/Cowork es básicamente Claude Code dentro de un contenedor. La sección “Why not run it in a container?” del artículo responde eso, y a veces Cowork no puede descargar, leer o escribir PDFs u otros archivos por los permisos del contenedor, mientras que Claude Code normal usa curl y wget sin problema
    • Dispatch es distinto de este enfoque y es muy práctico para algunas tareas, incluidos los conectores. Aun así, cada vez se siente más como funciones añadidas gradualmente encima de Cowork sin una estrategia unificada entre móvil, escritorio y laptop
  • Aunque no resuelve todas las limitaciones, con UTM puedes instalar macOS y Claude Code en una máquina virtual en Mac. UTM puede ejecutarse con una cuenta sin privilegios de administrador y permite usar la mayoría de las herramientas nativas de Mac
    Eso sí, la UI de Claude Code dentro de la máquina virtual no tiene buen rendimiento interactivo, y no está claro si se puede evitar eso entrando por terminal desde una cuenta sin privilegios en el host

    • UTM no soporta aceleración gráfica, así que las funciones del navegador quedan limitadas. Incluso cuando no hacía falta aceleración, el navegador ejecutado dentro del sistema operativo virtual de UTM no lograba pasar algunos CAPTCHA modernos ni verificaciones de huella del navegador
  • Reconstruí mi homelab y servidor multimedia con una HP EliteDesk con i5 en lugar de un NUC viejo cuyo sobrecalentamiento nunca pude resolver. Pienso crear una máquina virtual aislada sobre Ubuntu base y correr Claude para probar Dispatch, o instalar Claude Code directamente y usar la app Moshi en iPhone y iPad

    • Yo también corro Claude en una máquina virtual de Ubuntu, y le delego cosas que antes habría manejado con tareas programadas. Si no necesitas iMessage, me pregunto qué ventaja extra aporta una configuración con Mac
  • Armé algo parecido con una M2 vieja. No alcanza para correr modelos locales con suficiente potencia, pero es perfecta para OpenClaw y Claude
    También sorprende que los precios de las MacBook M1 y M2 ya estén relativamente bajos en comparación con la Mac mini

    • Yo hice lo contrario: dejo un Framework Desktop potente como máquina de IA headless y uso una MacBook Pro M1 para el día a día, y funciona muy bien
    • Las MacBook Air y MacBook con 16GB o más se han vuelto demasiado caras, quizá por esta demanda