Сенсорная панель Lenovo не работает в Debian 9

Вы можете немного изменить исходную идею с массивами - используйте форму arrayName [number] = "назначение вкладки" . Вот, например, то, что я сделал в интерактивном сеансе терминала, чтобы открыть новое окно терминала (и все эти шаги можно легко превратить в скрипт).

$ array[0]=" --tab --title 'Tab1' -e vi"                       

$ array[1]=" --tab --title 'Tab1' -e byobu"                    

$ gnome-terminal ${array[@]}

Генн Джекман в комментарии правильно заметил, что цитирование может стать проблемой, особенно если у вас есть несколько сложных команд, как в вашем случае. Таким образом, вы можете захотеть разделить информацию для вкладки и фактическую команду, которую она должна выполнить, на два соответствующих массива, каждая запись массива на вкладку. Обратите внимание, что мы хотим использовать cmd [x] как одну целую строку, поэтому цитируем ее, а tabinfo [1] должен расширяться до нескольких различных параметров

Вы можете захотеть подумайте также о размещении имен файлов в переменных типа VAR = / path / to / file и использовании $ VAR для ссылки на эти внутренние команды вместо использования длинных команд.

#!/bin/bash

function main()
{
   local cmd[1]="sh -c 'df;free;bash'"
   local cmd[2]="sh -c 'lsblk;cat /etc/fstab;bash'"
   local tabinfo[1]="--tab 'TAB1' --profile CRT -e"
   local tabinfo[2]="--tab 'TAB2'"
   gnome-terminal  ${tabinfo[1]} "${cmd[1]}" ${tabinfo[2]} "${cmd[2]}"
}

main
1
04.04.2019, 04:10
2 ответа

Кажется, вам нужно ядро ​​​​4.14 или новее, см.https://bugzilla.kernel.org/show_bug.cgi?id=196985или этот пост на форумах lenovo .

Вы можете попробовать установить последнее ядро ​​4.19.16 -1 из репозитория backports.

Вам необходимо выполнить следующие команды от имени пользователя root.

  1. Добавить запись репозитория для бэкпортов stretch -в/etc/apt/sources.list

    echo "deb http://ftp.debian.org/debian stretch-backports main" >> /etc/apt/sources.list
    
  2. Обновление индекса пакета

    apt-get update
    
  3. Установить новое ядро ​​

    apt-get -t stretch-backports install linux-image-amd64
    
  4. Необязательно :установить заголовочные файлы ядра -

    apt-get -t stretch-backports install linux-headers-amd64
    
  5. Перезагрузка

    reboot
    

Если это не работает, вы все равно можете загрузить свое старое ядро ​​из меню загрузки «Дополнительные параметры».

0
28.01.2020, 00:16

Некоторые новые тачпады обнаруживаются через интерфейс PS/2, но их основной функционал доступен только через SMBus.

Стандартное ядро ​​Debian 9 может быть слишком старым для поддержки этих :вам может понадобиться ядро ​​с опцией времени компиляции -CONFIG_MOUSE_PS2_SYNAPTICS_SMBUSдля них. Может попробовать бекпортить ядра?

Или, если в вашем ядре есть модуль ядра synaptics-rmi4,попробуйте загрузить соответствующие драйверы I2C/SMBus для вашей системы, а затем загрузить synaptics-rmi4.

(Похоже, поддержка сенсорных панелей, подключенных к SMBus -, начала добавляться в версии ядра 4.8. или около того, а стандартное ядро ​​Debian 9 — 4.9.x, поэтому поддержка сенсорной панели SMBus могла быть все еще неполной или претерпевать значительные изменения в этой версии ядра.)

0
28.01.2020, 00:16

Теги

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