Автор Тема: Стартеркит xfse4 с sysv  (Прочитано 24688 раз)

Онлайн Сергей-70

  • Давно тут
  • **
  • Сообщений: 496
Re: Стартеркит xfse4 с sysv
« Ответ #30 : 17.12.2019 11:42:04 »
Было бы неплохо, если бы вы рассказали об этом в развёрнутом виде.
Поспешил я. ПОсле перезагрузки прописанные disabled восстановились. Видимо это происходит при загрузке системы... Там и надо команду на прописывание флагов в wakeup давать

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Стартеркит xfse4 с sysv
« Ответ #31 : 17.12.2019 11:54:52 »
Было бы неплохо, если бы вы рассказали об этом в развёрнутом виде.
Поспешил я. ПОсле перезагрузки прописанные disabled восстановились. Видимо это происходит при загрузке системы... Там и надо команду на прописывание флагов в wakeup давать

Конечно это прописываеся в загрузке. Чтобы изменить дефолт. Поэтому и упоминал выше про /etc/sysfs.conf. Как один из вариантов смены дефолта работающего через sysfs.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Стартеркит xfse4 с sysv
« Ответ #32 : 17.12.2019 12:42:31 »
Отлично все идет. Осталось два вопроса - про plank и драйвер bluetooth

Здесь можно (и нужно) к ядерщиками на bugzilla.altlinux.org.
Но моё предчувствие и опыт подсказывают, что закончится это, если с багрепортом сходите на bugzilla.kernel.org
И из альтовцев вы не будете первым, кто туда уже ходил.

Онлайн Сергей-70

  • Давно тут
  • **
  • Сообщений: 496
Re: Стартеркит xfse4 с sysv
« Ответ #33 : 17.12.2019 21:14:50 »
Изменять состояние можно двумя способами:
Первый, "грязный", через rc.local.
Второй, через sysfs, - для этого пакет sysfsutils и включен в состав образа xfce-sysv по-умолчанию.
Почему первый способ грязный? Он не рекомендуется? Честно говоря, про него мне понятно. А вот про 2-й способ - не очень

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Стартеркит xfse4 с sysv
« Ответ #34 : 17.12.2019 23:31:57 »
Изменять состояние можно двумя способами:
Первый, "грязный", через rc.local.
Второй, через sysfs, - для этого пакет sysfsutils и включен в состав образа xfce-sysv по-умолчанию.
Почему первый способ грязный? Он не рекомендуется? Честно говоря, про него мне понятно.
А вот про 2-й способ - не очень

Ну во-первых он как бы не системный.
Во-вторых, для всего что можно обработать через /sys, существует файл конфигурации /etc/sysfs.conf.
Пока наполнение rc.local невелико, сложностей никаких. Но с ростом наполнения, это может превратиться в плохо читаемую свалку.
Ещё момент: очередь старта rc.local, - 99. И он всегда отрабатывает последним.
sysfs отработает ещё до того, как стартанёт display manager:
# ls -1 /etc/rc[2-5].d/ | sort | grep ^S | grep 'sysfs\|dm\|local' | sort -u
S33sysfs
S45dm
S99local
Что в ряде случаев оказывается полезным. Например смена дефолта яркости дисплея.
Например:
Уровень яркости сохраняется в профиле пользователя tde/kde3 kpowersave. И уровень яркости изменится только после входа в X-сессию, но не ранее. В случае с rc.local, яркость изменится только после того, dm будет загружен. Но если яркость устанавливается через sysfs, то её уровень будет установлен ещё в процессе отработки сервисов до старта dm. И уже когда он будет загружен, яркость уже будет на установленном уровне.
Здесь важно понять общий принцип настройки через sysfs.

Поехали:
Начало то же как и описывалось ранее:

Изменение статуса pci-устройства для S-state состояния

См.:
https://ru.wikipedia.org/wiki/ACPI

Выясним, на каком устройстве сидит usb-мышь
# ls -1 /dev/input/by-path/pci-*-mouse
/dev/input/by-path/pci-0000:00:14.0-usb-0:1.3:1.0-event-mouse
/dev/input/by-path/pci-0000:00:14.0-usb-0:1.3:1.0-mouse

Это pci-устройство с адресом
# ls -1 /dev/input/by-path/pci-*-mouse | head -n 1 | cut -f3 -d-
0000:00:14.0

И это xhci usb контроллер
# lspci -v | grep 00:14.0
00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03) (prog-if 30 [XHCI])

Доступность файла для записи, для изменения состояния wakeup
# ls -l /sys/bus/pci/devices/0000\:00\:14.0/power/wakeup
-rw-r--r-- 1 root root 4096 дек 17 08:38 /sys/bus/pci/devices/0000:00:14.0/power/wakeup

Текущее состояние
# cat /sys/bus/pci/devices/0000\:00\:14.0/power/wakeup
enabled
# grep `ls /dev/input/by-path/pci-*-mouse | head -n 1 | cut -f3 -d-` /proc/acpi/wakeup
XHC   S3 *enabled   pci:0000:00:14.0

Изменяем текущее состояние с enabled на disabled для S3
# echo disabled > /sys/bus/pci/devices/0000\:00\:14.0/power/wakeup

Оно изменилось
# grep `ls /dev/input/by-path/pci-*-mouse | head -n 1 | cut -f3 -d-` /proc/acpi/wakeup
XHC   S3 *disabled  pci:0000:00:14.0


Конфигурирование /etc/sysfs.conf

Для конфигурирования нужен пакет sysfsutils и в xfce-sysv он входит изначально.

Пакет предоставляет сервис
# chkconfig --list sysfs
sysfs          0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл

Конфигурирование предоставляется через файл /etc/sysfs.conf

Например есть целевой файл для записи в него disabled:
# ls -l /sys/bus/pci/devices/0000\:00\:14.0/power/wakeup
-rw-r--r-- 1 root root 4096 дек 17 22:44 /sys/bus/pci/devices/0000:00:14.0/power/wakeup

При записи в /etc/sysfs.conf пути к целевому файлу, начало пути '/sys/' не записывается, а символ равно и записываемое значение, указываются через пробелы:
# tail -n 3 /etc/sysfs.conf

# S3 wakeup disable
bus/pci/devices/0000\:00\:14.0/power/wakeup = disabled
(Перевод курсора через Enter на пустую строку обязателен!!)

Применение без перезагрузки:

Изначальное состояние, - enabled:
# grep `ls /dev/input/by-path/pci-*-mouse | head -n 1 | cut -f3 -d-` /proc/acpi/wakeup
XHC   S3 *enabled   pci:0000:00:14.0

Какими командами можно воспользоваться и состояние сервиса:
# /etc/rc.d/init.d/sysfs *
Usage: sysfs {start|stop|reload|restart|condstop|condrestart|condreload|status}
# /etc/rc.d/init.d/sysfs status
Subsystem was not activated.

Стартуем сервис
# /etc/rc.d/init.d/sysfs start
Setting sysfs variables...                                              [ DONE ]

и проверяем состояние
# grep `ls /dev/input/by-path/pci-*-mouse | head -n 1 | cut -f3 -d-` /proc/acpi/wakeup
XHC   S3 *disabled  pci:0000:00:14.0

На старте системы, сервис sysfs прочитает содержимое файла файла /etc/sysfs.conf и применит все незакомментированные конфигурации.

Через /etc/sysfs.conf можно также отконфигурировать и
acpi_cpufreq для двухядерного процессора с гипертридингом
devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand
devices/system/cpu/cpu1/cpufreq/scaling_governor = ondemand
devices/system/cpu/cpu2/cpufreq/scaling_governor = ondemand
devices/system/cpu/cpu3/cpufreq/scaling_governor = ondemand

и яркость дисплея по-умолчанию
# tail -n 3 /etc/sysfs.conf

# Display brightness
class/backlight/intel_backlight/brightness = 565

Установки будут выполнены на старте сервиса sysfs. На загрузке системы или прямой командой от root, для применения новых конфигураций без перезагрузки.

Единственной причиной перезагрузки, может быть смена драйвера intel_pstate на драйвер acpi_cpufreq. Поскольку на современных Intel архитектурах, драйвер intel_pstate используется по-умолчанию. И для использования драйвера acpi_cpufreq, требуется явное указание запрета использования драйвера intel_pstate параметром ядру в конфиге загрузчика. Что в свою очередь требует перезагрузки.
« Последнее редактирование: 17.12.2019 23:52:36 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Стартеркит xfse4 с sysv
« Ответ #35 : 18.12.2019 09:49:47 »
Что вам ещё нужно знать о регулировке яркости по хоткею и безопасности в xfce-sysv:

Регулировка яркости по хоткею, в xfce выполняется вызовом хэлпера /usr/sbin/xfpm-power-backlight-helper с опцией/параметр через pkexec c euid=0 для записи в /sys/.../brightness с root-овым доступом на запись.
Это вы можете увидеть в логе безопасности, после изменения яркости по хоткею.

Баг #37516 неактуален для xfce-sysv. По причине сломанной авторизации в sysv в альтлинукс.

Но оглядываясь на сказанное, несмотря на более высокий уровень безопасности xfce-sysv, тем не менее стоит избегать источников программ сомнительного происхождения.

Онлайн Сергей-70

  • Давно тут
  • **
  • Сообщений: 496
Re: Стартеркит xfse4 с sysv
« Ответ #36 : 18.12.2019 10:26:47 »
Спасибо за энциклопедический ответ! В инете находится только только правка rc.local
Действительно, обратил внимание, что яркость дисплея меняется до загрузки de. И еще один момент развесилил:
система реагирует на команды непривычно стремительно: если раньше при переходе в ждущий режим при выборе в окошке кнопки "ждущий режим" окошко сначала закрывается, а потом только начинается засыпание, то сейчас как только нажмешь кнопку -  система уже спит и это окошко прячется теперь только после просыпания. Очень похоже на анекдот. Мужик спрашивает кукушку: "Сколько мне лет осталось". Та ему: "Ку..." Он: "Что так ма...."
« Последнее редактирование: 18.12.2019 10:28:53 от Сергей-70 »

