我在 VirtualBox 中使用 Ubuntu 14.04(之前是 4.x,现在是 5.0.x),工作区出现了一个小问题,我想尝试将其追溯到 Ubuntu 和 VirtualBox,以便报告故障。如果有经历过同样情况的人提供设置/修复方法,那就太好了。
当我启动虚拟机时,它会自动设置为全屏。在虚拟机中,我可以在不同的工作区(我倾向于使用 3x3)上排列应用程序(例如 Firefox)的窗口。如果我关闭全屏(通常使用 Host-F)然后重新打开,该应用程序的所有窗口将聚集在一个工作区上,并且在工作区视图中拖动时,它们拒绝停留在新位置。换句话说,它们可以很好地拖动,但放下它们会导致它们“反弹回”当前工作区。
我想知道这是否是 Unity 的问题,如果是,我可能会将客户机发行版切换到带有 Cinnamon 的 Mint。但是,如果这是 Guest Additions 的问题,则需要向 Oracle 报告,以便 VB 开发人员可以查看它。
我尝试过 Mint/KDE 和 Mint/Cinnamon,并在桌面客户机的 2x2 工作区中分别添加了不同的应用程序。我切换了两次全屏模式:一次关闭,一次打开,所有窗口仍然位于正确的工作区中。这让我确信 VirtualBox 不是罪魁祸首,Ubuntu/Unity 似乎才是罪魁祸首。
我还尝试安装全新的 14.04.2 来执行完全相同的测试,但也无法立即在此处复制该问题。我估计有问题的客户机已经进入了它本不应该进入的状态。
答案1
我没有成功修复这个问题(考虑到我的虚拟机需要重建,我可能会切换到 Mint),但我发现切换窗口的最大化状态会“取消”它们。也许这是在虚拟机中使用 Unity 导致的一个罕见错误。
我已经编写了一个脚本来切换所有窗口,因此解决这个问题现在变得容易得多:
#!/bin/bash
#
# Resets all Windows after triggering Ubuntu/VirtualBox windowing bug
#
# @todo Filter out windows we don't need, using grep
for window in `wmctrl -l | cut -d " " -f 1`; do
# Debugging
#echo $window
# Looks like doing just one axis doesn't work
wmctrl -i -r $window -b toggle,maximized_vert,maximized_horz
wmctrl -i -r $window -b toggle,maximized_vert,maximized_horz
# Activate them as well
wmctrl -R $window
done
关于如何调查此事的进一步回答非常受欢迎,但与此同时,我已经记录了一个错误与 Unity 开发人员合作。