ОС

Конфликт Wine и Cinnamon в Linux Mint 22.2: как исправить

Устраняем конфликт между Wine и панелью Cinnamon в Linux Mint 22.2: настройки winecfg, виртуальный десктоп, автоскрытие панели, Xephyr, xrandr. Полноэкранный режим без блокировки панели и горячих клавиш. Обходы для Wine 9.0/10.0.

1 ответ 1 просмотр

Как устранить конфликт между менеджером окон 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?

Коротко: когда в 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 для полноэкранных приложений

  1. Комбинация: управление оконным менеджером = ВКЛ + эмуляция виртуального рабочего стола = ВКЛ
  • Откройте winecfg.
  • Вкладка «Графика»: поставьте галочку «Allow the window manager to control the windows» (по‑русски «Разрешить оконному менеджеру управлять окнами»). Затем включите «Emulate a virtual desktop» и укажите разрешение, равное вашему мониторному (например, 1920x1080).
  • Почему это помогает: окно управляется Cinnamon и остаётся «своим» для панелей/горячих клавиш; при том виртуальный десктоп даёт приложению контролируемый полноэкран‑опыт.
  1. Отдельный префикс для каждой игры/приложения
  • WINEPREFIX=~/wine-prefixes/game1 winecfg — создайте отдельный префикс и тестируйте настройки без риска сломать другие приложения.
  1. Запуск с переменными окружения (пример)
  • Пример запуска:
bash
export WINEPREFIX="$HOME/.wine-game"
wine "C:\\Program Files\\Game\\game.exe"
  • Для отладки X‑поведения используйте:
bash
WINEDEBUG=+x11 wine "C:\\…\\game.exe" &> ~/wine-x11.log

Лог wine-x11.log поможет понять, какие X‑функции использует Wine.

  1. Что делать, если приложение отказывается работать в виртуальном десктопе
  • Попробуйте два режима: включённый WM + виртуальный десктоп и отключённый WM + изменение разрешения/отдельный X (см. следующие разделы). В разных играх один из подходов даёт лучший UX.

Настройки Cinnamon и compositor (dconf, автоскрытие)

Некоторые изменения на стороне Cinnamon уменьшают вероятность конфликта или делают последствия менее заметными.

  1. Использование 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 — автоскрытие панели.
  1. Быстрые gsettings (если ключи есть в вашей версии)
  • Пример (проверяйте доступность ключей):
bash
gsettings set org.cinnamon.desktop.panel autohide true
gsettings set org.cinnamon.desktop.panel autohide-delay 0

Если ключ не найден, используйте dconf‑editor.

  1. Перезапуск Cinnamon как восстановление
  • Если панель «замёрзла», попробуйте: Alt+F2 → введите r и Enter (иногда доступно). Или переключитесь на TTY (Ctrl+Alt+F3), авторизуйтесь и выполните:
bash
DISPLAY=:0 cinnamon --replace &

Сохраните все данные перед перезапуском — сессия временно рестартует компоненты рабочего стола.

  1. Обновление Cinnamon
  • Периодически баги решаются в новых выпусках — проверьте, не закрыт ли ваш баг в репозитории: issue на GitHub.

Запуск в отдельном X‑сервере, Xephyr и изменение разрешения (xrandr)

Если вы хотите «настоящий» полноэкран без смены опции управления WM, используйте один из этих подходов.

  1. Изменение разрешения экрана (xrandr) — простая «обманка»
  • Скрипт: перед запуском игры меняете разрешение на нужное, запускаете Wine, после выхода восстанавливаете режим.
  • Пример скрипта (замените OUTPUT на ваш, узнайте через xrandr):
bash
#!/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/мульти‑мониторах может быть мерцание; будьте осторожны.
  1. Xephyr — вложенный X‑сервер (полноэкран в отдельной поверхности)
  • Установите: sudo apt install xserver-xephyr
  • Запуск:
bash
Xephyr -screen 1920x1080 -br -ac -noreset :1 &
DISPLAY=:1 WINEPREFIX="$HOME/.wine-game" wine "C:\\Path\\to\\game.exe"
  • Преимущества: изолированное окружение, Cinnamon остаётся на :0 и не конфликтует. Недостаток: возможны потери производительности (растровая отрисовка), но на многих играх это работает лучше, чем потерять панель.
  1. Отдельная X‑сессия
  • Более «тяжёлый» вариант: запустить отдельную X‑сессию с минимальным WM (openbox) и запускать игру там. Хорошо для тестирования и для игр, которым нужна полная «власть» над экраном.

