$DISPLAY 依赖 gtk 主题

$DISPLAY 依赖 gtk 主题

我家里有一台可以远程登录的计算机。它的“显示器”是电视,所以我想让 gtk 应用程序使用大字体和图标主题,我通过编辑 ~/.gtkrc-2.0 文件和其他类似内容设法做到了这一点。我希望能够为远程登录时使用单独的主题。最好的解释方式是,我希望我的 gtk 主题选择取决于应用程序启动时的 X 显示器。例如,如果我在 :0.0 上启动某个程序,那么那就是电视,我想要大字体,但如果我在 localhost:10.0 上启动它,我想使用常规大小的字体,因为它将呈现在我的笔记本电脑屏幕上。

一个优雅的解决方案是在 .gtkrc-2.0 文件中放入某种 IF 语句,检查 $DISPLAY 变量并做出相应的行为。问题是我找不到任何.gktrc 文件中的控制结构文档,或者是否有可能这样做。

[编辑] 此外,有没有办法在 GTK+ 3 中执行此操作而无需安装 gnome?

答案1

您可以通过运行设定守护进程,例如xsettingsd(或 Xfcexfsettingsd或 GNOME gsd-xsettings)在两台机器上本地运行。它将影响它所运行的 X 显示器的所有客户端,覆盖韓國

如果程序使用 GTK+ 2,你可以指向$GTK2_RC_FILES一个以冒号分隔的替代列表韓國's。(GTK+ 3 没有直接的替代品设置;它使用 Xsettings 作为主要机制。)

笔记:此方法很可能会在 GTK 4 中停止工作,因为 GTK 4 更倾向于读取内部 GSettings。

答案2

据我所知,无法为 gtkrc 编写任何脚本。您可以将两个配置复制到某个地方,然后从 .xinitrc、.xsession 或其他 X 启动文件恢复它们。唯一的问题是您不能同时使用 :0.0 和 :10.0 运行不同的主题。您应该一次只运行一个 X,或者为您的电视设置创建具有不同主目录的不同用户。您甚至可以为两个用户使用相同的 UID/GID,并可以访问所有文件。

相关内容