Форум русскоязычного сообщества Ubuntu


Автор Тема: доступ и редактирование /sys  (Прочитано 2260 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Alexander_d

  • Автор темы
  • Любитель
  • *
  • Сообщений: 95
    • Просмотр профиля
доступ и редактирование /sys
« : 05 Января 2019, 15:48:35 »
Добрый день всем!
Прошу прощения, если поднимаю боянистую и глупую тему, но поиск по форуму ответа не дал.
Необходимо поиграться с регулировкой яркости экрана ноута. Для этого необходимо редактировать значения backlight в папке /sys/class.
Столкнулся с тем, что не получается открыть ни один из файлов в данном каталоге - получаю ошибку: "не удалось отобразить файл ХХХХХХ, сбой в функции mmap(): нет такого устройства".
Подозреваю, что в папке нет физических файлов, Но только ссылки (куда?) на непримонтированную папку. Я прав? Что нужно сделать, чтобы получить доступ к файлам настроек?

Спойлер: задачу по управлению подсветкой уже решил другим методом - с помощью xrandr. В данной теме хочу осветить именно вопрос с доступом в /sys

Спасибо!

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: доступ и редактирование /sys
« Ответ #1 : 05 Января 2019, 15:54:46 »
sys - это виртуальный каталог. Туда файлами(якобы файлами) выведены всякие разные системные настройки.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Alexander_d

  • Автор темы
  • Любитель
  • *
  • Сообщений: 95
    • Просмотр профиля
Re: доступ и редактирование /sys
« Ответ #2 : 05 Января 2019, 17:27:02 »
Ок. И как добраться до самих файлов? Как узнать где они лежат? ПКМ в свойствах файла очень длинный путь, поэтому не вижу его полностью.

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6834
    • Просмотр профиля
Re: доступ и редактирование /sys
« Ответ #3 : 05 Января 2019, 17:44:14 »
Один из постулатов линукс: все есть файл.
Цитировать
И как добраться до самих файлов?
Просто, как топор. Запускаешь Midnight commander и бродишь как по обычной файловой системе.
Цитировать
где они лежат?
В каталоге /sys. Есть еще несколько подобных каталогов: /proc, /run.
Для просмотра значений самих файлов и для редактирования используешь mcview (F3).
Для редактирования в mcview нужно включить "шестнадцатиричный вид" и режим редактирования.

Оффлайн Alexander_d

  • Автор темы
  • Любитель
  • *
  • Сообщений: 95
    • Просмотр профиля
Re: доступ и редактирование /sys
« Ответ #4 : 05 Января 2019, 17:47:48 »
Понял, спасибо.

P.S. Редактирование не получается. Даже при запуске mc от su при попытке сохранить изменения пишет "Невозможно сохранить файл. Отказано в доступе (13)"
« Последнее редактирование: 05 Января 2019, 17:59:53 от Alexander_d »

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6834
    • Просмотр профиля
Re: доступ и редактирование /sys
« Ответ #5 : 05 Января 2019, 18:23:21 »
Цитировать
Даже при запуске mc от su при попытке сохранить изменения пишет "Невозможно сохранить файл. Отказано в доступе (13)"
"su" - что за хрень, где вы только находите себе проблемы. sudo mc.
Только что проверил на том-же /sys/class/backlight... Все изменяется. Ничего невозможного.
Изменяешь mcview-ом?

Оффлайн damix

  • Активист
  • *
  • Сообщений: 664
    • Просмотр профиля
Re: доступ и редактирование /sys
« Ответ #6 : 05 Января 2019, 18:23:38 »
А что говорит
ls -l /sys/путь/до/файла
?

Ок. И как добраться до самих файлов? Как узнать где они лежат?
Они нигде не лежат. На самом деле /sys и /proc - это пустые каталоги, к которым примонтированы виртуальные файловые системы. За ними нет никаких физических устройств с данными. Мне помогло такое объяснение: ядро говорит программам, якобы там что-то есть.

А что если так сделать?
sudo su
echo "value" > /sys/путь/до/файла

Править файлы в /sys/ можно обычными текстовыми редакторами типа nano, но надо понимать, что текст, который мы "читаем" из этих файлов не всегда совпадает с тем, который мы туда "записали" последний раз. Поэтому я делаю, как выше описано, через echo, мне так удобнее.

Пользователь добавил сообщение 05 Января 2019, 18:28:32:
"su" - что за хрень, где вы только находите себе проблемы. sudo mc.
Чем плохо su? Нормальный способ переключить пользователя. А вот в чем смысл sudo -  мне непонятно. Пользователь, у которого есть sudo, может выполнить все то же самое, что и рут, в чем тогда безопасность?
« Последнее редактирование: 05 Января 2019, 18:28:32 от damix »

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6834
    • Просмотр профиля
Re: доступ и редактирование /sys
« Ответ #7 : 05 Января 2019, 18:29:40 »
Цитировать
Править файлы в /sys/ можно обычными текстовыми редакторами типа nano...
Нельзя. Точнее - льзя, но ничего не получится.
Цитировать
Поэтому я делаю, как выше описано, через echo, мне так удобнее
Это верно. Получить значение можно через cat, а записать через echo.

Оффлайн Alexander_d

  • Автор темы
  • Любитель
  • *
  • Сообщений: 95
    • Просмотр профиля
Re: доступ и редактирование /sys
« Ответ #8 : 05 Января 2019, 18:45:03 »
"su" - что за хрень, где вы только находите себе проблемы. sudo mc.
Только что проверил на том-же /sys/class/backlight... Все изменяется. Ничего невозможного.
Изменяешь mcview-ом?

Не понимаю твоего возмущения. Под "su" я имел в виду суперпользователя. Ясен хрен, что в терминале я выполняю sudo mc

изменяю mcview, да. Сначала F3 - потом F4 - потом F2. При попытке сохранения - указанная выше ошибка.

Пользователь добавил сообщение 05 Января 2019, 18:48:46:
А что говорит
Код: [Выделить]
ls -l /sys/путь/до/файла
?
alex@VPCS:~$ ls -l /sys/class/power_supply/BAT1/energy_full
-r--r--r-- 1 root root 4096 янв  4 23:46 /sys/class/power_supply/BAT1/energy_full

(я сейчас пытаюсь поменять значение емкости батареи, так как перепаял банки, ёмкость увеличилась, а контроллер этого не понимает, и показывает 0% батареи, притом, что она ещё около часа работает. Вернее, сначала 100%, потом оно уменьшается постепенно до 0%, но продолжает работать. То есть, по факту, ёмкость занижена в 2 раза).

По поводу echo - спасибо, попробую.
« Последнее редактирование: 05 Января 2019, 18:49:56 от Alexander_d »

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6834
    • Просмотр профиля
Re: доступ и редактирование /sys
« Ответ #9 : 05 Января 2019, 18:52:47 »
Цитировать
Сначала F3 - потом F4 - потом F2.
Вроде правильно.

Оффлайн damix

  • Активист
  • *
  • Сообщений: 664
    • Просмотр профиля
Re: доступ и редактирование /sys
« Ответ #10 : 05 Января 2019, 18:53:58 »
Нельзя. Точнее - льзя, но ничего не получится.
У меня получалось править nano то что в /sys/class/backlight/..., только это не очень удобно.

Пользователь добавил сообщение 05 Января 2019, 19:25:14:
alex@VPCS:~$ ls -l /sys/class/power_supply/BAT1/energy_full
-r--r--r-- 1 root root 4096 янв  4 23:46 /sys/class/power_supply/BAT1/energy_full
Ну здесь видно, что права на файле выставлены только для чтения - -r--r--r-- . Можно конечно под рутом поменять права, например chown 644 /sys/class/power_supply/BAT1/energy_full и записать значение, только скорее всего это не решит проблему. Оно, наверное, даже не запишется.
« Последнее редактирование: 05 Января 2019, 19:25:14 от damix »

Оффлайн Alexander_d

  • Автор темы
  • Любитель
  • *
  • Сообщений: 95
    • Просмотр профиля
Re: доступ и редактирование /sys
« Ответ #11 : 05 Января 2019, 20:12:02 »
Ну здесь видно, что права на файле выставлены только для чтения - -r--r--r-- . Можно конечно под рутом поменять права, например
Код: [Выделить]
chown 644 /sys/class/power_supply/BAT1/energy_full
и записать значение, только скорее всего это не решит проблему. Оно, наверное, даже не запишется.

Точно! Блин, торможу.
Спасибо!

P.S. А и нифига. Атрибуты не меняются - остаются прежними :( И, соответственно, прямое редактирование через echo так же не работает.

P.P.S. Сделал chmod, а не chown для файла. Уже прогресс, - атрибуты поменялись на RW, только дальше опять облом. Ошибка "нет такого устройства (19)". Думаю, это из-за попытки обратиться к фактическому контроллеру батареи.
« Последнее редактирование: 05 Января 2019, 20:30:12 от Alexander_d »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Re: доступ и редактирование /sys
« Ответ #12 : 05 Января 2019, 20:47:34 »
(я сейчас пытаюсь поменять значение емкости батареи, так как перепаял банки, ёмкость увеличилась, а контроллер этого не понимает
:2funny:
Это так не работает. Откалибруйте батарею через БИОС (если там есть такая опция) либо меняйте-прошивайте сам контроллер



Пользователь добавил сообщение 05 Января 2019, 20:56:03:
По аналогии - вы пытаетесь изменить температуру процессора, изменяя файл  :idiot2:
« Последнее редактирование: 05 Января 2019, 20:56:03 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Alexander_d

  • Автор темы
  • Любитель
  • *
  • Сообщений: 95
    • Просмотр профиля
Re: доступ и редактирование /sys
« Ответ #13 : 05 Января 2019, 21:02:46 »
Это так не работает. Откалибруйте батарею через БИОС (если там есть такая опция) либо меняйте-прошивайте сам контроллер

У меня VAIO. Там нет в БИОСЕ такого пункта. Поэтому хочу на;бать систему :)
Менять контроллер - теряется вся экономическая целесообразность замены банок. Дешевле купить новую батарею.
Прошить контроллер - не обладаю техническими средствами (стоят порядка 350-400 долларов). А если за денежку делать - то см.п.1.
(я сейчас пытаюсь поменять значение емкости батареи, так как перепаял банки, ёмкость увеличилась, а контроллер этого не понимает
:2funny:
Это так не работает. Откалибруйте батарею через БИОС (если там есть такая опция) либо меняйте-прошивайте сам контроллер



Пользователь добавил сообщение 05 Января 2019, 20:56:03:
По аналогии - вы пытаетесь изменить температуру процессора, изменяя файл  :idiot2:
Да, отлично это понимаю. Просто была робкая надежда - "а вдруг оно на уровне ОС, а не железа, берет данные ёмкости батареи".

Пичалька.

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1269
    • Просмотр профиля
Re: доступ и редактирование /sys
« Ответ #14 : 05 Января 2019, 21:21:36 »
Alexander_d, вообще-то нормальный контроллер должен сам откалиброваться за несколько полных циклов заряда-разряда. Именно для калибровки контроллера рекомендуется батарею любого нового устройства несколько раз полностью разрядить-зарядить.

 

Страница сгенерирована за 0.042 секунд. Запросов: 23.