Wget возвращает двоичный файл вместо html?

Вы уже решили все сложные части головоломки: -)

Вам нужно либо запустить специальную программу, которая реагирует на команду переключения, либо использовать существующую программу который все равно работает и может реагировать на клавиши. Некоторые оконные менеджеры можно очень гибко настроить для реакции на клавиши, например, я использую fvwm для клавиш яркости и громкости на моем ноутбуке. Итак, узнайте, какой оконный менеджер вы используете и как его настроить.

Вы можете узнать код клавиши X вместо кода клавиши ядра, запустив xev , сфокусировав его и нажав Fn + F6.

Вторая проблема заключается в том, что для выполнения операции переключения вам необходимо знать текущее состояние. Самый простой способ - это, вероятно, написать небольшой сценарий оболочки для чтения свойства Device Enabled с помощью xinput , а затем либо включить, либо отключить его с помощью xinput set-prop . Запускайте этот сценарий оболочки из оконного менеджера (если можете) всякий раз, когда вы получаете обнаруженный код X even.

Решение

Решение состоит в том, чтобы изменить файл /etc/udev/hwdb.d/10-yoga.hwdb на:

evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*80UE*:pvr*YOGA*900-13ISK2*
 KEYBOARD_KEY_bf=f21

@dirkt предоставил информацию о файле / usr / share / X11 / xkb / symbols / inet . При чтении этого файла ясно, что X11 сопоставляет клавишу F21 с XF86TouchpadToggle:

key <FK21>   {      [ XF86TouchpadToggle    ]       };

Поэтому вместо сопоставления скан-кода с touchpad_toggle я просто сопоставляю его с функциональной клавишей F21.

Никаких скриптов не требуется.

Остающиеся проблемы

Этот портативный компьютер отправляет это событие, когда вы переводите его в режим планшета. Но при возврате в режим ноутбука он не отправляет его снова, поэтому тачпад остается отключенным.

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

12
07.11.2016, 01:59
2 ответа

Это сжатый файл gzip . Вы можете узнать это, выполнив команду file , которая определяет формат файла по магическим числам в данных (именно так программы, такие как Text Wrangler, определяют, что файл является также сжат):

file output.html
wget -O - … | file -

Сервер (я догадался по показанному вами контенту) отправляет сжатые данные и правильно устанавливает заголовок

Content-Encoding: gzip

, но wget этого не поддерживает. В последних версиях wget отправляет Accept-encoding: identity , чтобы указать серверу не сжимать или иным образом кодировать данные. В более старых версиях вы можете отправить заголовок вручную:

wget --header 'Accept-encoding: identity' …

Однако этот конкретный сервер, похоже, не работает: он отправляет сжатые данные, даже если им сказано не кодировать данные каким-либо образом. Поэтому вам придется распаковывать данные вручную.

wget -O output.html.gz … && gunzip output.html.gz
29
27.01.2020, 19:54

Этот файл по-прежнему сжат с помощью gzip.

Видно, что первые два байта 0x1f8b соответствуют сигнатуре gzip. Значит, чтобы прочитать данные, их нужно распаковать.

mv file.dat file.dat.gz
gunzip file.dat.gz

Or

zcat file.dat
15
27.01.2020, 19:54

Теги

Похожие вопросы