sábado, 25 de abril de 2026

Servidor local en macOS: Python vs PHP

Si estás desarrollando una web en tu Mac, antes o después necesitas verla funcionando como si estuviera en internet. Abrir el HTML con doble clic muchas veces no basta: ni se cargan los JSON, ni los formularios, ni las imágenes que vienen por fetch. Aquí te explico, paso a paso, cómo levantar un servidor local en macOS usando Python (para webs estáticas) o PHP (cuando necesitas algo más). Sin programas raros, sin entornos complicados — solo Terminal y dos comandos.

🧐 ¿Por qué necesitas un servidor local?

Cuando abres un archivo HTML haciendo doble clic, el navegador lo carga con el protocolo file://. Eso funciona para HTML simple, pero se rompe en cuanto tu web empieza a hacer cosas modernas:

  • Si tu JavaScript usa fetch() para cargar un JSON → error de CORS, el navegador lo bloquea.
  • Si tienes módulos ES (import / export) → tampoco se cargan.
  • Si quieres probar formularios con PHP → directamente no se ejecutan.
  • Si trabajas con rutas absolutas (/css/style.css) → no funcionan correctamente.

La solución es levantar un servidor HTTP en tu propia máquina, que sirva los archivos como lo haría un hosting real. Todo desde la línea de comandos. Empezamos.

⚡ Opción 1: Servidor con Python (lo más rápido)

Python viene preinstalado en macOS, así que no necesitas instalar nada. Abre Terminal y comprueba que lo tienes:

TERMINAL MAC
$ python3 --version
Python 3.x.x

Si te devuelve una versión, perfecto. Ahora navega hasta la carpeta de tu proyecto y arranca el servidor:

TERMINAL MAC
# Ve a la carpeta de tu proyecto
$ cd ~/Documentos/mi-web

# Arranca el servidor en el puerto 8000
$ python3 -m http.server 8000

Ahora abre tu navegador y entra en http://localhost:8000. Si en la carpeta hay un index.html, lo verás directamente. Si no, te aparecerá un listado de archivos.

💡 Cambiar el puerto

Si el puerto 8000 te lo está usando otra app, prueba con otro: python3 -m http.server 3000. Cualquier número entre 3000 y 9999 te vale.

🛑 Cómo parar el servidor

Mientras el servidor está activo, la Terminal queda "ocupada" mostrándote las peticiones que llegan. Para detenerlo, pulsa Ctrl + C en esa ventana.

🐘 Opción 2: Servidor con PHP (cuando necesitas más)

El servidor de Python es perfecto para webs estáticas (HTML + CSS + JavaScript + JSON), pero no ejecuta código PHP. Si abres un archivo .php con el servidor de Python, el navegador te descargará el código fuente como si fuera un texto. No es lo que queremos.

Para que PHP funcione necesitas… bueno, PHP. Y aquí viene el problema:

⚠️ macOS ya no incluye PHP

Desde macOS Monterey (2021), Apple eliminó PHP del sistema. Si pruebas php -v y te sale command not found: php, es completamente normal. Hay que instalarlo a mano.

📦 Paso previo: instalar Homebrew

Homebrew es el gestor de paquetes estándar en macOS. Sirve para instalar herramientas de desarrollo de forma limpia (sin tener que ir buscando instaladores por internet). Si no lo tienes, este es el momento.

Comprueba primero si ya está instalado:

TERMINAL MAC
$ brew --version

Si te dice Homebrew 4.x.x → pasa al siguiente paso. Si te dice command not found: brew → instálalo con este comando oficial:

TERMINAL MAC
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Te pedirá tu contraseña de Mac (la misma que usas para iniciar sesión). El proceso tarda unos minutos. Cuando acabe, léete el final del mensaje con atención: te dirá que añadas dos líneas a tu archivo ~/.zprofile para que el comando brew esté disponible. Algo así:

TERMINAL MAC
$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
$ eval "$(/opt/homebrew/bin/brew shellenv)"

Cierra y abre Terminal de nuevo, y comprueba que brew --version ya te responde.

