pro*_*ous 4 dpkg fonts console hdpi
非交互式更改控制台字体的正确方法是什么?
我有一个 HiDPI 显示器,需要更大的控制台字体。我可以使用以下命令以交互方式设置它:
$ sudo dpkg-reconfigure console-setup
# Select UTF-8 -> Guess -> Terminus -> 16x32
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.130ubuntu3.5) ...
update-initramfs: Generating /boot/initrd.img-4.15.0-43-generic
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试以非交互方式设置它,如下所示:
$ sudo debconf-set-selections <<EOF
console-setup console-setup/charmap47 select UTF-8
console-setup console-setup/codeset47 select Guess optimal character set
console-setup console-setup/codesetcode string guess
console-setup console-setup/fontface47 select Terminus
console-setup console-setup/fontsize string 16x32
console-setup console-setup/fontsize-fb47 select 16x32 (framebuffer only)
console-setup console-setup/fontsize-text47 select 16x32 (framebuffer only)
EOF
Run Code Online (Sandbox Code Playgroud)
这是行不通的。跑步setupcon
没有任何效果。如果我检查/etc/default/console-setup
,我会看到字体信息在我运行时更新dpkg-reconfigure
,并且dpkg-reconfigure
还会触发update-initramfs
,所以看起来更多的情况是dpkg-reconfigure
我的debconf-set-selections
不触发。我如何找到这些操作并在我之后触发它们debconf-set-selections
?
您需要在 /etc/default/console-setup 文件中执行此操作,假设我们要使用 Terminus 16x32 字体,命令将是:
sudo sed -i '/^FONTFACE/s/^/#/' /etc/default/console-setup # comment out the old value
sudo sed -i '/^FONTSIZE/s/^/#/' /etc/default/console-setup # comment out the old value
echo 'FONTFACE="TER"' | sudo tee -a /etc/default/console-setup # Set font to Terminus
echo 'FONTSIZE="16x32"' | sudo tee -a /etc/default/console-setup # Set font size
Run Code Online (Sandbox Code Playgroud)
最后,应用您的更改sudo update-initramfs -u
此外,Ubuntu 内核(从 Xenial 开始)很快将支持 FONT_TER16x32,以便在早期启动阶段进行控制台显示 [1]。
要受益于这种 HiDPI 字体支持,只需将“fbcon=font:TER16x32”添加到 /etc/default/grub 中的 GRUB_CMDLINE_LINUX,然后运行sudo update-grub
[1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1819881
归档时间: |
|
查看次数: |
2904 次 |
最近记录: |