Онлайн Сергей-70

  • Давно тут
  • **
  • Сообщений: 496
Re: Стартеркит xfse4 с sysv
« Ответ #37 : 28.12.2019 20:00:52 »
При настройке пользовательских действий в thunar споткнулся на следующем
Команда gksu “xfce4-terminal –default-working-directory=%f” не работает. Окошко ввода пароля появляется, а дальше ничего.
В обычной сборке каманда отрабатывает. В чем может быть дело?

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Стартеркит xfse4 с sysv
« Ответ #38 : 28.12.2019 22:37:16 »
При настройке пользовательских действий в thunar споткнулся на следующем
Команда gksu “xfce4-terminal –default-working-directory=%f” не работает. Окошко ввода пароля появляется, а дальше ничего.
В обычной сборке каманда отрабатывает. В чем может быть дело?

Вы этот минус, простите, где набирали? И почему он у вас трёхбайтный, а не два байта #2d #2d? И почему у вас по hex кодам двойные кавычки различаются и они не #22?
$ hexdump -C default-working.txt
00000000  67 6b 73 75 20 e2 80 9c  78 66 63 65 34 2d 74 65  |gksu ...xfce4-te|
00000010  72 6d 69 6e 61 6c 20 e2  80 93 64 65 66 61 75 6c  |rminal ...defaul|
00000020  74 2d 77 6f 72 6b 69 6e  67 2d 64 69 72 65 63 74  |t-working-direct|
00000030  6f 72 79 3d 25 66 e2 80  9d 0a 0a 67 6b 73 75 20  |ory=%f.....gksu |
00000040  78 66 63 65 34 2d 74 65  72 6d 69 6e 61 6c 20 2d  |xfce4-terminal -|
00000050  2d 64 65 66 61 75 6c 74  2d 77 6f 72 6b 69 6e 67  |-default-working|
00000060  2d 64 69 72 65 63 74 6f  72 79 3d 25 66 0a        |-directory=%f.|
0000006e

Що ещё этот Лёнька Поттер намудрил, если неверная по hex опция отрабатывает?
В hex дампе, первые 57 байт, это копипаст вашей приведённой команды.
Откуда это сразу видно? В Conver Commander и Real Commander на ZX Spectrum, встроенный disk doctor с hex дамп. И следующий символ после символа с hex-кодом 20, привычно сразу бросается в глаза.

Что же касается этого выброса
Gkr-Message: secret service operation failed: The name org.freedesktop.secrets
я не буду делать под него рулез. Потому как только законченный идиот захочет сохранять рутовый пароль на винчестере.
« Последнее редактирование: 28.12.2019 23:09:49 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Стартеркит xfse4 с sysv
« Ответ #39 : 28.12.2019 23:27:07 »
Вот hex-дамп правильной команды и она работает:
$ hexdump -C default-working-directory.txt
00000000  67 6b 73 75 20 22 78 66  63 65 34 2d 74 65 72 6d  |gksu "xfce4-term|
00000010  69 6e 61 6c 20 2d 2d 64  65 66 61 75 6c 74 2d 77  |inal --default-w|
00000020  6f 72 6b 69 6e 67 2d 64  69 72 65 63 74 6f 72 79  |orking-directory|
00000030  3d 25 66 22 0a                                    |=%f".|
00000035

Онлайн Сергей-70

  • Давно тут
  • **
  • Сообщений: 496
Re: Стартеркит xfse4 с sysv
« Ответ #40 : 29.12.2019 17:43:11 »
Минус набирал на клавиатуре (верхний ряд рядом с нулем). Скопировал ваши минусы - все заработало. Проверил себя еще раз (не дурак ли я) - убрал ваши минусы и заменил их минусами с клавиатуры - перестало работать. Что происходит? Неправильно считываются коды нажатых клавиш? В терминале набранная вручную команда работает...

PS По ходу дела - это я дурак. Сейчас посмотрел настройки клавиатуры, а у меня модель клавиатуры была выставлена "старый макинтош". Не знаю, почему так. Убрал ее - все заработало. Прошу прощения за лишний аларм. Но ваш ответ натолкнул на решение
« Последнее редактирование: 29.12.2019 18:17:44 от Сергей-70 »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Стартеркит xfse4 с sysv
« Ответ #41 : 30.12.2019 00:25:03 »
Минус набирал на клавиатуре (верхний ряд рядом с нулем). Скопировал ваши минусы - все заработало. Проверил себя еще раз (не дурак ли я) - убрал ваши минусы и заменил их минусами с клавиатуры - перестало работать. Что происходит? Неправильно считываются коды нажатых клавиш? В терминале набранная вручную команда работает...

PS По ходу дела - это я дурак. Сейчас посмотрел настройки клавиатуры, а у меня модель клавиатуры была выставлена "старый макинтош". Не знаю, почему так. Убрал ее - все заработало. Прошу прощения за лишний аларм. Но ваш ответ натолкнул на решение

:-) Сергей, относитесь к этому философски:
Отрицательный результат, тоже результат, - вы обнаружили вариант, при котором команда может и не отработать.