📥 Instalar PHP

Una vez tengas Homebrew funcionando, instalar PHP es un solo comando:

TERMINAL MAC
$ brew install php

Tarda entre 1 y 3 minutos. Cuando termine, comprueba que está bien:

TERMINAL MAC
$ php -v
PHP 8.4.x (cli) (built: ...)

🚀 Arrancar el servidor PHP

El comando es prácticamente igual de sencillo que el de Python. Ve a tu carpeta y lánzalo:

TERMINAL MAC
$ cd ~/Documentos/mi-web
$ php -S localhost:8000

Abre http://localhost:8000 y ya tienes un servidor que sirve HTML, CSS, JS y JSON exactamente igual que el de Python, pero además ejecuta archivos PHP.

🆚 ¿Cuál uso, Python o PHP?

Depende de lo que tenga tu proyecto. Esta es la regla simple:

Servidor HTML / CSS / JS / JSON / imágenes Ejecuta PHP
python3 -m http.server 8000 ✓ Sí ✗ No
php -S localhost:8000 ✓ Sí ✓ Sí
📌 Aclaración importante sobre JSON

"Ejecutar JSON" no existe. JSON es solo un formato de texto plano. Cualquier servidor HTTP lo sirve sin problema, da igual que sea Python, PHP, Node o Apache. Quien lo procesa es tu JavaScript, en el navegador, cuando hace fetch('data/archivo.json').

🧪 Caso real: por qué el JSON no carga al hacer doble clic

Esto es lo que le pasa a casi todo el mundo la primera vez: tienes una web bonita con un archivo resenas.json que se carga con JavaScript. Al abrir el HTML con doble clic ves el diseño pero la sección donde deberían aparecer las reseñas está vacía. Si abres la consola del navegador (Cmd + Option + I), ves un error como este:

CONSOLA NAVEGADOR
Access to fetch at 'file:///.../data/resenas.json'
from origin 'null' has been blocked by CORS policy

Eso es exactamente lo que evitas levantando un servidor local. En cuanto sirvas tu web por http://localhost:8000, el JSON se carga sin problemas. No hay que cambiar ni una línea del código: es exactamente el mismo código que funcionará luego en producción.

⚙️ Detalles que conviene saber

🔁 ¿Tengo que parar y arrancar cada vez que cambio un archivo?

No. Los cambios en HTML, CSS, JS o JSON se reflejan automáticamente al recargar la página (Cmd + R). Solo necesitas reiniciar el servidor si cambias algo de la propia configuración (puerto, carpeta raíz, etc.).

🚫 "Ya hay algo usando el puerto 8000"

Si te aparece un error tipo Address already in use, es que tienes otro servidor levantado. Cambia el número del puerto y listo:

TERMINAL MAC
$ php -S localhost:3000
# o cualquier otro puerto libre: 3001, 5500, 8080, etc.

📱 ¿Puedo verlo desde el móvil?

Sí, y es muy útil para probar el responsive. En lugar de localhost, arranca el servidor escuchando en todas las interfaces de red, y luego conéctate desde el móvil usando la IP local de tu Mac:

TERMINAL MAC
# Para Python — escucha en todas las interfaces
$ python3 -m http.server 8000 --bind 0.0.0.0

# Para PHP — sustituye 0.0.0.0 por la IP que quieras exponer
$ php -S 0.0.0.0:8000

# Y para saber tu IP local en macOS:
$ ipconfig getifaddr en0
192.168.1.45

Con ese resultado, desde el móvil entrarías en http://192.168.1.45:8000. Eso sí, el móvil tiene que estar en la misma red WiFi que el Mac.

🚦 ¿Y si quiero algo más profesional?

Lo que hemos visto es perfecto para desarrollo rápido. Pero si trabajas con WordPress, Laravel u otros proyectos que necesitan base de datos MySQL, el servidor PHP integrado se queda corto. Para esos casos hay alternativas más completas:

  • Laravel Herd — gratis, ligero, moderno. Detecta tus carpetas automáticamente y las sirve en proyecto.test. La opción más recomendable hoy en día.
  • MAMP — clásico, gratis. Entorno completo Apache + PHP + MySQL con interfaz gráfica.
  • Docker — para los que quieran replicar exactamente el entorno de producción.

Pero esto ya es harina de otro costal — lo dejamos para una próxima entrada.

✅ Resumen rápido

💡 Lo mínimo que necesitas recordar

Para una web estática (HTML, CSS, JS, JSON, imágenes): python3 -m http.server 8000.
Si tu proyecto incluye PHP: instala Homebrew, luego brew install php, y arranca con php -S localhost:8000.
En ambos casos, abre http://localhost:8000 en el navegador y a programar.

Espero que te haya servido. Si te bloqueas en algún paso, déjame un comentario y te echo una mano. 👋

• • •

viernes, 10 de abril de 2026

Cómo programar el apagado en Mac (comandos fáciles)

Cómo programar el apagado de tu Mac (aunque Apple ya no lo ponga fácil)

Si llevas tiempo con Mac, seguro que recuerdas la opción de programar el apagado. Pues bien… Apple la ha ido escondiendo hasta prácticamente hacerla desaparecer.

Pero tranquilo, sigue existiendo. Solo que ahora toca hacerlo desde Terminal 😅

💡 Te voy a enseñar varios comandos para apagar tu Mac automáticamente cuando quieras.

⚡ Apagar el Mac en X minutos

Por ejemplo, apagar en 30 minutos:

📋 Copiar
 TERMINAL MAC
sudo shutdown -h +30

👉 Cambia el número por los minutos que quieras.

🕒 Apagar el Mac a una hora concreta

Ejemplo: apagar a las 23:00

📋 Copiar
 TERMINAL MAC
sudo shutdown -h 23:00

❌ Cancelar un apagado programado

📋 Copiar
 TERMINAL MAC
sudo killall shutdown

👉 Esto cancela cualquier apagado que hayas programado antes.

🚀 Truco PRO: crear tu propio comando

Igual que con otros comandos, puedes dejarlo preparado para usarlo rápido.

1. Crear script

📋 Copiar
 TERMINAL MAC
nano ~/apagar.sh

2. Pegar esto

📋 Copiar
 TERMINAL MAC
#!/bin/bash
echo "⏳ Apagando en 30 minutos..."
sudo shutdown -h +30

3. Permisos

📋 Copiar
 TERMINAL MAC
chmod +x ~/apagar.sh

4. Convertir en comando

📋 Copiar
 TERMINAL MAC
sudo mv ~/apagar.sh /usr/local/bin/apagar30

🎯 Uso

📋 Copiar
 TERMINAL MAC
apagar30

Y listo. Sin menús ocultos ni historias raras.

💡 Consejo

  • Perfecto si dejas descargas o renders por la noche
  • Útil para ahorrar batería o energía
  • También puedes crear varios comandos: apagar15, apagar60, etc.

Fallo Captura de Pantalla en Mac

¿CMD + Shift + 4 no funciona en tu Mac? Te explico cómo arreglarlo en 10 segundos

Si usas Mac a diario, seguro que tiras mucho de las capturas de pantalla. Y sí… cuando deja de funcionar, desespera bastante 😅

A veces no hace nada, otras veces la captura sale rara o directamente no responde. No es tu teclado. Es macOS que se queda “pillado”.

💡 Tranquilo, se arregla en segundos sin reiniciar el Mac.

⚡ Solución rápida

Abre Terminal y pega esto:

📋 Copiar
 TERMINAL MAC
killall SystemUIServer
killall Finder

Verás que la barra de arriba “parpadea” un momento. Eso es buena señal 👍 Prueba otra vez CMD + Shift + 4 y debería ir perfecto.

🚀 Yo me hice un comando para no escribir esto cada vez

Como esto pasa de vez en cuando, lo mejor es dejarlo preparado como comando rápido.

1. Crear el script

📋 Copiar
 TERMINAL MAC
nano ~/fixscreen.sh

2. Pega esto dentro

