通过编程更改终端字体大小

通过编程更改终端字体大小

可以通过运行命令来实现吗?有没有什么 hack 可以实现这一点?我尝试使用 python-uinput 来模拟按 Ctrl+Plus 来放大字体,但没有成功。

我正在尝试在终端中显示图像,而不需要任何 GUI。这可以使用时间。但是图像分辨率很差。当我将终端的字体大小调得很小时,图像几乎以原始分辨率显示。

我想编写一个脚本,该脚本会自动重置终端,将其字体调整为非常小的尺寸,最后调用 timg 来显示图像。这将允许 ssh 进入远程机器人并显示其获取的最新图像,而无需先将其复制回我的计算机。

我主要使用 gnome-terminal 或 terminator

答案1

通过命令行更改 gnome-terminal 字体大小,

  1. 首先我们需要知道 gnome-terminal 的当前配置文件 ID。我使用的是默认的配置文件 ID,名为“未命名”

在此处输入图片描述

在我的例子中,个人资料 ID 是以“b1dcc9”开头的 在此处输入图片描述

  1. 自定义字体方框必须勾选。

在此处输入图片描述

  1. 运行以下命令获取配置文件列表
    gsettings get org.gnome.Terminal.ProfilesList list

例子:

$ gsettings get org.gnome.Terminal.ProfilesList list
['b1dcc9dd-5262-4d8d-a863-c897e6d979b9', 'd2a064f8-146d-45b5-8da7-d7e2f34da77e', 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa']

我已经知道我当前的个人资料是以“b1dcc9”开头的

  1. 使用以下命令获取字体名称和大小 gsettings get org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ font

例子:

$ gsettings get org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ font
'Noto Mono Bold 12'
$
  1. 使用以下命令设置字体名称和大小 gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ font 'Ubuntu Mono Italic 50'

例子:

$ gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ font 'Ubuntu Mono Italic 50'
$

注意:不要将字体大小设置得太大,否则会导致操作系统无法运行。 我错误地按了 512 而不是 52,然后按下回车键...费了好大劲才恢复。

在此处输入图片描述

答案2

我想到的是,与改变颜色不同,它不可能影响任意控制台上文本的字体大小 - 但我不知道您是否真的尝试这样做。

请添加更多信息。您想控制哪个终端?gnome-terminal?为什么您想以编程方式控制?对于桌面应用程序,这通常在终端应用程序的设置中是可能的。对于系统控制台,您可以使用sudo dpkg-reconfigure console-setup

答案3

# python3
# sudo apt-get install xdotool

from subprocess import call

call(["xdotool", "key", "ctrl+minus"])
call(["xdotool", "key", "ctrl+plus"])
call(["xdotool", "key", "ctrl+0"])

相关内容