![如何让 Chrome 浏览器在 Ubuntu 21.04 下打开时“另存为”对话框成为焦点?](https://linux22.com/image/1183766/%E5%A6%82%E4%BD%95%E8%AE%A9%20Chrome%20%E6%B5%8F%E8%A7%88%E5%99%A8%E5%9C%A8%20Ubuntu%2021.04%20%E4%B8%8B%E6%89%93%E5%BC%80%E6%97%B6%E2%80%9C%E5%8F%A6%E5%AD%98%E4%B8%BA%E2%80%9D%E5%AF%B9%E8%AF%9D%E6%A1%86%E6%88%90%E4%B8%BA%E7%84%A6%E7%82%B9%EF%BC%9F.png)
我使用 Ubuntu 21.04,遇到了似乎很久以前解决... 在 14.04 版本下。但现在它又回来了。我使用 Chrome 94.0.4606.61(官方版本),当打开“另存为...”对话框时,我宁愿直接按 Enter 键来确认我的选择。相反,它没有焦点,所以我必须将光标移动到“保存”按钮并按下它,因为没有热键让我聚焦这个对话框。
如果有人能建议我如何在 Ubuntu 21.04 下修复它,我将不胜感激。
答案1
不幸的是是一个错误,可能与 一起xdg-desktop-portal
。它会影响任何容器化格式的一些应用程序,不仅是 snap,还有 flatpak 和 appimage。鼠标用户不会很快发现它,但对于键盘导向用户来说,这是一个巨大的烦恼。Firefox 和 Thunderbird(容器化)也受到影响。
这个错误已经存在一段时间了,在即将推出的 Ubuntu 22.04 中仍未得到解决。但在当前的 Ubuntu LTS 20.04 中,它运行良好。
Xorg 用户可以使用devilspie
或devilspie2
来解决此错误(获得信用)这里)。devilspie2
自动聚焦 xdg-desktop-portal 对话框的规则是:
if ( get_application_name() == 'xdg-desktop-portal-gnome' and get_window_type() == 'WINDOW_TYPE_DIALOG' )
then
focus_window();
end
答案2
为了扩展@vanadium 的回答,以下是 Ubuntu 的所有步骤:
使用以下命令安装 devilspie2:
sudo apt install devilspie2
将其添加到启动程序:
- 在 Ubuntu 中打开“启动应用程序”
- 按
Add
- 作为一个
Name
企业Devilspie2
- 作为在启动时启动的
Command
输入devilspie2
- 点击完成
Add
devilspie2
创建要执行的脚本vim ~/.config/devilspie2/devilspie2.lua
粘贴以下脚本:
if ( get_application_name() == 'xdg-desktop-portal-gnome' and get_window_type() == 'WINDOW_TYPE_DIALOG' ) then focus_window(); end
注销并重新登录即可
devilspie2
开始工作
适用于 Xorg,不适用于 Wayland,归功于原始答案在 ubuntuforums 上
答案3
alt这不是一个修复,而是一个解决方法:您可以通过按住+而不释放它来使其聚焦tab,然后使用alt+ shift+切换回来tab。
至少在 Ubuntu 22.04.3 上
答案4
“...有人可以建议我如何在 Ubuntu 21.04 下修复它。”
如果这听起来微不足道,我深感抱歉,但我认为这是唯一的方法:
- 提交一个错误并等待有人修复它。
- 自己修复。
- 尝试更新 chrome。
笔记:在以下任一系统中,我都没有看到这种行为
系统 1:Ubuntu 20.04.3
1.1. Chrome 版本 94.0.4606.54 (官方版本) (64 位)
1.2. Chromium 版本 95.0.4638.69 (正式版) snap (64 位)
系统2:Lubuntu 20.04.3
2.1. Chrome 版本 95.0.4638.69 (官方版本) (64 位)
我知道这个 Ubuntu 版本没有被引用,但它介于被引用的 18.04.6 Mate 和 21.04 之间......这很奇怪。