无法将 powershell 默认字体更改为 Lucida Console

无法将 powershell 默认字体更改为 Lucida Console

这是一个微不足道的问题,但却让我苦恼于无法彻底弄清楚它:

我正在运行 Windows 8,Powershell 版本 3.0。通过右键单击标题栏,我可以进入属性并更改字体、大小、背景颜色等,没有任何问题。

关闭并重新启动 Powershell 后,我所做的所有更改均会保留除了如果我将字体设置为 Lucida Console,那么重新打开时我会得到 Raster 字体。

(请注意,以上所有内容均适用于以管理员身份运行 Powershell 的情况。)

所以:

  • 如果我将字体设置为 Lucida,那么它会在会话的剩余时间内切换到 Lucida。
  • 如果我将字体设置为 Lucida 以外的其他字体,则关闭并重新打开后它将保持不变。
  • 如果我改变窗口大小或文本颜色或其他任何内容,重新打开后更改仍会保留。
  • 仅有的出错的一点是,如果我将字体设置为 Lucida,则当我重新打开时它会切换为“光栅字体”。
  • 但是 cmd 和 powershell ISE 没有这个问题 - 只有 powershell 控制台。

有人能指出可能出了什么问题吗?

(我的一个观察是,将字体设置为 Lucida 后重新打开 Powershell,一开始窗口的宽度和字体为 Lucida 时的宽度一样,但是一秒钟后,窗口会稍微变宽以适应光栅字体。)

答案1

这家伙也遇到了问题。他的解决方案对我也有用:

但是,当我重新打开 PowerShell 时,Windows 7 中的 shell 拒绝保存设置并坚持改回光栅字体。它与 Consolas 配合得很好,但我想要 Lucida

解决方法:选择 12 点以外的字体大小。

答案2

我以前也发现过这种现象,甚至在 Windows 7 上也是如此。试试这个 - 以管理员模式打开 PowerShell 窗口(右键单击以管理员身份打开的图标),更改字体并关闭窗口。现在以普通用户权限打开 PowerShell 窗口,您的更改应该会生效。

答案3

  1. 检查您正在使用的代码页
    我发现当前使用的代码页不是 UTF-8 (65001)。您可以在属性 -> 选项中找到当前代码页。或者,您可以使用“chcp”命令找到它

  2. 将代码页更改为 UTF-8
    使用命令‘chcp 65001’

  3. 更改其他字体
    您可以通过更改 powershell 属性来使用其他字体

答案4

我也遇到过这种情况——这似乎与名称中带有空格的字体有关!

最后我放弃了,坚持使用 Consolas 作为我的默认 CLI 字体(在我看来,它不如 Lucida Console 那么赏心悦目,但比光栅字体要好)。我确实发现潜在的解决方案(但由于我没有机器的管理员权限,所以无法测试);不过也值得一看TechNet 库中的 SetConsoleFont 模块(4sysops 博客文章可能有助于安装/导入它,但我在这个网站上的声誉不够高,无法在回复中发布那么多链接)。

我似乎取得了一些进展,因为我可以在 PSH 会话中更改字体和大小(因此大概可以在我的个人资料中执行此操作),但我真的不想走不受支持的代码路线......

相关内容