![通过编程更改终端字体大小](https://linux22.com/image/1162751/%E9%80%9A%E8%BF%87%E7%BC%96%E7%A8%8B%E6%9B%B4%E6%94%B9%E7%BB%88%E7%AB%AF%E5%AD%97%E4%BD%93%E5%A4%A7%E5%B0%8F.png)
可以通过运行命令来实现吗?有没有什么 hack 可以实现这一点?我尝试使用 python-uinput 来模拟按 Ctrl+Plus 来放大字体,但没有成功。
我正在尝试在终端中显示图像,而不需要任何 GUI。这可以使用时间。但是图像分辨率很差。当我将终端的字体大小调得很小时,图像几乎以原始分辨率显示。
我想编写一个脚本,该脚本会自动重置终端,将其字体调整为非常小的尺寸,最后调用 timg 来显示图像。这将允许 ssh 进入远程机器人并显示其获取的最新图像,而无需先将其复制回我的计算机。
我主要使用 gnome-terminal 或 terminator
答案1
通过命令行更改 gnome-terminal 字体大小,
- 首先我们需要知道 gnome-terminal 的当前配置文件 ID。我使用的是默认的配置文件 ID,名为“未命名”
- 自定义字体方框必须勾选。
- 运行以下命令获取配置文件列表
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”开头的
- 使用以下命令获取字体名称和大小
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'
$
- 使用以下命令设置字体名称和大小
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"])