我已经使用带有双 4k 显示器的 Ubuntu 16.04 大约 3-4 个月了,但今天突然间,Chrome 中的缩放级别和 UI 大小似乎消失了。
双显示截图有 3 个窗口(从左到右):Visual Studio Code、Chromium 和 Chrome。
正如您所看到的,Chrome 和 Chromium 对于事物应该达到的规模得出了不同的结论。
由于 Visual Studio Code 建立在Electron 平台,它实际上是 Chrome 的一个实例,所以我将它包含在这里进行比较。带有文件列表的左侧窗格通常约为此屏幕截图中大小的 60%。
对于 Chrome 和 VS Code,缩小 2 级可以使其大致回到原来的位置。
所以,问题:我该如何解决这个问题,以便不必在 Chrome 中放大/缩小?
还:
Ubuntu 中的显示设置保持不变 - 两个显示器的分辨率均为 3840x2160,‘菜单和标题栏’的比例为 1.5 倍。
我的系统是 i5 6600K,带 GTX 960,使用 NVIDIA 二进制驱动程序 v 361.45.18
所有窗口中的菜单字体都比平时略大
答案1
我找到了答案,这在一定程度上要感谢天使写了这个。
tl;dr:这样做:
- 进入“设置”->“显示”
- 注意“菜单和标题栏的比例”滑块的值(我的是 1.5)
- 打开终端
sudo gedit /usr/share/applications/google-chrome.desktop
- 找到此行(约 108 处):
Exec=/usr/bin/google-chrome-stable %U
- 将其更改为此(其中
n
是您在步骤 2 中记下的值):
Exec=/usr/bin/google-chrome-stable --force-device-scale-factor=n %U
- 保存/关闭,重新启动 Chrome。
不幸的是,这似乎不适用于 VS Code,但这不是什么大问题,因为您可以简单地缩小(查看菜单 -> 缩小),它会影响整个 UI。
解释:Ubuntu 将系统范围的缩放系数应用于高 DPI 显示器中的 UI。Chrome 认为这很特殊,因此会忽略这一点并自行处理。
上面的链接建议更改为1
缩放因子,但这相当于0
缩放(对于高 dpi 来说不行)。
通过镜像系统比例因子,您可以使 Chrome 与其他所有内容保持一致。
答案2
通过执行以下操作,我设法让 Chrome 自动缩放到与我在 gnome 桌面中使用的相同比例:
我创建了一个 bash 脚本/usr/bin/chrome-scaled
:
/bin/bash #!/bin/bash text_scale=$(gsettings 获取 org.gnome.desktop.interface 文本缩放因子) /usr/bin/google-chrome-stable --high-dpi-support=1 --force-device-scale-factor=$text_scale %U
然后我在以下位置创建了一个新的桌面快捷方式/user/share/applications/chrome-scaled.desktop
:
[桌面条目] 版本=1.0 名称=Google Chrome GenericName=Web 浏览器 评论=访问互联网 执行文件=/usr/bin/chrome-scaled 终端=false 图标=google-chrome 类型=应用程序 类别=网络;Web浏览器; MimeType=文本/html;文本/xml;应用程序/xhtml_xml;图像/webp;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp; X-Ayatana-Desktop-Shortcuts=新窗口;新隐身模式 名称[en_CA]=Chrome Scaled
然后我打开快捷方式并将其锁定到我的启动器。现在,您在 gnome 中使用的任何比例也将在 Chrome 中使用。
您还可以避免创建新的 .desktop 文件,而只需编辑该google-chrome.desktop
文件即可。
答案3
在 Ubuntu 18.04 下使用 Google Chrome 时,问题仍然存在。我不想触碰系统范围的桌面文件(我相信它可能会被 Chrome 更新覆盖),所以我使用 Alacarte 菜单编辑器编辑了 Chrome 启动器,并--force-device-scale-factor=n
按照 Brandon 的指示添加了。它起作用了,但只能从概览启动 Chrome。从 Dock 启动时,比例因子覆盖被忽略,所有字体再次变小。为了解决这个问题,我编辑了~/.local/share/applications/google-chrome.desktop
(可能是由 Alacarte 创建的),--force-device-scale-factor=n
在之后的每一行中插入Exec=/usr/bin/google-chrome-stable
- 桌面文件中有三行这样的行,Alacarte 只修改了第一行,但没有修改“新窗口”和“新隐身窗口”的行。现在,即使从 Dock 启动 Chrome,字体 dpi 覆盖也能正常工作,而且我不必以 root 身份更改文件。
答案4
对于chromium
和ubuntu
:
编辑/etc/chromium-browser/default
:
CHROMIUM_FLAGS="--force-device-scale-factor=n --high-dpi-support=1"