Я использую Ubuntu 10.04, используя менеджер окон openbox.
Недавно появился черный прямоугольник с размерами около 100x200 пикселей, скрывающий содержимое дисплея. wmctrl -lне перечисляет ничего, что может быть причиной этого. Появляется на всех рабочих столах. Он ловит фокус мыши, но xkillне заставляет его уходить. Он не отображается в цикле alt-tab. Установка окон "всегда сверху" в z-порядке не препятствует тому, чтобы они были скрыты этим прямоугольником. Полноэкранные приложения и видео также скрыты прямоугольником.
Пока что единственные вещи, которые я нашел, могут отображаться без использования этого прямоугольника:
другие сеансы TTY, означающие, что нажатие CTRL-ALT-F2 даст консоль, которая не закрыта прямоугольником.
xlock, Эта проблема не затрагивается как при отображении экранной заставки, так и при запросе пароля.
Как я могу избавиться от прямоугольника, не убивая мою X-сессию или процессы, не отвечающие за это? Сопротивление бесполезно?
Обновить
Благодаря cYrus я научился использовать xpropPID окна. У него довольно ограниченный набор свойств:
WM_HINTS(WM_HINTS): Client accepts input or input focus: True Initial state is Normal State. window id # of group leader: 0x2000001 _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 34717614 _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_POPUP_MENU _NET_WM_USER_TIME(CARDINAL) = 354386666 _NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x211bf8d WM_CLIENT_LEADER(WINDOW): window id # 0x2000001 _NET_WM_PID(CARDINAL) = 16593 WM_LOCALE_NAME(STRING) = "en_CA.utf8" WM_CLIENT_MACHINE(STRING) = "XXXXXX" WM_NORMAL_HINTS(WM_SIZE_HINTS): program specified location: 0, 0 program specified minimum size: 274 by 156 program specified maximum size: 274 by 156 window gravity: NorthWest WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST WM_CLASS(STRING) = "google-chrome", "Google-chrome" WM_ICON_NAME(STRING) = "google-chrome" _NET_WM_ICON_NAME(UTF8_STRING) = 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2d, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x65 WM_NAME(STRING) = "google-chrome" _NET_WM_NAME(UTF8_STRING) = 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2d, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x65
Данный PID соответствует моему процессу Chrome верхнего уровня (версия 6.0.472.53, для тех, кто заинтересован). Я не хочу убивать процесс, так как он может привести к тому, что я потеряю 40+ вкладок, которые у меня открыты, и их разные истории, так что было бы здорово, если бы был какой-то способ закрыть или скрыть это окно. К сожалению, я не очень хорошо знаком со свойствами X и не знаю, как это сделать.
Тип окна указывает, что это всплывающее окно; Я полагаю, это еще не закончилось. Это объясняет, почему он не принимает фокус окна: то есть, хотя он ловит щелчки мышью, последующие нажатия alt-space вызывают меню окна для другого окна.
Я пытался преобразовать его тип в нормальный, но я получаю
Как я могу манипулировать этим эмбриональным окном так, чтобы оно перестало мешать отображению?
«Xprop» + клик по прямоугольнику дает некоторую полезную информацию?
cYrus 14 лет назад
0
@cYrus: Да, спасибо. Похоже, это Chrome. Вы должны сделать свой комментарий ответом, чтобы я мог принять его.
intuited 14 лет назад
0
@cYrus: Есть идеи, какую собственность я бы хотел передать, чтобы закрыть? Хотя он ловит щелчки мышью, на самом деле он не фокусируется, поэтому я не могу использовать alt-space, чтобы получить его меню.
intuited 14 лет назад
0
Да, суть в том, что это Chrome окно (обычно используется для меню, но иногда и для всплывающих окон), о котором Chrome создал и забыл. Предложение cYrus о том, что вы убьете Chrome, - единственное, что я нашел, и это работает. Я пробовал "xkill" в оскорбительном окне, но оно никогда не работало. На самом деле я предпочитаю убивать Chrome, а не выходить чисто, потому что, насколько я знаю, он восстановит все мои окна и вкладки при перезапуске. Если у кого-то есть способ получше, я бы хотел это услышать.
Edward Falk 10 лет назад
0
Я перешел на Unity через некоторое время после публикации, и у меня не было проблемы в последнее время.
intuited 10 лет назад
0
3 ответа на вопрос
2
cYrus
xprop + нажмите на прямоугольник, чтобы получить полезную информацию.
Я закончил тем, что закрыл chrome обычным способом, поэтому я не буду проверять вашу команду xprop, если это не повторится снова. Благодарю.
intuited 14 лет назад
0
1
akira
использование
% xwininfo -tree -root
чтобы понять, какие окна есть. Используйте эту информацию, чтобы узнать, находится ли в данной позиции окно или нет, и если: которое.
0
aland
Я недавно сталкивался с подобной проблемой с Chromium и KWin WM.
Чтобы не убить браузер, вы можете просто сделать это окно невидимым:
Получить идентификатор окна с помощью xprop+ click, как предложено @cYrus, или с помощью xwininfo+ click
Скрыть это окно с xdotool windowunmap <ID>
PS: Настройка _NET_WM_WINDOW_TYPE, похоже, никак не повлияла на это.