Конфликт Wine и Cinnamon в Linux Mint 22.2: как исправить
Устраняем конфликт между Wine и панелью Cinnamon в Linux Mint 22.2: настройки winecfg, виртуальный десктоп, автоскрытие панели, Xephyr, xrandr. Полноэкранный режим без блокировки панели и горячих клавиш. Обходы для Wine 9.0/10.0.
Как устранить конфликт между менеджером окон Cinnamon и Wine в Linux Mint 22.2? При запуске Windows‑приложений через Wine с отключённой опцией «Разрешить оконному менеджеру управлять окнами» (winecfg → Графика) панель Cinnamon перестаёт реагировать на клики и горячие клавиши (Super, Alt+Tab), а все значки панели «примерзают». Тестировал wine-installer 9.0 и winehq-stable 10.0 в отдельных префиксах — результат одинаков. Снятие галочки рекомендовано официальной инструкцией и нужно для корректной работы полноэкранных приложений, но приводит к блокировке панели. Пробовал менять DPI и параметры виртуального рабочего стола — приложение работает, но не в полноэкранном режиме. Какие настройки Cinnamon или Wine, параметры запуска или обходные пути (виртуальный рабочий стол, compositor, патчи и т.д.) позволят запускать Wine‑приложения в полноэкранном режиме без блокировки панели Cinnamon?
Чтобы запускать Wine‑приложения в полноэкранном режиме на Linux Mint 22.2 без «замораживания» панели Cinnamon, используйте обходы: не отключайте принудительно управление окнами или эмулируйте десктоп с разрешением вашего монитора, либо запускайте игру в отдельном X‑сёрвере (Xephyr/:1) или временно меняйте разрешение через xrandr. Простые варианты — включить в winecfg управление оконным менеджером + виртуальный десктоп или поставить лёгкий док (Plank) и настроить автоскрытие панели через dconf; если нужно — смотрите разделы со скриптами, командами и отладкой ниже.
Содержание
- Почему Cinnamon конфликтует с Wine в Linux Mint 22.2?
- Быстрые обходы — что попробовать немедленно
- Настройки Wine для полноэкранных приложений
- Настройки Cinnamon и compositor (dconf, автоскрытие)
- Запуск в отдельном X‑сервере, Xephyr и изменение разрешения (xrandr)
- Продвинутые варианты: Plank, Lutris/Steam, баг‑репорты
- Отладка и сбор логов — что прикладывать в баг‑репорт
- Источники
- Заключение
Почему Cinnamon конфликтует с Wine в Linux Mint 22.2?
Коротко: когда в winecfg отключена опция «Разрешить оконному менеджеру управлять окнами», Wine создаёт неуправляемые (override‑redirect) окна и частично берёт на себя управление вводом/выводом. Такие окна обходят менеджер окон (Cinnamon/Muffin), и из‑за этого панель перестаёт получать ожидаемые события (клики, глобальные сочетания клавиш). Результат — «примерзшая» панель и недоступные горячие клавиши. Это не уникально для вашей версии Wine — похожие симптомы обсуждаются в багтрекере Cinnamon и на форумах (см. обсуждение про виртуальный десктоп и fullscreen в Cinnamon) issue на GitHub.
Почему это важно понимать? Потому что полное отключение управления окнами — не баг Wine сам по себе, а режим работы X11, при котором окно выходит из‑под контроля менеджера окон; следовательно, решение — либо вернуть менеджеру контроль, либо создать окружение, где полноэкранное окно не мешает панели (отдельный X, изменение режима экрана, другой док и т.д.).
Быстрые обходы — что попробовать немедленно
Если нужно быстро получить результат — попробуйте эти простые шаги в порядке сложности:
- Вариант A (самый быстрый, наименее рискованный): в winecfg включите «Разрешить оконному менеджеру управлять окнами» и включите «Эмулировать виртуальный рабочий стол», задав в нём разрешение вашего монитора (например, 1920x1080). Часто это позволяет имитировать полноэкран и сохранить панель рабочей.
- Запуск:
winecfg→ вкладка «Графика». - Вариант B: временно включите автоскрытие панели (см. раздел ниже) — панель станет невидимой и реже конфликтует с полноэкраном. Это не решает первопричину, но работает быстро.
- Вариант C: изменить разрешение экрана перед запуском приложения (xrandr — ниже есть скрипт). После выхода из игры вернуть исходное разрешение.
- Вариант D: запустить приложение в отдельном X‑сёрвере (Xephyr или отдельная сессия) — приложение в таком окружении не будет мешать Cinnamon на :0.
- Если панель уже «застряла»: попробуйте перезапустить Cinnamon через Alt+F2 → r (или в крайнем случае перейти на TTY и запустить
DISPLAY=:0 cinnamon --replace &). Подробнее об этом — в официальной теме с рекомендациями и обходами форум Linux Mint — автоскрытие панели.
Настройки Wine для полноэкранных приложений
- Комбинация: управление оконным менеджером = ВКЛ + эмуляция виртуального рабочего стола = ВКЛ
- Откройте
winecfg. - Вкладка «Графика»: поставьте галочку «Allow the window manager to control the windows» (по‑русски «Разрешить оконному менеджеру управлять окнами»). Затем включите «Emulate a virtual desktop» и укажите разрешение, равное вашему мониторному (например, 1920x1080).
- Почему это помогает: окно управляется Cinnamon и остаётся «своим» для панелей/горячих клавиш; при том виртуальный десктоп даёт приложению контролируемый полноэкран‑опыт.
- Отдельный префикс для каждой игры/приложения
WINEPREFIX=~/wine-prefixes/game1 winecfg— создайте отдельный префикс и тестируйте настройки без риска сломать другие приложения.
- Запуск с переменными окружения (пример)
- Пример запуска:
export WINEPREFIX="$HOME/.wine-game"
wine "C:\\Program Files\\Game\\game.exe"
- Для отладки X‑поведения используйте:
WINEDEBUG=+x11 wine "C:\\…\\game.exe" &> ~/wine-x11.log
Лог wine-x11.log поможет понять, какие X‑функции использует Wine.
- Что делать, если приложение отказывается работать в виртуальном десктопе
- Попробуйте два режима: включённый WM + виртуальный десктоп и отключённый WM + изменение разрешения/отдельный X (см. следующие разделы). В разных играх один из подходов даёт лучший UX.
Настройки Cinnamon и compositor (dconf, автоскрытие)
Некоторые изменения на стороне Cinnamon уменьшают вероятность конфликта или делают последствия менее заметными.
- Использование dconf‑editor (GUI)
- Установите при необходимости:
sudo apt install dconf-editor. - Запустите
dconf-editorи пройдите кorg → cinnamon → desktop → panel. - Рекомендуемые параметры (как обход, указанный в сообществе):
autohide— включить (true).autohide-delayилиhide-delay— минимальное (0).background-opacity— сделать прозрачной (0.0) или уменьшить.
Эти рекомендации обсуждались в теме сообщества и часто помогают с поведением панели при полноэкране: форум Linux Mint — автоскрытие панели.
- Быстрые gsettings (если ключи есть в вашей версии)
- Пример (проверяйте доступность ключей):
gsettings set org.cinnamon.desktop.panel autohide true
gsettings set org.cinnamon.desktop.panel autohide-delay 0
Если ключ не найден, используйте dconf‑editor.
- Перезапуск Cinnamon как восстановление
- Если панель «замёрзла», попробуйте: Alt+F2 → введите
rи Enter (иногда доступно). Или переключитесь на TTY (Ctrl+Alt+F3), авторизуйтесь и выполните:
DISPLAY=:0 cinnamon --replace &
Сохраните все данные перед перезапуском — сессия временно рестартует компоненты рабочего стола.
- Обновление Cinnamon
- Периодически баги решаются в новых выпусках — проверьте, не закрыт ли ваш баг в репозитории: issue на GitHub.
Запуск в отдельном X‑сервере, Xephyr и изменение разрешения (xrandr)
Если вы хотите «настоящий» полноэкран без смены опции управления WM, используйте один из этих подходов.
- Изменение разрешения экрана (xrandr) — простая «обманка»
- Скрипт: перед запуском игры меняете разрешение на нужное, запускаете Wine, после выхода восстанавливаете режим.
- Пример скрипта (замените OUTPUT на ваш, узнайте через
xrandr):
#!/bin/bash
OUTPUT=$(xrandr | awk '/ connected/{print $1; exit}')
ORIG_MODE=$(xrandr | awk '/*/{print $1; exit}')
TARGET_MODE="1280x720"
xrandr --output "$OUTPUT" --mode "$TARGET_MODE"
WINEPREFIX="$HOME/.wine-game" wine "C:\\Path\\to\\game.exe"
xrandr --output "$OUTPUT" --mode "$ORIG_MODE"
- Минусы: на NVIDIA/мульти‑мониторах может быть мерцание; будьте осторожны.
- Xephyr — вложенный X‑сервер (полноэкран в отдельной поверхности)
- Установите:
sudo apt install xserver-xephyr - Запуск:
Xephyr -screen 1920x1080 -br -ac -noreset :1 &
DISPLAY=:1 WINEPREFIX="$HOME/.wine-game" wine "C:\\Path\\to\\game.exe"
- Преимущества: изолированное окружение, Cinnamon остаётся на :0 и не конфликтует. Недостаток: возможны потери производительности (растровая отрисовка), но на многих играх это работает лучше, чем потерять панель.
- Отдельная X‑сессия
- Более «тяжёлый» вариант: запустить отдельную X‑сессию с минимальным WM (openbox) и запускать игру там. Хорошо для тестирования и для игр, которым нужна полная «власть» над экраном.
Продвинутые варианты: Plank, Lutris/Steam, баг‑репорты
- Plank как замена панели/дока
- Если панель Cinnamon постоянно конфликтует, замена на более лёгкий док (Plank) решает многие конфликтные случаи:
sudo apt install plank. Сообщество прямо упоминало Plank как обход для конфликтов панели с полноэкранными окнами форум Linux Mint. - Поставьте Plank на автозапуск и спрячьте стандартную панель или оставьте её автоскрытой.
- Lutris / Steam Proton
- Запуск через Lutris или Steam иногда даёт дополнительные опции обёртки (виртуальный десктоп, gamescope и т.п.) и упрощает конфигурацию fullscreen. Если вы используете Proton/Steam — тестируйте через Steam (для некоторых игр это надёжнее).
- Gamescope (если доступен)
- Gamescope — оболочка/композитор от Valve, создаёт изолированную fullscreen‑сессию. Подробности и доступность зависят от вашего дистрибутива и GPU. Это продвинутый вариант для тех, кто хочет «steam‑like» fullscreen.
- Репорты об ошибках и патчи
- Если обходы неудобны, создайте исчерпывающий баг‑репорт в репозитории Cinnamon: опишите версию Cinnamon, Wine (9/10), точные шаги воспроизведения, прикрепите логи (см. раздел отладки) и ссылку на ваш префикс. См. существующий баг по теме: github.com/linuxmint/cinnamon/issues/5332.
Отладка и сбор логов — что прикладывать в баг‑репорт
Если вы собираетесь открывать баг‑репорт или просить помощи, соберите минимальный набор артефактов:
- Логи Wine X11:
WINEDEBUG=+x11 wine "C:\\Path\\to\\app.exe" &> ~/wine-x11.log
- Информация о текущем окне и свойствах X:
- Откройте вторую консоль и выполните:
xwininfo -root -tree > ~/xwininfo-tree.txt
# или
xprop -root > ~/xprop-root.txt
- Для конкретного окна: нажмите
xpropи кликните по окну — получите его атрибуты, включая_NET_WM_STATE,WM_CLASS,override_redirect.
- Логи Cinnamon / systemd:
journalctl -b | grep cinnamon > ~/cinnamon-journal.txt
# или в реальном времени:
journalctl -f
- Xorg лог:
/var/log/Xorg.0.logили~/.local/share/xorg/Xorg.0.log.
- Точные параметры:
- Версия Cinnamon (
cinnamon --version), версия Wine (wine --version), драйвер GPU (NVIDIA/AMD/Intel), информация о мониторах (xrandr).
Прикладывайте эти файлы к баг‑репорту и ссылкам на уже существующие обсуждения (см. issue на GitHub и темы на форумах Linux Mint).
Источники
- Странное автоскрытие панели - LinuxMint.com.ru
- Wine Virtual Desktop - Fullscreen Games - linuxmint/cinnamon (GitHub)
- Mint 19 Cinnamon panel doesn’t disappear on full screen programs (Linux Mint Forums)
- Issue accessing Panel - Linux Mint Forums
- Прекращена работа Cinnamon. Вы перешли в Резервный режим (linuxmint.com.ru)
Заключение
Коротко: самый надёжный путь — вернуть управление окнами в winecfg и эмулировать виртуальный рабочий стол с разрешением монитора, либо запускать игру в отдельном X‑окружении (Xephyr или отдельная сессия). Если нужен «чистый» fullscreen — используйте xrandr‑скрипт для временной смены разрешения или изолированный X‑сёрвер; как промежуточный шаг настройте автоскрытие панели или поставьте Plank. Сохраните логи (WINEDEBUG, xprop, journalctl) и, при отсутствии решения, добавьте их в баг‑репорт в репозитории Cinnamon — это ускорит исправление на стороне окружения.