Xterm*selectToClipboard не работает при установке в Xresources

У меня проблема с моим Xterm, и я не могу понять, что не так:

Мне нужно включить опцию *selectToClipboard в моем Xterm, чтобы иметь возможность копировать текст в терминале.

Для этого я сначала попытался "вручную" запустить xterm с помощью следующей команды: xterm -xrm 'xterm*selectToClipboard: true' которые работают очень хорошо.

Затем, чтобы включить опцию каждый раз при запуске xterm, я поставил следующую строку xterm*selectToClipboard: true в моем ~/.Xresources и я использовал команду xrdb -merge ~/.Xresources обновить настройки, но это не работает: Xterm запускается, но опция не включена, и я не могу скопировать текст из терминала, тогда как все остальные опции в Xresources включены и работают нормально.

Кто-нибудь имеет представление о том, что может вызвать эту проблему?

2 ответа

Короткий ответ: просто нужно добавить строку ниже в вашем /etc/X11/app-defaults/XTerm файл

*selectToClipboard: true

Длинный ответ: Если вы посмотрите справочные страницы xterm(1):

man xterm

FILES
   The actual pathnames given may differ on your system.

...
   /etc/X11/app-defaults/XTerm
        the xterm default application resources.

   /etc/X11/app-defaults/XTerm-color
        the xterm color application resources.  If your display supports color, use this
                  *customization: -color
        in your .Xdefaults file to automatically use this resource file rather than /etc/X11/app-defaults/XTerm.  If you do not do this, xterm uses its compiled-in default resource settings for colors.
...

Я не нашел ссылки на файл конфигурации пользователя для установки значений по умолчанию для приложения XTerm, кроме XTerm-colorтак что я не думаю, что он существует.

X ресурсы чувствительны к регистру. Руководство Xterm документирует это как

selectToClipboard (класс SelectToClipboard)

Сообщает xterm, использовать ли PRIMARY или CLIPBOARD для токенов SELECT в механизме выбора. Действие set-select может изменить это во время выполнения, позволяя пользователю работать с программами, которые обрабатывают только один из этих механизмов. По умолчанию установлено значение "false", что говорит о необходимости использования PRIMARY.

Эта функция была добавлена ​​в xterm в патче № 209 (2006). Это не дополнительная функция. Итак (при условии, что вы ввели командную строку, как указано), есть несколько возможностей для проверки:

  • вы могли бы использовать более старую версию xterm. Чтобы проверить это, запустите

    xterm -v

-v Опция версии xterm будет печатать однострочное сообщение, показывающее уровень патча вместе с конфигурацией, для которой он был скомпилирован, например,

XTerm(261)
  • Эту функцию можно установить / сбросить с помощью escape-последовательности, как указано в XTerm Control Sequence:

    CSI? Pm h DEC Private Mode Set (DECSET).... Ps = 1 0 4 1 -> Использовать выбор CLIPBOARD. (Это включает ресурс selectToClipboard).

Ваша инициализация оболочки может иметь что-то, что отправляет эту последовательность.

xrdb -query это один из способов проверить настройки ресурса, но это не является непогрешимым. Лучшим инструментом будет appres например,

appres XTerm
appres UXTerm

в зависимости от того, запущен ли xterm с / без UXTerm настройки приложения по умолчанию. В отличие от xrdb, appres показывает настройки ресурса после учета файлов "app-defaults". (Он не видит ресурсы, применяемые только к экземпляру xterm, такому как -xrm опция).

В tmux есть функция, которая может мешать выборам (будь то основной или буфер обмена). Это называется set-clipboard и комментируется здесь:

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