📋 Copiar
 TERMINAL MAC
#!/bin/bash
echo "🔧 Arreglando capturas..."
killall SystemUIServer 2>/dev/null
killall Finder 2>/dev/null
echo "✅ Listo"

3. Dale permisos

📋 Copiar
 TERMINAL MAC
chmod +x ~/fixscreen.sh

4. Hazlo comando real

📋 Copiar
 TERMINAL MAC
sudo mv ~/fixscreen.sh /usr/local/bin/fixscreen

🎯 Y ahora lo bueno

A partir de ahora, cuando falle:

📋 Copiar
 TERMINAL MAC
fixscreen

Y listo. Sin pensar, sin reiniciar, sin historias.

💡 Un par de cosas más

  • Si usas apps tipo CleanShot o similares, pueden interferir
  • CMD + Shift + 5 suele seguir funcionando aunque el otro falle
  • Si el Mac lleva días encendido… reiniciar también ayuda 😅

sábado, 24 de enero de 2026

Cómo instalar una firma HTML en Mail (macOS) paso a paso

 APPLE MAIL · FIRMA HTML

Descarga e instala una firma HTML moderna en Mail (macOS)

En este tutorial te explicamos cómo instalar una firma en Apple Mail en macOS, partiendo de un archivo descargado y de forma sencilla, sin necesidad de conocimientos técnicos.

Partiremos de un archivo ya preparado (firma DEMO) que podrás editar con tus propios datos y convertir en una firma 100% funcional para tu correo.

⬇️ Descargar firma DEMO
Descargar archivo (ZIP)
Compatible con macOS · Apple Mail · Diseño moderno y editable
Importante: Mail no permite importar firmas directamente desde archivos. Una vez descargada la firma, será necesario copiar el bloque HTML correcto y pegarlo en Mail → Ajustes/Preferencias → Firmas.

1) Firma demo moderna: qué es y cómo usarla

El archivo que has descargado es una firma DEMO moderna, diseñada con un estilo actual, limpio y profesional. No contiene datos reales y está pensada para que puedas personalizarla fácilmente.

Para aprender el proceso, puedes utilizar esta firma directamente tal cual está. Más adelante podrás personalizarla con calma sustituyendo los datos de ejemplo por tus datos reales.

Ejemplo de firma de correo moderna en Apple Mail

Puedes abrir esta firma en cualquier aplicación de edición (TextEdit, VS Code, Sublime, Bloc de notas, Dreamweaver etc.) y convertirla en una firma 100% funcional simplemente:

  • Sustituyendo el nombre y los datos de contacto
  • Cambiando el logotipo por el de tu empresa
  • Editando textos, enlaces e imágenes
  • Adaptándola a tu marca o estilo visual
👉 No necesitas conocimientos técnicos. La firma ya funciona: solo tienes que reemplazar los datos de ejemplo por tus datos reales.

Tanto si ya la has personalizado como si no, el proceso de instalación en Mail es siempre el mismo. En el siguiente paso veremos cómo instalarla.

Firma_DEMO_2026.html

2) Cambia la extensión del archivo a .txt

Para abrir el contenido como texto, renombra el archivo: clic derecho → Renombrar → cambia .html por .txt.

Firma_DEMO_2026.txt
macOS te preguntará si quieres cambiar la extensión. Pulsa “Usar .txt”. Esto no estropea el archivo: solo facilita abrirlo y copiar el código.

3) Abre el .txt y copia solo la parte correcta

Cuando abras el archivo verás un HTML completo con <head> y <body>. Mail ignora el encabezado, así que debes copiar solo lo que está dentro de <body>.

❌ No copies esto (cabecera)

<!doctype html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Firma demo — Apple Mail</title>
</head>
<body>

✅ Copia esto (la firma)

⬇️ EMPIEZA AQUÍ

<table cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif; font-size:13px; line-height:1.35; color:#111;">
  ...
</table>
  
TERMINA AQUÍ ⬆️

❌ No copies esto (cierre)

