Этот вопрос существует для некоторых других моделей ноутбуков Sony Vaio (без ответа); Я еще не видел ответа для ноутбука sony vaio PCG-41217N.
Предложение выполнить xset led off
не отключает подсветку. Поскольку этот ноутбук предназначен для работы, я не хочу рисковать установкой стороннего программного обеспечения .
Глядя на предыдущую работу sony vaio Аскера , мой sudo dmidecode -s system-product-name
дает VPCSB1AHJ
. У меня есть файлы /sys/devices/platform/sony-laptop/kbd_backlight
и kbd_backlight_timeout
. Оба файла имеют размер 4,1 кБ, и только текст «-1» при открытии в gedit.
Мне удалось отключить подсветку клавиатуры, изменив значение текстового файла «kbd_backlight» только для чтения на 0 ( первоначально -1 ) после открытия его в gedit с рут-доступом через sudo gedit /sys/devices/platform/sony-laptop/kbd_backlight
в Терминале.
Обращаем ваше внимание на то, что использование sudo
для открытия gedit
проблематично, так как на этом сайте несколько рекомендаций использовать вместо этого gksudo
для правильного управления владением файлами между пользователем и пользователем root. Когда я выполнил sudo gedit
, я получил несколько предупреждений в Терминале .
На основании исследования @ DBinJP (и здесь ), здесь представлен путь к полному решению.
1. Запустите следующие строки как одну команду (скопируйте их все вместе и вставьте в терминал). Это создаст скрипт с именем kbdbacklight
, который будет помещен в /usr/local/bin
и доступен для всей системы команд оболочки.
cat << EOF | sudo tee /usr/local/bin/kbdbacklight && sudo chmod +x /usr/local/bin/kbdbacklight
#!/bin/sh
KBD_BACKLIGHT="/sys/devices/platform/sony-laptop/kbd_backlight"
read VALUE < "\$KBD_BACKLIGHT"
if [ "\${VALUE}" -eq '0' ]; then echo '-1' > "\$KBD_BACKLIGHT"
elif [ "\${VALUE}" -eq '-1' ]; then echo '0' > "\$KBD_BACKLIGHT"
else echo "Something went wrong."; notify-send "Something went wrong."
fi
EOF
Объяснение:
Команда cat << EOF
будет выводить следующие строки до следующей строки EOF
. Эти строки будут переданы |
в команду tee
, которая запишет их в файл /usr/local/bin/kbdbacklight
. Если эта операция выполнена успешно &&
, тогда предоставьте исполняемому файлу права chmod +x
. Обратная косая черта \
будет исключать особое значение знака $
в команде cat
.
В первых двух строках скрипт будет читать значение файла /sys/devices/platform/sony-laptop/kbd_backlight
. Затем, если значение равно 0
, оно будет изменено на -1
и наоборот.
Теперь скрипт должен быть доступен как команда оболочки. Введите sudo kbdbacklight
конец удара Enter kbd>. Вам будет предложено ввести пароль для выполнения команды как root по sudo
.
2. Разрешите всем пользователям запускать команду (наш скрипт) без пароля через sudo
. Независимо от того, принадлежат ли пользователи к группе sudoers или нет.
Примечание: Всегда используйте команду
visudo
для редактирования файлаsudoers
, чтобы убедиться, что вы не блокируете себя из системы - на случай, если вы случайно напишете что-то неправильное в файлsudoers
.visudo
сохранит ваш измененный файл во временном местоположении и только перезапишет реальный файлsudoers
, если измененный файл может быть проанализирован без ошибок ... source .
Для этого создадим файл /etc/sudoers.d/kbdbacklight
. Выполните команду:
sudo visudo -f /etc/sudoers.d/kbdbacklight
И поместите следующую строку в качестве содержимого файла. Затем сохраните и закройте файл.
ALL ALL=NOPASSWD: /usr/local/bin/kbdbacklight
Теперь все пользователи могут выполнять команду sudo kbdbacklight
без пароля.
3. Создайте настраиваемое сочетание клавиш и привяжите скрипт к нужной клавише (или комбинации клавиш).
Перейти к Системные настройки → Клавиатура → Сочетания клавиш (вкладка) → Пользовательские сочетания клавиш (раздел) → Добавить новый + kbd>.
В типе окна Custom Ярлык : [ Имя : kbdbacklight
], [ Команда : sudo kbdbacklight
]. Нажмите Применить kbd> .
Нажмите на метку Disabled и установите сочетание клавиш или их комбинацию.
Должны быть доступны другие возможные решения, основанные на данных и функциональных возможностях команд, таких как lsusb
, xinput
, evtest
, acpi_listen
(apcid
) и т. Д. Здесь Есть несколько ссылок, которые могут дать полезные идеи:
Все работает, спасибо!
Я принял сценарий из другого ответа для своих нужд. Теперь мой тачпад работает. С небольшими изменениями этот скрипт работает для подсветки клавиатуры и сенсорной панели. Просто замените KBDBACKLIGHT
на TOUCHPAD
- посмотрите оригинальный скрипт выше.
Я использую Ubuntu 17.10 с Gnome.
#!/bin/sh
TOUCHPAD="/sys/devices/platform/sony-laptop/touchpad"
read VALUE < "$TOUCHPAD"
if [ "${VALUE}" -eq '0' ]; then echo '1' > "$TOUCHPAD"; notify-send "Touchpad ON"
elif [ "${VALUE}" -eq '1' ]; then echo '0' > "$TOUCHPAD"; notify-send "Touchpad OFF"
else echo "Something went wrong."; notify-send "Something went wrong."
fi
Теперь на моем Sony Vaio пользовательский ярлык ctrl kbd> + win kbd> + * kbd> работает как в / выключить выключить подсветку клавиатуры и отключить и включить сенсорную панель ctrl kbd> + win kbd> + F1 kbd>. Пожалуйста, обратите внимание на VALUE
с - значения включения / выключения моего ноутбука равны 1
и 0
не так, как в оригинальном скрипте 0
и -1
. (отредактируйте эти цифры, если они не работают на вашем ноутбуке).
Приветствия:)