Продвинутые варианты: Plank, Lutris/Steam, баг‑репорты

  1. Plank как замена панели/дока
  • Если панель Cinnamon постоянно конфликтует, замена на более лёгкий док (Plank) решает многие конфликтные случаи: sudo apt install plank. Сообщество прямо упоминало Plank как обход для конфликтов панели с полноэкранными окнами форум Linux Mint.
  • Поставьте Plank на автозапуск и спрячьте стандартную панель или оставьте её автоскрытой.
  1. Lutris / Steam Proton
  • Запуск через Lutris или Steam иногда даёт дополнительные опции обёртки (виртуальный десктоп, gamescope и т.п.) и упрощает конфигурацию fullscreen. Если вы используете Proton/Steam — тестируйте через Steam (для некоторых игр это надёжнее).
  1. Gamescope (если доступен)
  • Gamescope — оболочка/композитор от Valve, создаёт изолированную fullscreen‑сессию. Подробности и доступность зависят от вашего дистрибутива и GPU. Это продвинутый вариант для тех, кто хочет «steam‑like» fullscreen.
  1. Репорты об ошибках и патчи
  • Если обходы неудобны, создайте исчерпывающий баг‑репорт в репозитории Cinnamon: опишите версию Cinnamon, Wine (9/10), точные шаги воспроизведения, прикрепите логи (см. раздел отладки) и ссылку на ваш префикс. См. существующий баг по теме: github.com/linuxmint/cinnamon/issues/5332.

Отладка и сбор логов — что прикладывать в баг‑репорт

Если вы собираетесь открывать баг‑репорт или просить помощи, соберите минимальный набор артефактов:

  1. Логи Wine X11:
bash
WINEDEBUG=+x11 wine "C:\\Path\\to\\app.exe" &> ~/wine-x11.log
  1. Информация о текущем окне и свойствах X:
  • Откройте вторую консоль и выполните:
bash
xwininfo -root -tree > ~/xwininfo-tree.txt
# или
xprop -root > ~/xprop-root.txt
  • Для конкретного окна: нажмите xprop и кликните по окну — получите его атрибуты, включая _NET_WM_STATE, WM_CLASS, override_redirect.
  1. Логи Cinnamon / systemd:
bash
journalctl -b | grep cinnamon > ~/cinnamon-journal.txt
# или в реальном времени:
journalctl -f
  1. Xorg лог:
  • /var/log/Xorg.0.log или ~/.local/share/xorg/Xorg.0.log.
  1. Точные параметры:
  • Версия Cinnamon (cinnamon --version), версия Wine (wine --version), драйвер GPU (NVIDIA/AMD/Intel), информация о мониторах (xrandr).

Прикладывайте эти файлы к баг‑репорту и ссылкам на уже существующие обсуждения (см. issue на GitHub и темы на форумах Linux Mint).


Источники

  1. Странное автоскрытие панели - LinuxMint.com.ru
  2. Wine Virtual Desktop - Fullscreen Games - linuxmint/cinnamon (GitHub)
  3. Mint 19 Cinnamon panel doesn’t disappear on full screen programs (Linux Mint Forums)
  4. Issue accessing Panel - Linux Mint Forums
  5. Прекращена работа Cinnamon. Вы перешли в Резервный режим (linuxmint.com.ru)

Заключение

Коротко: самый надёжный путь — вернуть управление окнами в winecfg и эмулировать виртуальный рабочий стол с разрешением монитора, либо запускать игру в отдельном X‑окружении (Xephyr или отдельная сессия). Если нужен «чистый» fullscreen — используйте xrandr‑скрипт для временной смены разрешения или изолированный X‑сёрвер; как промежуточный шаг настройте автоскрытие панели или поставьте Plank. Сохраните логи (WINEDEBUG, xprop, journalctl) и, при отсутствии решения, добавьте их в баг‑репорт в репозитории Cinnamon — это ускорит исправление на стороне окружения.

Авторы
Проверено модерацией
Модерация
Конфликт Wine и Cinnamon в Linux Mint 22.2: как исправить