Столкнулся со странной проблемой при попытке получить содержимое иксового буфера обмена в терминале (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, то эффект пропадает. Понятно, что такое решение, мягко говоря, так себе решение.
Я пытался строить теории и т. д., но описанное выше поведение я объяснить не могу. Нужна помощь.
DISPLAY=:0 xclip -o зависает пока не переключишься в иксы
Модератор: Модераторы разделов
-
- Сообщения: 279
- Статус: Ъ участник
- ОС: Artix (= Arch without systemd)
-
- Сообщения: 279
- Статус: Ъ участник
- ОС: Artix (= Arch without systemd)
Re: DISPLAY=:0 xclip -o зависает пока не переключишься в иксы
Нашёл удовлетворительное решение: xclipboard, в отличие от более "модных" клипбордов, решает проблему с буфером clipboard, а xsel -k делает то же самое для буфера primary.