DISPLAY=:0 xclip -o зависает пока не переключишься в иксы

Настройка графического интерфейса, Иксов, десктопов, оконных менеджеров и иксовых терминалов

Модератор: Модераторы разделов

math
Сообщения: 279
Статус: Ъ участник
ОС: Artix (= Arch without systemd)

DISPLAY=:0 xclip -o зависает пока не переключишься в иксы

Сообщение math »

Столкнулся со странной проблемой при попытке получить содержимое иксового буфера обмена в терминале (tty). Проблема воспроизводится одинаково и с xclip и с xsel, и с буфером clipboard (который Ctrl+C) и с буфером primary (который текущее выделение). Суть в том, что при запуске например команды DISPLAY=:0 xsel -b -o в терминале эта команда "зависает" — очевидно в ожидании данных — пока не переключишься на иксы (и обратно). После такого переключения xsel отвисает и выводит содержимое буфера обмена.

Пробовал запускать программы — менеджеры клипборда, вроде parcellite, clipit. Не помогает.

Если в .xinitrc вписать строчку
(while true; do xclip -quiet -selection clipboard -o | xclip -quiet -selection clipboard -i; done) &
то DISPLAY=:0 xclip -selection clipboard -o начинает работать, равно как и эквивалентный вызов xsel. Однако, если вписать в цикл sleep 1s, то эффект пропадает. Понятно, что такое решение, мягко говоря, так себе решение.

Я пытался строить теории и т. д., но описанное выше поведение я объяснить не могу. Нужна помощь.
Спасибо сказали:
math
Сообщения: 279
Статус: Ъ участник
ОС: Artix (= Arch without systemd)

Re: DISPLAY=:0 xclip -o зависает пока не переключишься в иксы

Сообщение math »

Нашёл удовлетворительное решение: xclipboard, в отличие от более "модных" клипбордов, решает проблему с буфером clipboard, а xsel -k делает то же самое для буфера primary.
Спасибо сказали: