Во-первых, я должен отметить, что это поведение не только для «терминатора» и не только для «Ubuntu»! Я видел ярлыки, не работающие в Windows и даже Mac, когда раскладка клавиатуры изменилась! Так что, ИМХО, это НЕ ошибка!
Мы должны лучше понять, что делает сочетание клавиш, например, Ctrl+ F! Он Ctrlназывается модификатором, а Fназывается ключом без модификатора .
Когда они помещаются в программное обеспечение, они вызывают сигнал . Терминал Linux использует POSIX надежные и иногда POSIX сигналы в реальном времени. Вы можете узнать больше об этом, набрав man 7 signal
в своем терминале. Терминатор по умолчанию использует сигналы в стиле GNU в Linux.
Terminator - это эмулятор терминала, который означает, что это программное обеспечение, разработанное для предоставления функциональных возможностей терминала и некоторых дополнительных функций. Как и многие другие программы, вы можете настроить поведение Terminator, изменив его конфигурационный файл, который обычно можно найти ~/.config/terminator/config
.
Теперь, если вы посмотрите на страницу справки терминатора для его файла конфигурации, вы можете увидеть, как этот файл структурирован. Существует конкретная опция, try_posix_regex
которая устанавливает его в True
качестве терминатора, чтобы сначала попробовать стиль POSIX. Попробуйте добавить следующую строку под global_config
:
try_posix_regex = True
Вот объяснение об этой опции:
try_posix_regexp (boolean)
If set to True, URL matching regexps will try to use POSIX style first, and fall
back on GNU style on failure. If you are on Linux but URL matches don't work, try
setting this to True. If you are not on Linux, but you get VTE warnings on startup
saying "Error compiling regular expression", set this to False to silence them
(they are otherwise harmless). Default value: False on Linux, True otherwise.
Я не полностью проверил это, но это могло решить проблему. Я все еще выясняю, Ctrlпосылает ли нажатие клавиши-модификатора, например , информацию о раскладке клавиатуры или нет. Если это произойдет, изменение макета приведет к изменению отправки сигнала, и, следовательно, терминал, терминатор или другое программное обеспечение могут быть не в состоянии правильно его интерпретировать.