</body>
</html>
Tip: En la mayoría de firmas, basta con copiar desde el primer <table ...> hasta el último </table>.

4) Crea una firma nueva en Mail

Antes de pegar el HTML, necesitamos que Mail cree el archivo de firma en el sistema. Para ello, vamos a crear una firma “vacía”.

  1. Abre Mail
  2. Ve a Mail → Ajustes/Preferencias → Firmas
  3. Selecciona tu cuenta de correo en la columna izquierda
  4. Pulsa el botón + para crear una firma nueva
  5. Escribe cualquier texto provisional (por ejemplo: firma)
  6. Cierra Mail completamente
Es importante cerrar Mail para que el archivo de firma se guarde en el sistema y podamos editarlo manualmente.

5) Sustituye el contenido del archivo de firma

Ahora vamos a modificar el archivo de la firma que ha creado Mail, sustituyendo únicamente el contenido de la firma por el HTML de la firma DEMO.

  1. En Finder, pulsa ⌘ + Mayúsculas + G (Ir a la carpeta)
  2. Pega esta ruta y pulsa Enter:
~/Library/Mail/

Dentro de esa carpeta, accede a V10 / V9 / V8 (según tu versión de macOS) y después a MailData → Signatures.

Localiza el archivo correspondiente a la firma que acabas de crear (normalmente con un nombre similar a Signature-XXXX.mailsignature). Para identificarlo fácilmente, ordena los archivos por fecha de modificación y abre el más reciente con TextEdit u otro editor de texto.

⚠️ Importante: qué parte debes modificar

Al abrir el archivo verás que no contiene solo HTML, sino también cabeceras internas de Apple Mail. No debes modificar ni eliminar esas líneas.

Para que la firma funcione correctamente, no borres ni modifiques las etiquetas <body> y </body>. Reemplaza únicamente el contenido que hay entre ellas y pega ahí exactamente el HTML de la firma que copiaste en el paso 3. Todo lo demás del archivo debe permanecer intacto.


<body>
  
</body>
    
Resumen: no toques nada fuera del <body>. Sustituye únicamente el contenido que hay dentro del <body> por el HTML de la firma DEMO.
Al guardar el archivo, asegúrate de hacerlo en texto sin formato (TextEdit → Formato → Convertir en texto sin formato).

🔒 Bloquea el archivo de la firma

Para evitar que Mail sobrescriba o regenere la firma automáticamente, es recomendable bloquear el archivo una vez guardados los cambios.

  1. Cierra TextEdit y asegúrate de que el archivo está guardado
  2. Haz clic derecho sobre el archivo Signature-XXXX.mailsignature
  3. Selecciona Obtener información
  4. Marca la opción Bloqueado
Al bloquear el archivo, impides que Mail modifique el contenido de la firma. Si más adelante quieres hacer cambios, solo tendrás que desbloquearlo, editarlo y volver a bloquearlo.

6) Abre Mail y comprueba la firma

Vuelve a abrir Mail y redacta un correo nuevo. Si la firma no aparece automáticamente, selecciónala desde: Firma → tu firma.

Si ves las imágenes, enlaces y el diseño correctamente alineados, la firma está instalada con éxito ✅
Algunos clientes de correo bloquean imágenes por defecto hasta que el destinatario las permite.

🎉 Enhorabuena por llegar hasta aquí

Si has llegado hasta aquí leyendo, enhorabuena. Ya sabes cómo instalar correctamente una firma HTML en Mail y, lo más importante, entiendes cómo funciona por dentro.

Un apunte importante para terminar: las firmas no profesionales hacen que los correos pesen mucho más. Esto ocurre cuando las imágenes o elementos gráficos se incrustan directamente dentro del email.

❗ Cuando una firma incorpora imágenes “pegadas” en el propio correo, cada mensaje aumenta su tamaño innecesariamente, lo que puede afectar al envío, a la entrega y a la experiencia del destinatario.

En cambio, una firma HTML bien construida carga las imágenes desde un servidor externo, manteniendo el correo ligero, limpio y profesional, sin penalizar el peso del mensaje.

