我有一个高 DPI 显示器,每次我创建 Wine 前缀时,默认的 96 dpi 都是很小的。是否有某种控制台命令或脚本可以运行来设置 dpi,而不必眯着眼睛看 winecfg 窗口?
我发现该Software/System/CurrentControlSet/Hardware Profiles/Current/Software/Fonts/LogPixels
键表示 DPI。问题是我找到的每个资源都说要使用 GUI 程序 regedit 编辑注册表。这比 winecfg 还痛苦!我记得,在 Windows 中您可以编写.reg
可以设置注册表项的文件。是否可以做到这一点并以某种方式仅从命令行加载密钥?
如果做不到这一点,是否有可能以某种方式绕过 winecfg 并直接编辑注册表文件?
答案1
是的。与 Windows 本身中的 REGEDIT.EXE 一样,WINE 的regedit
程序采用可选的文件名参数。如果该文件是有效的 regedit 文件,它会将其应用到当前 WINEPREFIX 中的注册表。
例如
regedit /path/to/filename.reg
如果您还没有包含所需注册表项和值的有效 regedit 文件,则可以使用 regedit-E
选项创建一个。例如
regedit -E /path/to/filename.reg 'Software/System/CurrentControlSet/Hardware Profiles/Current/Software/Fonts/LogPixels'
看man regedit
。
顺便说一句,我不知道该密钥是否正确甚至有效。我只是使用它,因为这就是你在问题中提到的。我本以为它需要以 HKEY_CURRENT_USER 或类似的前缀,但我真的不是 Windows 或其注册表方面的专家,我只是掌握了让一些游戏在 WINE 中运行的最低限度的知识。
答案2
/.wine/user.reg
改变 的值时LogPixels
。
该值是十六进制的,您可以使用 进行转换printf '%.8X\n' "[DECIMAL]"
。