Разрыв экрана и проблемы с несколькими мониторами в Lubuntu

У меня были проблемы с разрывом экрана на моей системе в течение некоторого времени.

Наконец я понял, что выполнение

compton --backend glx --vsync opengl

в терминале позволяет мне избавиться от разрывов экрана.

Поэтому я решил, что было бы неплохо добавить эту команду в запуск, чтобы она просто выполнялась при каждой загрузке. Однако, хотя теперь я загружаюсь без разрывов экрана, мой второй монитор (который на самом деле является экраном моего ноутбука, а основной экран - это внешний монитор, подключенный через VGA) просто серый (хотя указатель мыши виден сверху при перемещении на этот экран, но приложения не видны). Убийство compton избавляет от проблемы, и выполнение той же команды из командной строки по-прежнему работает, но я просто не могу понять, как заставить его работать при запуске, так что любой ваш вклад, ребята, будет очень признателен!

1
задан 10 August 2021 в 21:02

1 ответ

Есть много способов сделать это, но я в основном добавляю приложения или скрипты, которые хочу запустить перед Window Manager, Я добавляю их в .xprofile .

Итак, создайте волшебный файл с именем .xprofile в вашем домашнем каталоге. /home/username/.xprofile .

Добавьте следующее содержимое:

compton --backend glx --vsync opengl &

При входе в систему должны запускаться предоставленные вами приложения или скрипты. В качестве альтернативы, если .xprofile не работает. Вы можете создать .xinitrc и использовать его с тем же содержанием.

Дополнительно:

  • Я настоятельно рекомендую вам обновить compton до picom, если вы еще этого не сделали.
  • Создайте файл конфигурации в .config / picom / picom.conf
  • Заполните конфигурацию образцом config .
  • После сохранения конфигурации отредактируйте свой .xprofile с помощью:
picom &
  • Для проблемы с разрывом экрана это также может решить ее; после установки проприетарных драйверов NVIDIA (версии 370 и выше). Изменить: Кажется, ваш графический процессор поддерживает NVIDIA 390, вы можете установить его с помощью этой команды: sudo apt install nvidia-driver-390

    • Вы можете попробовать добавить nvidia-drm.modeset = 1 параметр ядра в / etc / grub / default до GRUB_CMDLINE_LINUX_DEFAULT , не забудьте также обновить свой grub с помощью; sudo update-grub ( Источник )
  • Если вам что-то еще нужно, не стесняйтесь отвечать :)


Редактировать 2: Сначала попробуйте создать .xprofile и / или .xinitrc исполняемый файл с:

$ chmod +x .xprofile
$ chmod +x .xinitrc

Если .xprofile и .xinitrc не работает, давайте создадим конфигурацию и сразу запустим compton с LXQt Autostart.

  • Создайте конфигурацию в /home/username/.config/compton.conf
  • Добавьте следующее содержимое:
backend = "glx";
glx-no-stencil = true;

# Try to detect WM windows and mark them as active.
mark-wmwin-focused = true;

# Mark all non-WM but override-redirect windows active (e.g. menus).
mark-ovredir-focused = true;

# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events.
# Usually more reliable but depends on a EWMH-compliant WM.
use-ewmh-active-win = true;

# Painting on X Composite overlay window. Recommended.
paint-on-overlay = true;

# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe).
# Recommended if it works.
glx-no-rebind-pixmap = true;

# Set VSync method. VSync methods currently available:
# none: No VSync
# drm: VSync with DRM_IOCTL_WAIT_VBLANK. May only work on some drivers.
# opengl: Try to VSync with SGI_video_sync OpenGL extension. Only work on some drivers.
# opengl-oml: Try to VSync with OML_sync_control OpenGL extension. Only work on some drivers.
# opengl-swc: Try to VSync with SGI_swap_control OpenGL extension. Only work on some drivers. Works only with GLX backend. Known to be most effective on many drivers. Does not actually control paint timing, only buffer swap is affected, so it doesn’t have the effect of --sw-opti unlike other methods. Experimental.
# opengl-mswc: Try to VSync with MESA_swap_control OpenGL extension. Basically the same as opengl-swc above, except the extension we use.
# (Note some VSync methods may not be enabled at compile time.)
vsync = "opengl";

# If not specified or 0, compton will try detecting this with X RandR extension.
refresh-rate = 0;
  • При этом вам не нужно будет передавать параметры в compton. Вы можете найти в Google подробные настройки комптона.

  • Я полагаю, вы знакомы с LXQt, вы можете просто добавить compton в автозапуск. Настройки -> Приложения по умолчанию для LXSession -> Автозапуск -> Приложения, запускаемые вручную автоматически -> Добавить

  • Если это не работает, вы можете сделать что-то вроде этого:

    • Добавьте это в строку ~ /.config / lxsession / Lubuntu / autostart (если он не существует, создайте его и сделайте исполняемым с помощью chmod + x ) Параметр
@compton

или

@compton -b
  • -b деамонизирует компонент .
  • Надеюсь, Комптон начнет с сеанса.
0
ответ дан 20 August 2021 в 10:28

Другие вопросы по тегам:

Похожие вопросы: