Comments 24
Всё не дочитал ещё, но выглядит вкусно. С systemd уже и сам натолкнулся. Только наверное лучше не править /etc/systemd/logind.conf, а создавать снипет в /etc/systemd/logind.conf.d/
А, нет, вру, systemd отлично отрабатывает события ACPI (ну, у меня), достаточно было ему сказать HandleLidSwitch=suspend, HandleLidSwitchDocked=suspend, чтобы снова начал засыпать при закрытии крышки ноута (в апстриме это починили для более другого случая, мне не подошло новое поведение). acpid лежит на случай непредвиденного возврата к sysv :-)
Проблема в том, что просто сделать suspend недостаточно, тут совершенно разные действия в зависимости от того, находится ли лаптоп в доке, подключен ли адаптер и тому подобное. А чтобы все это заработало, нужно писать юниты.
Нужно ли это? Мне покамест не нужно. Не люблю менять решения, которые работают хорошо на что-то более модное.
Нужно ли это? Мне покамест не нужно. Не люблю менять решения, которые работают хорошо на что-то более модное.
Ну у меня всё просто:
1) в /etc/systemd/logind.conf.d лежит файлик no-lid-sleep.conf
5) ???
6) PROFIT!
Получается очень гибко, удобно добавлять/удалять/контроллировать сервисы в зависимости от состояния ноута.
P.S. sleep 5 в docked нужен, чтобы система успела подключить все устройства, доступные через док, например иксам надо успеть найти мониторы.
1) в /etc/systemd/logind.conf.d лежит файлик no-lid-sleep.conf
no-lid-sleep.conf
2) в /etc/acpi/events лежат два файла: docked и undocked
[Login]
HandleLidSwitch=ignore
docked
event=ibm/hotkey LEN0068:00 00000080 00004010
action=sleep 5 && /usr/bin/systemctl start docked.target
undocked
3) в /etc/systemd/system лежат два файла: docked.target и undocked.target
event=ibm/hotkey LEN0068:00 00000080 00004011
action=/usr/bin/systemctl start undocked.target
docked.target
[Unit]
Description=Laptop is docked
Conflicts=undocked.target
undocked.target
4) пишутся разные юниты, настраивающие ноут на разное состояние в зависимости от задоканности, в
[Unit]
Description=Laptop is undocked
Conflicts=docked.target
[Install]
секции прописывается WantedBy=docked.target
или WantedBy=undocked.target
, потом им делается systemctl enable {unit}.service
5) ???
6) PROFIT!
Получается очень гибко, удобно добавлять/удалять/контроллировать сервисы в зависимости от состояния ноута.
P.S. sleep 5 в docked нужен, чтобы система успела подключить все устройства, доступные через док, например иксам надо успеть найти мониторы.
>не править /etc/systemd/logind.conf, а создавать снипет в /etc/systemd/logind.conf.d/
Тут интересно, как оно расставит приоритеты. Проще поправить logind.conf, я считаю. Вообще, с переходом на это самое, лишнее засыпание было не единственной проблемой: до кучи автомонтирование на скриптах udev отвалилось по причине нововведения с килянием процессов по таймауту…
Надо бы назад на sysv откатиться, благо в дебиане есть такая возможность.
Тут интересно, как оно расставит приоритеты. Проще поправить logind.conf, я считаю. Вообще, с переходом на это самое, лишнее засыпание было не единственной проблемой: до кучи автомонтирование на скриптах udev отвалилось по причине нововведения с килянием процессов по таймауту…
Надо бы назад на sysv откатиться, благо в дебиане есть такая возможность.
Нормально оно расставляет приоритеты. Сначала грузит файл, потом сниппеты (насколько помню, их в лексикологическом порядке). В итоге и обновляется systemd штатно и конфиг не слетает.
У меня наоборот, засыпание нормально работало и в sysv и в systemd, но потом «сломали» дефолт в logind.conf, пришлось настроить. В systemd есть родное монтирование юнитами и/или настройкой в /e/fstab. Сам не пробовал (использую aufos ещё с sysv), но говорят что работает. Попробуйте.
Я наоборот последние пару лет плавно перевожусь на systemd. Не без шероховатостей конечно, но прогресс впечатляет :-)
У меня наоборот, засыпание нормально работало и в sysv и в systemd, но потом «сломали» дефолт в logind.conf, пришлось настроить. В systemd есть родное монтирование юнитами и/или настройкой в /e/fstab. Сам не пробовал (использую aufos ещё с sysv), но говорят что работает. Попробуйте.
Я наоборот последние пару лет плавно перевожусь на systemd. Не без шероховатостей конечно, но прогресс впечатляет :-)
Меня в systemd пугает концепция «все в одном». Как-то неюниксвейно. Ну и проблемы с переходом: перспектива переписывать под systemd конфиги тоже не разу не радуют.
Это «всё в одном» состоит из более чем 80 бинарников.
Ну и поддерживает старые rc и init-скрипты для совместимости. Естественно, вопрос поддержки этого перехода в конкретном дистрибутиве ложится на плечи мейнтейнеров, которые могут положить болт и рассказывать, как им всё сломали.
Ну и поддерживает старые rc и init-скрипты для совместимости. Естественно, вопрос поддержки этого перехода в конкретном дистрибутиве ложится на плечи мейнтейнеров, которые могут положить болт и рассказывать, как им всё сломали.
>состоит из более чем 80 бинарников.
По-моему, это многовато для системы инициализации. Хотя, у нас тут вместо системы инициализации, получается эдакая маленькая операционная система. На ум приходит шутка про OS GNU/Emacs, в которой есть все, но нет нормального текстового редактора.
По-моему, это многовато для системы инициализации. Хотя, у нас тут вместо системы инициализации, получается эдакая маленькая операционная система. На ум приходит шутка про OS GNU/Emacs, в которой есть все, но нет нормального текстового редактора.
Оно и не позиционируется, как init. init — только один из кусков systemd.
systemd is a suite of basic building blocks for a Linux system. It provides a system and service manager that runs as PID 1 and starts the rest of the system. systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux control groups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. systemd supports SysV and LSB init scripts and works as a replacement for sysvinit. Other parts include a logging daemon, utilities to control basic system configuration like the hostname, date, locale, maintain a list of logged-in users and running containers and virtual machines, system accounts, runtime directories and settings, and daemons to manage simple network configuration, network time synchronization, log forwarding, and name resolution.
… а могут, как я, наоборот, собирать новые пакеты только с юнитами, ибо их можно написать и отладить в разумное время, в отличии от :-)
Я локальные пакеты так и собираю. Но, если вы мейнтейнер дистрибутива ещё активно использующего sysv, то это не очень гуманно по отношению к пользователям =)
Почему же, конфиги в системд прекрасно разбиваются по логическим частям, можно перекрывать общесистемные настройки юнитов на уровне пользователя и т.п.
Например, если не нравится настройки запуска сервиса по умолчанию, можно создать каталог /etc/systemd/system/имясервиса.service.d/local.conf и прописать их в этом файле, эти настройки перекроют общесистемные, и при обновлении пакетов не затронутся.
Например, если не нравится настройки запуска сервиса по умолчанию, можно создать каталог /etc/systemd/system/имясервиса.service.d/local.conf и прописать их в этом файле, эти настройки перекроют общесистемные, и при обновлении пакетов не затронутся.
Меня в systemd пугает концепция «все в одном». Как-то неюниксвейно.Вот эта критика касательно
systemd
меня всегда убивает.Как может концепция используемая в 100% UNIX'ов быть «неюниксвейной»?
Все, абсолютно все «настоящие» UNIX'ы (то есть системы ведущие родословную кодобазы от творения Кернигана и Ритчи) собирают «базовую систему» (состоящую из десятков, а то и сотен, программ) из одного дерева, которое может быть обновлено только и исключительно синхронно (login из System 6 в System 5 не вставить и наоборот).
systemd
— это как раз во-многом «возврат к истокам».Вот вы говорите что вам нужен trackpoint, а судя по MACу у вас bluetooth клавиатура от Chicony, у них моделей с TrackPoint'ом нет. Или вам указательное устройство больше не нужно?
О, класс. Хочу такую! Где взяли? Или просто выдрали из старого Thinkpad и доработали напильником? У меня лично уже лет 5 блютусная Logitech diNovo Edge, пока устраивает, но рано или поздно аккумулятор сядет, надо будет искать замену…
Заказывал на ali, когда деревья были большие, а бакс стоил 30 рублей. Сейчас стоит жутких 6-7 тысяч деревянных.
UFO just landed and posted this here
Да вроде все работают нормально. Верхним рядом (функциональными) я не пользуюсь, но сейчас специально потыкал: скрипа нет. Ускорение трекпоинта можно настороить через xset m. Хотя, по ощущениям, чувствительность примерно как на x220. А вот на 31P9490 трекпоинт тугой, да.
Впрочем, задача трекпоинта — быстро передвинуть графический курсор, когда руки лежат на клавиатуре. А мышью я не пользуюсь. Совсем (:
Впрочем, задача трекпоинта — быстро передвинуть графический курсор, когда руки лежат на клавиатуре. А мышью я не пользуюсь. Совсем (:
У меня была проводная и с классической раскладкой, к сожалению блютус таких не было.
Новую thinkpad'овскую клавиатуру не признаю :-С
Новую thinkpad'овскую клавиатуру не признаю :-С
Sign up to leave a comment.
Тонкая настройка ACPI на примере Thinkpad X220