Y no te preocupes si no dispones de un servidor propio. Puedes utilizar imágenes alojadas en tus redes sociales (Instagram, Facebook, LinkedIn) o en cualquier otro servicio online que permita obtener una URL pública de la imagen.

💡 Lo importante es que las imágenes no vayan incrustadas dentro del email. Mientras se carguen desde una URL externa, la firma seguirá siendo ligera, funcional y profesional.
📺 Ver el vídeo tutorial en YouTube
(el enlace estará disponible próximamente)

domingo, 11 de enero de 2026

Cómo capturar tráfico de red en macOS con tcpdump (por tiempo o paquetes)

 TERMINAL MAC

Cómo capturar tráfico de red en macOS con tcpdump (por tiempo o paquetes)

tcpdump es una herramienta incluida en macOS que permite capturar y analizar tráfico de red en tiempo real. Es ideal para diagnóstico, auditoría y aprendizaje.

  • ✔️ Capturar tráfico HTTP y HTTPS
  • ✔️ Limitar la captura por tiempo (ej. 5 segundos)
  • ✔️ Limitarla por número de paquetes
  • ✔️ Guardar un archivo .pcap para analizarlo con Wireshark

1️⃣ Identificar la interfaz de red

Antes de capturar tráfico, identifica la interfaz activa:

route -n get default

La línea importante es interface: en0 (puede variar según el Mac). Usa esa interfaz en los comandos de tcpdump.

2️⃣ Capturar tráfico HTTP y HTTPS

Para capturar tráfico web (HTTP + HTTPS):

sudo tcpdump -i en0 'port 80 or port 443'
🔐 El tráfico HTTPS va cifrado. Podrás ver IPs, dominios (a veces), puertos y volumen de tráfico, pero no el contenido.

3️⃣ Capturar DNS + HTTPS (para correlacionar dominios)

Si capturas DNS y HTTPS a la vez, podrás relacionar consultas DNS con conexiones TLS.

sudo tcpdump -i en0 'port 53 or port 443'

4️⃣ Capturar tráfico durante un tiempo concreto (ej. 5 segundos)

macOS no incluye timeout por defecto, pero puedes hacerlo con sleep y kill guardando la captura en un archivo.

sudo tcpdump -i en0 -w ~/Desktop/captura_5s.pcap 'port 53 or port 443' &
PID=$!
sleep 5
sudo kill $PID

El archivo se guardará en el Escritorio como captura_5s.pcap.

5️⃣ Capturar tráfico por número de paquetes

Si prefieres limitar la captura por cantidad de paquetes:

sudo tcpdump -i en0 'port 53 or port 443' -c 200

La captura se detiene automáticamente al alcanzar el límite.

6️⃣ Analizar la captura con Wireshark

Una vez tengas el archivo .pcap en el Escritorio, puedes analizarlo con Wireshark, una herramienta gratuita y de código abierto utilizada por administradores de red y profesionales de seguridad.

🔓 Wireshark es completamente gratuito y está disponible para macOS, Windows y Linux.

👉 Descarga oficial:
https://www.wireshark.org/download.html

✅ Abrir el archivo

  1. Abre Wireshark.
  2. Ve a File → Open.
  3. Selecciona captura_5s.pcap.

🔎 Filtros útiles (Display Filters)

Ver solo tráfico HTTPS (TLS/443):

tcp.port == 443

Ver solo consultas DNS:

dns

Ver dominios consultados por DNS:

dns.qry.name

Ver tráfico HTTP (si existe tráfico sin cifrar):

http

📊 Vistas recomendadas

  • Statistics → Conversations: quién habla con quién (IP y puertos).
  • Statistics → Protocol Hierarchy: distribución de protocolos.
  • Statistics → Endpoints: listado de IPs implicadas.
🔐 Aunque captures tráfico HTTPS, el contenido va cifrado. Wireshark permite analizar IPs, tiempos, puertos, volúmenes y correlacionarlos con consultas DNS.

Conclusión

