Настоящая сессия GNOME Wayland

существует опция "caps:capslock" (который отображается на добавление "+capslock (capslock)" к xkb_symbols), который включает capslock.

Однако та опция (возможно, весь caps:xxxxx?) добавляется перед существующими ctrl:xxxxx; поскольку ctrl:swapcaps переопределяют клавишу Caps Lock, та опция не имеет никакого эффекта.

Так, абсолютно необходимо удалить все опции и на самом деле поместить тех, Вы хотите; путем опции существуют, они, как предполагается, не отменяют действие предыдущего, и имеющий конфликтующие опции (например, два (или больше), которые совершенствовали тот же ключ), Вы не можете определить их упорядочивание.

10
21.10.2015, 17:16
3 ответа

Я думаю, вы должны добавить это в .bashrc, что также работает для не -оболочек входа в систему.

1
27.01.2020, 20:03

Файлы .bashrc, .bash_profile, .profileи подобные файлы получаются только в том случае, если запущена поддерживающая их оболочка.

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

Но нет никаких причин, по которым средство запуска программ должно запускать программу через оболочку, используя любой из этих файлов.

Особенно многие современные лаунчеры программ запускают программы через systemd (пользовательские слайсы ), насколько я знаю, для этого используется Gnome.

Есть множество причин, по которым это имеет смысл, но я не буду вдаваться в подробности, так как это не по теме.

Насколько мне известно, в современной системе Linux единственным надежным способом установки переменных окружения является файл environment.d.

В некоторых местах вам также порекомендуют PAM env, но то, что это работает, является скорее непреднамеренным побочным эффектом, чем предполагаемой функцией, и его следует избегать, поскольку оно может перестать работать в будущем.

Для этого создайте файл конфигурации environment.d:

.config/environment.d/user-vars.conf

В нем установите переменные среды, например.:

QT_QPA_PLATFORM=wayland
CLUTTER_BACKEND=wayland
#Makes some games not work, better to run them through XWayland
#SDL_VIDEODRIVER=wayland
ECORE_EVAS_ENGINE=wayland_egl
ELM_ENGINE=wayland_egl

Вы можете использовать systemctl --user show-environment, чтобы увидеть все переменные среды, которые будут иметь новые запущенные приложения.

См. man environment.d.

Единственным существенным недостатком является то, что я понятия не имею, как "в -сеансе перезагрузить" файл environment.d, чтобы изменения применялись к только что запущенным программам. Итак, для изменений для вступления в силу вам необходимо перезапустить сеанс (, т.е. полностью выйти из системы и снова войти в систему или войти в систему с новым TTY, а не просто приостановить сеанс пользователя ).

Если я найду способ сделать это, я опубликую это здесь.


ПС :У меня немного странная система, где некоторые, но не все программы запускаются через systemd. Это не должно относиться к вам (, когда вы запускаете Gnome ). Но если у кого-то есть такая же проблема, я решил ее, включив export $(systemctl --user show-environment)в свой .bash_profile.Но вам не нужно это делать, если у вас не очень "навороченная" система.

1
30.04.2021, 19:29

Слишком поздний ответ, но это под "unanswered questions", прояснение.

GDK_BACKEND=wayland

достаточно, если вы запускаете приложения из терминала внутри сеанса wayland gnome.

Вы можете запустить оболочку gnome -через tty:

gnome-shell --wayland --display_server

Если у вас уже есть работающий экземпляр, вы должны добавить к команде префикс dbus -run -session:

dbus-run-session gnome-shell --wayland --display_server

Все последние версии Fedora по умолчанию являются путевыми.

1
12.05.2021, 09:19

Теги

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