fbrun+xclip: проглатывание клавиш

Софт под Linux, разные программы, но только связанные с Linux

Модератор: /dev/random

Ответить
Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

fbrun+xclip: проглатывание клавиш

Сообщение ZyX »

Запустил fbrun, набрал в нём xclip и ввод. Получил, что чтобы ввести что-либо в консоль, надо набрать это как минимум два раза, что прекратилось после прибивания xclip. Кто-нибудь может это объяснить?

PS: я сам не знаю, зачем мне запускать xclip в fbrun. Просто когда мне нечего делать я иногда ввожу не имеющие смысла команды.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: fbrun+xclip: проглатывание клавиш

Сообщение /dev/random »

ZyX писал(а):
15.01.2011 19:42
Получил, что чтобы ввести что-либо в консоль, надо набрать это как минимум два раза, что прекратилось после прибивания xclip.

o_O

А подробнее? Клавиши не срабатывали? Команды? Что выводилось? Какой терминал использовался? Не из него ли запускался сам флуксбокс?
Спасибо сказали:
Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

Re: fbrun+xclip: проглатывание клавиш

Сообщение ZyX »

/dev/random писал(а):
15.01.2011 19:48
ZyX писал(а):
15.01.2011 19:42
Получил, что чтобы ввести что-либо в консоль, надо набрать это как минимум два раза, что прекратилось после прибивания xclip.

o_O

А подробнее? Клавиши не срабатывали? Команды? Что выводилось? Какой терминал использовался? Не из него ли запускался сам флуксбокс?

Всё просто: fbrun запускался из yakuake, затем в нём же пытался ввести что-то. После этого при нажатии любой клавиши или сочетания, выдающей только один байт в терминал ничего не происходило, второе нажатие (не обязательно этой же клавиши) всё-таки выводил в терминал то, что надо. Сейчас проверил в другой консоли (urxvtc), а также в соседней вкладке того же yakuake — в них всё нормально. Получается, xclip что-то делает с stdin терминала, из которого он запущен.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: fbrun+xclip: проглатывание клавиш

Сообщение /dev/random »

ZyX писал(а):
15.01.2011 20:12
Получается, xclip что-то делает с stdin терминала, из которого он запущен.

Он из него читает. До получения EOF. А потом копирует прочитанное в буфер.

Думаю, если запустить в fbrun dd of=/dev/null, будет то же самое.
Спасибо сказали:
Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

Re: fbrun+xclip: проглатывание клавиш

Сообщение ZyX »

/dev/random писал(а):
15.01.2011 20:14
ZyX писал(а):
15.01.2011 20:12
Получается, xclip что-то делает с stdin терминала, из которого он запущен.

Он из него читает. До получения EOF. А потом копирует прочитанное в буфер.

Думаю, если запустить в fbrun dd of=/dev/null, будет то же самое.

Почему тогда каждый второй символ получает терминал, а не xclip?
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: fbrun+xclip: проглатывание клавиш

Сообщение /dev/random »

ZyX писал(а):
15.01.2011 21:22
Почему тогда каждый второй символ получает терминал, а не xclip?

Полагаю, "кто первый зохавает".
Проверьте с dd (я не проверял).
Спасибо сказали:
Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

Re: fbrun+xclip: проглатывание клавиш

Сообщение ZyX »

/dev/random писал(а):
15.01.2011 21:29
ZyX писал(а):
15.01.2011 21:22
Почему тогда каждый второй символ получает терминал, а не xclip?

Полагаю, "кто первый зохавает".
Проверьте с dd (я не проверял).

С dd поведение совпадает. А «кто первый захавает» — это кто первый вызовет read?
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: fbrun+xclip: проглатывание клавиш

Сообщение /dev/random »

ZyX писал(а):
15.01.2011 22:37
С dd поведение совпадает. А «кто первый захавает» — это кто первый вызовет read?

Кому первому ядро решит отправить символ. Вероятно, что в текущей реализации это действительно тот, кто первым вызовет read.
Спасибо сказали:
Ответить