Tutorial: Configuración de un símbolo del sistema personalizado para PowerShell o WSL con Oh My Posh

En este tutorial se proporcionan algunos recursos y direcciones que le ayudarán a personalizar el símbolo del sistema para PowerShell o Subsistema de Windows para Linux (WSL) mediante Oh My Posh. Oh My Posh proporciona funcionalidades de tema para una experiencia de símbolo del sistema personalizada que proporciona la codificación de colores y los mensajes de estado de Git.

En este tutorial aprenderá a:

Windows Terminal Custom Prompt

Instalación de una fuente Nerd

Los símbolos del sistema personalizados suelen usar glifos (un símbolo gráfico) para dar estilo al símbolo del sistema. Si la fuente no incluye los glifos adecuados, es posible que vea varios caracteres de reemplazo de Unicode "▯" en el símbolo del sistema. Para ver todos los glifos en el terminal, se recomienda instalar una fuente Nerd.

Si quiere una fuente similar a Cascadia Code, un miembro de la comunidad ha creado la fuente Caskaydia Cove Nerd a partir del repositorio de Cascadia Code.

Después de la descarga, deberá descomprimir e instalar la fuente en el sistema. (Cómo agregar una nueva fuente a Windows).

Para establecer una fuente Nerd para usarla con Oh My Posh y Terminal Icons, abra la interfaz de usuario de configuración de Terminal Windows seleccionando Configuración (CTRL+) en el menú desplegable de Terminal Windows. Seleccione el perfil en el que desea aplicar la fuente, PowerShell, por ejemplo, y, a continuación, la pestaña Apariencia. En el menú desplegable Fuente, seleccione Fuente CaskaydiaCove Nerd o la fuente Nerd que quiera usar con el símbolo del sistema personalizado.

Nota

Si quiere usar una fuente de terminal que no admita iconos de glifo, como Cascadia Code PL, puede considerar la posibilidad de usar un tema Oh My Posh que contenga la función minimal, lo que indica que no se requieren iconos adicionales.

Personalización del símbolo del sistema de PowerShell con Oh My Posh

Oh My Posh permite usar un conjunto de colores completo para definir y representar el símbolo del sistema del terminal, incluida la capacidad de usar temas integrados o crear su propio tema personalizado.

Instalación de Oh My Posh para PowerShell

Para personalizar el símbolo del sistema de PowerShell, puede instalar Oh My Posh mediante winget. Escriba el comando:

winget install JanDeDobbeleer.OhMyPosh

Con esta acción se instalará:

Tendrá que aceptar los términos de origen y puede darse el caso de que haya más de un paquete disponible. Si es así, seleccione el identificador de paquete que quiere usar y vuelva a escribir el comando: winget install <package ID>.

Screenshot of winget install oh my posh packages.

Para usar la versión de Microsoft Store de Oh My Posh, que se actualizará automáticamente cuando haya nuevas versiones disponibles, use el comando :

winget install XP8K0HKJFRXGCK

Escriba oh-my-posh version para confirmar el número de versión de la instalación de Oh My Posh. Para asegurarse de que tiene las actualizaciones más recientes, puede usar el siguiente comando: winget upgrade oh-my-posh.

Nota

Si desea instalar la versión más reciente de Oh My Posh en PowerShell, es posible que quiera quitar primero los archivos almacenados en caché del módulo OMP y desinstalar el módulo anterior. Existen instrucciones sobre cómo hacerlo en la documentación de Oh My Posh. Si está más familiarizado con el instalador de Scoop o un método de instalación manual que permita la automatización, también se pueden usar para instalar en Windows, simplemente siga las instrucciones de la documentación de Oh My Posh.

Elección y aplicación de un tema de símbolo del sistema de PowerShell

Puede examinar la lista completa de temas en la página de temas de Oh My Posh.

Elija un tema y actualice el perfil de PowerShell con este comando. (Puede reemplazar el archivo notepad por el editor de texto que prefiera).

notepad $PROFILE

Si recibe un error de ruta de acceso, es posible que aún no tenga un perfil para PowerShell. Para crear uno, use el siguiente comando de PowerShell para crear un perfil y, a continuación, intente volver a abrirlo con un editor de texto.

new-item -type file -path $profile -force

Agregue lo siguiente al final del archivo de perfil de PowerShell para establecer el tema paradox. (Reemplace paradox por el tema que prefiera).

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\paradox.omp.json" | Invoke-Expression

Ahora, cada nueva instancia de PowerShell comenzará importando Oh My Posh y estableciendo el tema de la línea de comandos.

Si recibe un error de script al intentar abrir una nueva instancia de PowerShell, es posible que la directiva de ejecución de PowerShell esté restringida. Para establecer la directiva de ejecución de PowerShell en sin restricciones, deberá iniciar PowerShell como administrador y luego, usar el siguiente comando:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Nota:

Este no es su perfil de Terminal Windows. El perfil de PowerShell es un script que se ejecuta cada vez que se inicia PowerShell. Más información sobre perfiles de PowerShell.

Sugerencia

Consulte las Preguntas más frecuentes sobre Oh My Posh para obtener respuestas a preguntas o problemas comunes. Para obtener más información sobre la configuración y los ajustes generales, como por ejemplo, cómo restaurar el directorio de trabajo actual, consulte la documentación de Oh My Posh.

Personalización del mensaje de WSL con Oh My Posh

Oh My Posh ahora le permite personalizar los mensajes de WSL, igual que haría con un símbolo del sistema de PowerShell mediante temas integrados.

Instalación de Oh My Posh para WSL

Se recomienda instalar Oh My Posh para WSL, ya sea mediante Bash, Zsh u otra cosa, siguiendo la guía de instalación de Linux en la documentación de Oh My Posh.

Actualmente, la ruta de acceso recomendada para personalizar los mensajes de WSL con Oh My Posh usa el administrador de paquetes de Homebrew para la instalación. (Homebrew funciona ahora con WSL). Al instalar Homebrew para Linux, asegúrese de seguir las instrucciones de pasos siguientes para agregar Homebrew a la ruta de acceso y al script de perfil de shell de Bash.

Homebrew instalará:

  • oh-my-posh: el ejecutable, agregado a /usr/local/bin
  • themes: los temas de Oh My Posh más recientes

Elección y aplicación de un tema de aviso de WSL

Los temas de Oh My Posh se encontrarán en el directorio oh-my-posh como archivos JSON. Para encontrarlo, escriba cd $(brew --prefix oh-my-posh) y, a continuación, solo cd themes y ls para la lista. Para Ubuntu-20.04 que se ejecuta a través de WSL, es probable que la ruta de acceso sea algo parecido a: \\wsl.localhost\Ubuntu-20.04\home\linuxbrew\.linuxbrew\Cellar\oh-my-posh\6.34.1\themes. También puede ver el aspecto de los temas en la documentación de Oh My Posh: Temas.

Para usar un tema, cópielo de la carpeta themes a la carpeta $Home y agregue esta línea a la parte inferior del archivo .profile que se encuentra en la carpeta $Home:

eval "$(oh-my-posh init bash --config ~/jandedobbeleer.omp.json)"

Puede reemplazar jandedobbeleer.omp.json por el nombre del tema que prefiera usar siempre que se copie en la carpeta $Home.

Como alternativa, si usa oh-my-posh en Windows con PowerShell y con WSL, puede compartir el tema de PowerShell con WSL apuntando a un tema en la carpeta principal del usuario de Windows. En la ruta de acceso .profile de la distribución de WSL, reemplace ~ por la ruta de acceso: /mnt/c/Users/<WINDOWSUSERNAME>. Reemplace <WINDOWSUSERNAME> por su propio nombre de usuario de Windows.

Si lo desea, puede personalizar los temas de Oh My Posh.

Uso de Terminal-Icons para agregar iconos de archivos o carpetas que faltan

Terminal-Icons es un módulo de PowerShell que agrega iconos de archivos y carpetas que pueden faltar al mostrar archivos o carpetas en Terminal Windows, buscando su icono adecuado en función del nombre o la extensión. Intenta usar iconos para archivos o carpetas conocidos, pero vuelve a un icono genérico de archivo o carpeta si no se encuentra uno.

Para instalar Terminal-Icons con PowerShell, use el comando:

Install-Module -Name Terminal-Icons -Repository PSGallery

Para obtener más información, incluido el uso y los comandos, vea el repositorio de Terminal-Icons en GitHub.

Recursos adicionales