Con tcpdump puedes capturar tráfico en macOS de forma precisa: por interfaz, por puertos, por tiempo o por paquetes, y luego analizarlo con Wireshark.

  • ✔️ Diagnóstico de red
  • ✔️ Auditoría de conexiones
  • ✔️ Identificación de dominios vía DNS
  • ✔️ Análisis posterior con .pcap

sábado, 20 de diciembre de 2025

Atajo macOS para copia y pegar contraseñas al instante

¿Cuántas veces has ido al Llavero de macOS para copiar una contraseña con alguien mirando la pantalla por encima del hombro?

Con este método puedes tener una contraseña lista para pegar simplemente pulsando un atajo de teclado, sin abrir el llavero, sin mostrar nada en pantalla y sin que falle el pegado.

El comando que funciona siempre

Para conseguir que una contraseña se copie/pegue correctamente al portapapeles utilizaremos el comando de shell printf.

 TERMINAL MAC
printf '%s' 'TU_CONTRASEÑA' | /usr/bin/pbcopy

Este comando deja la contraseña lista para pegar, sin saltos de línea ni caracteres ocultos.

¿Cómo convertirlo en un Atajo? (Automator)

  1. Abre Automator y crea una Acción rápida.
  2. Configura: “El flujo de trabajo recibe” → sin datos de entrada.
  3. Añade la acción Ejecutar script de shell.
  4. Selecciona /bin/zsh o /bin/bash.
  5. Pega el comando anterior.
  6. Guarda la acción y asígnale un atajo de teclado.

A partir de ahora solo tienes que pulsar el atajo y pegar la contraseña directamente, sin pasar por el llavero.

Opcional: forzar UTF-8 si usas símbolos especiales

Si la contraseña incluye caracteres especiales o símbolos poco habituales, podemos forzar que se copien y peguen correctamente evitando cualquier error de codificación de la siguiente manera:

 TERMINAL MAC
export LC_CTYPE=UTF-8
printf '%s' 'TU_CONTRASEÑA' | /usr/bin/pbcopy

Normalmente no hace falta, pero evita problemas con símbolos poco habituales.

¿Quieres que subamos el listón?

Ahora vamos a hacer que la contraseña se borre automáticamente del portapapeles pasados unos segundos, para que no quede accesible más tiempo del necesario.

La idea es sencilla: copiamos la contraseña como antes, esperamos unos segundos y, pasado ese tiempo, vaciamos el portapapeles de forma automática.

 TERMINAL MAC

printf '%s' 'TU_CONTRASEÑA' | /usr/bin/pbcopy
sleep 30
CURRENT="$(pbpaste)"

if [ "$CURRENT" = "TU_CONTRASEÑA" ]; then
  printf '' | /usr/bin/pbcopy
fi

Esta versión solo borra el portapapeles si, pasado el tiempo indicado, sigue conteniendo la contraseña. Si has copiado otra cosa, no interfiere.

Asignar un atajo de teclado a la Acción rápida

Una vez guardada la Acción rápida en Automator, el último paso es asignarle un atajo de teclado para poder usarla en cualquier momento sin abrir nada.

  1. Abre Ajustes del sistema.
  2. Entra en Teclado"Atajos de teclado…".
  3. En el menú lateral, selecciona Servicios > General.
  4. Busca tu Acción rápida (aparece con el nombre con el que la guardaste).
  5. Haz clic en Añadir atajo y pulsa la combinación de teclas que quieras usar.

Elige un atajo que no esté ya en uso y que recuerdes fácilmente, ya que será el que pulses cada vez que quieras copiar la contraseña.

A partir de ese momento, solo tienes que pulsar el atajo y pegar la contraseña directamente donde la necesites, sin abrir el llavero ni mostrar nada en pantalla.

jueves, 11 de diciembre de 2025

Cómo crear un icono .icns para tu app en macOS usando solo Terminal

 macOS • Iconos personalizados PRO

Convierte un PNG del Escritorio (por ejemplo el icono de QRSCAN) en un icono .icns profesional para tus apps de macOS.

