{"id":599,"date":"2023-07-19T15:35:03","date_gmt":"2023-07-19T15:35:03","guid":{"rendered":"https:\/\/blogs.ua.es\/jpm33\/?p=599"},"modified":"2023-07-19T15:35:03","modified_gmt":"2023-07-19T15:35:03","slug":"instalar-oh-my-posh-y-personalizar-el-prompt-del-terminal","status":"publish","type":"post","link":"https:\/\/blogs.ua.es\/jpm33\/2023\/07\/19\/instalar-oh-my-posh-y-personalizar-el-prompt-del-terminal\/","title":{"rendered":"Instalar Oh My Posh y personalizar el prompt del terminal"},"content":{"rendered":"\r\n<h1>Introducci\u00f3n<\/h1>\r\n<p>Oh My Posh es un motor para el prompt del terminal de windows, que permite ser personalizado para cualquier shell que tenga la capacidad de ajustar la cadena de solicitud con una funci\u00f3n o variable (usaremos powershell).<\/p>\r\n<p>Es muy \u00fatil si programas y usas GIT porqu\u00e9 te muestra informaci\u00f3n \u00fatil, depende del tema que se use, pero si est\u00e1s en un directorio en un repo git, la rama de trabajo, cuantos commits est\u00e1s por detras del remote, cuantos ficheros pendietes de commit, si ha habido un error, y m\u00e1s &#8230;<\/p>\r\n<p>El objetivo es tener un prompt (parecido, no est\u00e9 en concreto necesariamente) como sl siguiente:<\/p>\r\n<p align=\"center\"><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/www.luisllamas.es\/wp-content\/uploads\/2022\/10\/windows-terminal-git.png\" \/><\/p>\r\n<p><!--more--><\/p>\r\n<h1>Instalaci\u00f3n<\/h1>\r\n<p>(<strong>Prerequisito<\/strong>) Es muy recomendable instalar una nerdFont del enlace [1] y m\u00e1s instrucciones en [2].<\/p>\r\n<p>Lo instalamos con el comando:<\/p>\r\n<pre><code>winget install JanDeDobbeleer.OhMyPosh -s winget<\/code><\/pre>\r\n<p>En linux tamb\u00eden se puede instalar y usar con zsh, no lo he probado y por eso no lo trato aqu\u00ed, para m\u00e1s informaci\u00f3n leer la doc oficial en el enlace [5].<\/p>\r\n<h1>Configuraci\u00f3n<\/h1>\r\n<p>El siguiente paso es crear un fichero de &#8220;perfil&#8221;:<\/p>\r\n<pre><code>notepad $PROFILE<\/code><\/pre>\r\n<p>En este fichero a\u00f1adimos:<\/p>\r\n<pre><code>oh-my-posh init pwsh | Invoke-Expression<\/code><\/pre>\r\n<p>Para probarlo:<\/p>\r\n<pre><code>. $PROFILE<\/code><\/pre>\r\n<p>(<strong>ATENCI\u00d3N<\/strong>) Si por lo que fuera, alg\u00fan icono no se ve y ve un cuadrado, ejecutar el siguietne comando: <code>Install-Module -Name Terminal-Icons -Repository PSGallery<\/code><\/p>\r\n<p>Ahora, si queremos cambiar el tema de iconos, c\u00f3mo se ve el prompt etc, editamos el fichero $PROFILE:<\/p>\r\n<pre><code>oh-my-posh init pwsh --config \"$env:POSH_THEMES_PATH\/default.json\" | Invoke-Expression<\/code><\/pre>\r\n<p>$env:POSH_THEMES_PATH es un directorio donde se han descargado los temas, bueno, los ficheros JSON con su configuraci\u00f3n (podemos consultar m\u00e1s temas en [3]) .<\/p>\r\n<h1>Solucionar problema script no firmado<\/h1>\r\n<p>Puede ocurrir, que al abrir el terminal nos diga que no puede ejectuar el fichero <strong>$PROFILE<\/strong> porqu\u00e9 no est\u00e1 firmado, es una politica de seguridad que puede tener activada la consola. En este caso, debemos ejecutar el siguiente comando (como administrador):<\/p>\r\n<pre>Set-ExecutionPolicy RemoteSigned<\/pre>\r\n<p>Hay m\u00e1s informaci\u00f3n sobre ExecutionPolicy en [4], ya deber\u00eda funcionar todo.<\/p>\r\n<h1>ENLACES<\/h1>\r\n<p>[1] <strong>NerdFonts<\/strong>: https:\/\/www.nerdfonts.com\/font-downloads<\/p>\r\n<p>[2] <strong>Add Font on Windows<\/strong>: https:\/\/support.microsoft.com\/en-us\/office\/add-a-font-b7c5f17c-4426-4b53-967f-455339c564c1<\/p>\r\n<p>[3] <strong>Themes<\/strong>: https:\/\/ohmyposh.dev\/docs\/themes<\/p>\r\n<p>[4] <strong>Change execution policy<\/strong>: https:\/\/pureinfotech.com\/change-execution-policy-run-scripts-powershell\/<\/p>\r\n<p>[5] <strong>Oh My Posh en Linux<\/strong>: https:\/\/ohmyposh.dev\/docs\/installation\/linux<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n Oh My Posh es un motor para el prompt del terminal de windows, que permite ser personalizado para cualquier shell que tenga la capacidad de ajustar la cadena de solicitud con una funci\u00f3n o variable (usaremos powershell). Es muy &hellip; <a href=\"https:\/\/blogs.ua.es\/jpm33\/2023\/07\/19\/instalar-oh-my-posh-y-personalizar-el-prompt-del-terminal\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3080,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[135,374,10656],"tags":[6236,236729,236718,281],"class_list":["post-599","post","type-post","status-publish","format-standard","hentry","category-linux","category-programacion","category-windows-2","tag-git","tag-linux","tag-programacion-2","tag-windows"],"_links":{"self":[{"href":"https:\/\/blogs.ua.es\/jpm33\/wp-json\/wp\/v2\/posts\/599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ua.es\/jpm33\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ua.es\/jpm33\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ua.es\/jpm33\/wp-json\/wp\/v2\/users\/3080"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ua.es\/jpm33\/wp-json\/wp\/v2\/comments?post=599"}],"version-history":[{"count":3,"href":"https:\/\/blogs.ua.es\/jpm33\/wp-json\/wp\/v2\/posts\/599\/revisions"}],"predecessor-version":[{"id":607,"href":"https:\/\/blogs.ua.es\/jpm33\/wp-json\/wp\/v2\/posts\/599\/revisions\/607"}],"wp:attachment":[{"href":"https:\/\/blogs.ua.es\/jpm33\/wp-json\/wp\/v2\/media?parent=599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ua.es\/jpm33\/wp-json\/wp\/v2\/categories?post=599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ua.es\/jpm33\/wp-json\/wp\/v2\/tags?post=599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}