Изменить разрешение на файл в папке /sys

Пытаюсь отключить подсветку на софт клавишах (дом, меню, назад и поиск).

Мой телефон — HTC Evo 3D с Ice Cream Sandwich. Раньше у меня был установлен Gingerbread, и я мог использовать приложение «Экранный фильтр», чтобы выключить свет. После обновления "Экранный фильтр" больше не работает.

На одном форуме написано, что если отредактировать файл max_brightnessв папке

/sys/class/leds/button-backlight

от 255до 0, а затем выключите и снова включите экран, после чего подсветка клавиш не будет гореть.

Однако файл доступен только для чтения.

Я хочу сделать файл доступным для записи. Нужно ли мне рутировать мой телефон, чтобы сделать это?

Можете ли вы опубликовать явные биты доступа? (т.е. выполните «ls -l /sys/class/leds/button-backlight»). Или изменилось местоположение (т.е. есть ли другие файлы в каталоге).

Ответы (1)

Да, ваш телефон должен быть рутирован, потому что для доступа к этому файлу он /systemдолжен быть смонтирован как доступный для записи.

Как только вы получите root, вы можете запустить эту команду внутри оболочки:
su
chmod 777 /sys/class/leds/button-backlight/max_brightness

Затем просто перейдите к этому файлу и отредактируйте его с помощью файлового браузера. Что chmod 777делает команда, так это изменяет права доступа к этому файлу, чтобы вы могли его редактировать. После того, как вы закончите, я бы предложил изменить разрешения обратно на то, что они были.

Первоначальные разрешения, вероятно, были 0666. Так что это будет так:chmod 0666 /sys/class/leds/button-backlight/max_brightness

Чтобы охватить примечание t0mm13b ниже, перейдите сюда для получения информации о том, как сделать файл доступным для записи при загрузке, вместо запуска сценария при каждой загрузке, который делает его доступным для записи.

Вы уверены, что это сработает, поскольку это звучит как временная мера, т.е. разрешения будут потеряны при перезагрузке? Кстати: телефон OP не имеет root-прав, так что это тоже не лучший ответ!
Это будет работать при условии, что телефон не перезагружается, для более постоянного решения init.rcсценарий должен быть изменен и перестроен на RAM-диске, а для этого его boot.imgнеобходимо создать заново.
Ну, очевидно, кто-то не читает ответы полностью. И не обязательно. Постоянное решение все еще может быть достигнуто без необходимости погружаться в boot.imgи разделять файлы ram-disk from it. OP может поместить приведенные выше команды в сценарий и загрузить стороннюю программу для запуска ее при загрузке. Есть много приложений, которые имеют такую ​​возможность, и ваше решение, скорее всего, в любом случае слишком сложное.
То, что я сказал, является более постоянным решением, но оно того стоит, вместо того, чтобы полагаться на сторонние приложения. Кроме того, init-скрипты — это место, где разрешения устанавливаются при загрузке до загрузки Android — на самом деле все просто, вместо того, чтобы прибегать к неудобным хакам, таким как приведенный выше ответ, каждый раз при загрузке Android …
Я знаю, о чем вы говорите, но предложенное выше решение, скорее всего, является более жизнеспособным решением для пользователей в целом и, вероятно, для ОП. Ваше решение может быть более постоянным, но требует большего знания Android, boot.imgразделения и файловой системы Linux.
Вы так многому научитесь, делая это, и заставите вас ценить то, что Linux и Android могут предложить :D
Я знаю, но мой ответ был просто основан на том факте, что большинство людей, которые публикуют сообщения в таких местах, ищут только быстрые и грязные решения ... а не отупляющие процессы обучения, к сожалению :)
Ха! Достаточно справедливо тогда я полагаю! :) Да, если все в восторге от этого... вот для чего мы здесь!!!! :D
Просто мысли вслух: если первоначальные разрешения были 0666, и вы изменили их на 0777-- все, что вы сделали, это сделали его исполняемым для всех (бит 1), так как ранее он уже был установлен для чтения (бит 4) и записи (2) для все. а) чего это должно достичь? и б) как вы думаете, это действительно хорошая идея, чтобы сделать его доступным для чтения и записи для каждого процесса? Оригинал был скорее 0644, я думаю ;)
Упс. Извините, я думаю в формате rwx, но в любом случае вы поняли
TBH, я согласен с user999999999 в том, что меня, как и большинство пользователей, интересует только быстрое и грязное решение. Запуск скрипта во время загрузки на самом деле не такой уж и грязный.