Как отладить проблему "зависших рабочих областей" в Ubuntu 14.04 внутри VirtualBox?
Я использую Ubuntu 14.04 в VirtualBox (как в 4.x, так и сейчас в 5.0.x) и столкнулся с небольшим баглетом с рабочими пространствами, и хотел бы попытаться отследить его до Ubuntu и VirtualBox, чтобы можно было сообщить об ошибке. Если есть настройка / исправление от кого-то, кто испытал то же самое, это было бы идеально.
Когда я запускаю виртуальную машину, она автоматически устанавливается в полноэкранный режим. Внутри виртуальной машины я могу расположить окна для приложения, например Firefox, в различных рабочих пространствах (я обычно использую 3x3). Если я отключу полноэкранный режим (обычно с помощью Host-F), а затем снова включу его, все окна этого приложения будут собраны в одной рабочей области, и они будут отказываться оставаться в новых местах при перетаскивании в рабочие области. Посмотреть. Другими словами, они хорошо перетаскивают, но отбрасывание их приводит к тому, что они "отскакивают" от текущего рабочего пространства.
Интересно, если это проблема Unity, и если да, то я могу просто переключить гостевой дистрибутив на Mint с Cinnamon. Однако, если это проблема с гостевыми дополнениями, то вместо этого ему нужно будет отправлять отчеты в 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.