Странное сообщение в терминале при посещении сайта

5

У меня мой терминал открыт в большинстве случаев. Сегодня, когда я искал программное обеспечение, результаты поиска привели меня к http://download.cnet.com. Мне не понравилось программное обеспечение, я закрыл страницу и продолжил.

Когда я принес май терминал обратно (он был открыт все время на заднем плане), у меня было странное сообщение, говорящее

No permission to use the keyboard API for http://download.cnet.com

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

PS

Я посетил другой URL из этого домена, и то же самое произошло.

Я использую Firefox на OS X 10.6.8

Я запустил Firefox через терминал.

Pouya
источник

Ответы:

2

Вы получаете это сообщение, потому что вы запустили Firefox из командной строки.

Я предполагаю, что вы использовали &Firefox в фоновом режиме, но это не перенаправляет вывод, поэтому любая ошибка будет записана в вашу терминальную сессию. Чтобы остановить это появление, вы должны добавить 2> /dev/nullдо &.

Смотрите этот ответ для более:

https://stackoverflow.com/questions/18012930/how-to-redirect-all-output-to-dev-null

Что касается того, что означает ошибка, я предполагаю, что веб-сайт запустил некоторый Javascript, который поразил систему безопасности Firefox и отскочил.

Тони Уильямс
источник
На самом деле, нет. Я не использую &в Mac, потому что, в отличие от терминала gnome, он не нужен (не уверен в правильной терминологии, но я думаю, что терминал оставляет контроль (?)). На самом деле, когда я закрыл терминал (cmd + q), firefox не был закрыт. Я согласен, что это может быть проблемой, и именно поэтому я отредактировал вопрос, но почему это сообщение всплыло, когда firefox отсоединен от терминала?
Pouya
2
Если вы откроете его из командной строки, он все еще прикреплен. Выход по-прежнему подключен к терминальной сессии. Он не отсоединится, если вы явно не отсоедините его.
Тони Уильямс
1

Это сообщение об ошибке исходит от веб-сервера ( download.cnet.com), пытающегося получить контроль над клавиатурой. Это законно в тех случаях, когда приложение хочет заблокировать вашу возможность вставить пароль или адрес электронной почты. Там цель будет заставить вас набрать его снова.

Конечно, есть также много менее законных случаев, когда веб-сервер будет пытаться взять под контроль вашу клавиатуру.

С другой стороны, этот веб-сервер не контролировал ни один из ваших терминалов (или окон). Это предупреждение связанно с тем , вы обожженной Firefoxчерез openпределы Terminal. Затем эта команда сохраняет свой стандартный канал связи с ошибками, связанный с исходным Terminalокном. Это не проблема. С другой стороны, это очень полезный способ отладки приложения без необходимости искать в нем сообщения об ошибках или предупреждения /var/log/system.log. Некоторые приложения просто не записывают предупреждающие сообщения, когда они не прикреплены к окну.

Когда вы добровольно запускаете приложение из Terminalокна (с помощью openили ./my_command_to_debug &, скрывать эти сообщения об ошибках не обязательно и не полезно.

Они много показывают и учат.

Дан
источник