Vamos a usar solo herramientas nativas: sips para generar los tamaños y iconutil para crear el .icns final.

1. Requisitos previos

  • Un Mac con macOS (Intel o Apple Silicon).
  • Un archivo PNG cuadrado en el Escritorio, por ejemplo qrscan.png, idealmente 1024x1024 px.
  • Terminal (Zsh por defecto).
Puedes adaptar el nombre del archivo (por ejemplo miapp.png), pero en los ejemplos usaremos qrscan.png.

2. Crear la carpeta de iconos (.iconset)

Primero creamos la carpeta donde irán todas las versiones de tamaño del icono:

 TERMINAL MAC
cd ~/Desktop
mkdir qrscan.iconset
Si tu PNG no se llama qrscan.png, cambia el nombre en los comandos de esta guía.

3. Generar todos los tamaños de icono con sips

macOS usa distintos tamaños de icono según el contexto (Dock, Finder, vista previa…). Vamos a generarlos todos a partir de tu PNG original.

Ejecuta este bloque tal cual (asegúrate de estar en el Escritorio):

 TERMINAL MAC
cd ~/Desktop

sips -z 16 16   qrscan.png --out qrscan.iconset/icon_16x16.png
sips -z 32 32   qrscan.png --out qrscan.iconset/icon_16x16@2x.png

sips -z 32 32   qrscan.png --out qrscan.iconset/icon_32x32.png
sips -z 64 64   qrscan.png --out qrscan.iconset/icon_32x32@2x.png

sips -z 128 128 qrscan.png --out qrscan.iconset/icon_128x128.png
sips -z 256 256 qrscan.png --out qrscan.iconset/icon_128x128@2x.png

sips -z 256 256 qrscan.png --out qrscan.iconset/icon_256x256.png
sips -z 512 512 qrscan.png --out qrscan.iconset/icon_256x256@2x.png

sips -z 512 512 qrscan.png --out qrscan.iconset/icon_512x512.png
cp qrscan.png qrscan.iconset/icon_512x512@2x.png
Si partes de un PNG de 1024x1024 px, las versiones @2x (retina) se verán nítidas en todos los tamaños.

4. Convertir la carpeta .iconset en un .icns

Ahora empaquetamos la carpeta qrscan.iconset en un único archivo qrscan.icns, que es el formato de iconos oficial de macOS.

 TERMINAL MAC
cd ~/Desktop
iconutil -c icns qrscan.iconset

Si no hay errores, tendrás en tu Escritorio un archivo llamado qrscan.icns.

Puedes eliminar la carpeta qrscan.iconset si ya no la necesitas, dejando solo el .icns.

5. Aplicar el icono .icns a una app (Automator, utilidades, etc.)

Para apps sencillas (Automator, herramientas internas), el truco más simple sigue siendo usar Vista Previa y la ventana de “Obtener información”.

  1. Haz doble clic en qrscan.icns para abrirlo con Vista Previa.
  2. En Vista Previa, ve a Edición → Seleccionar todo (o ⌘A).
  3. Después, ve a Edición → Copiar (o ⌘C).
  4. En Finder, localiza tu app (por ejemplo Leer QR.app).
  5. Haz clic derecho sobre la app y selecciona Obtener información (o pulsa ⌘I).
  6. En la ventana de información, haz clic una vez sobre el pequeño icono de arriba a la izquierda (junto al nombre de la app) hasta que quede resaltado.
  7. Pulsa ⌘V para pegar el icono .icns que tienes en el portapapeles.
El nuevo icono se propagará al Dock, Spotlight y Finder. Si no lo ves al momento, cierra y vuelve a abrir la app, o reinicia sesión.

6. Resumen

  • Partes de un PNG cuadrado en el Escritorio (qrscan.png).
  • Generas todos los tamaños en una carpeta .iconset con sips.
  • Creas un .icns profesional con iconutil.
  • Aplicás el icono a cualquier app usando Vista Previa + “Obtener información”.

Perfecto para dar identidad visual a utilidades como QRSCAN, lanzadores de scripts y apps internas de tu ecosistema macOS.