Pull to refresh

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
no-lid-sleep.conf
[Login] HandleLidSwitch=ignore
2) в /etc/acpi/events лежат два файла: docked и undocked
docked
event=ibm/hotkey LEN0068:00 00000080 00004010 action=sleep 5 && /usr/bin/systemctl start docked.target
undocked
event=ibm/hotkey LEN0068:00 00000080 00004011 action=/usr/bin/systemctl start undocked.target
3) в /etc/systemd/system лежат два файла: docked.target и undocked.target
docked.target
[Unit] Description=Laptop is docked Conflicts=undocked.target
undocked.target
[Unit] Description=Laptop is undocked Conflicts=docked.target
4) пишутся разные юниты, настраивающие ноут на разное состояние в зависимости от задоканности, в [Install] секции прописывается WantedBy=docked.target или WantedBy=undocked.target, потом им делается systemctl enable {unit}.service
5) ???
6) PROFIT!

Получается очень гибко, удобно добавлять/удалять/контроллировать сервисы в зависимости от состояния ноута.

P.S. sleep 5 в docked нужен, чтобы система успела подключить все устройства, доступные через док, например иксам надо успеть найти мониторы.
Парсер убил переносы строк в спойлерах. Надеюсь, понятно, где там нужно разбить на строчки?
Да, с этим все понятно. В общем, похоже, что рано или поздно systemd заменит собой очень многие демоны. Уж не знаю, хорошо это или плохо.
>не править /etc/systemd/logind.conf, а создавать снипет в /etc/systemd/logind.conf.d/

Тут интересно, как оно расставит приоритеты. Проще поправить logind.conf, я считаю. Вообще, с переходом на это самое, лишнее засыпание было не единственной проблемой: до кучи автомонтирование на скриптах udev отвалилось по причине нововведения с килянием процессов по таймауту…

Надо бы назад на sysv откатиться, благо в дебиане есть такая возможность.
Нормально оно расставляет приоритеты. Сначала грузит файл, потом сниппеты (насколько помню, их в лексикологическом порядке). В итоге и обновляется systemd штатно и конфиг не слетает.

У меня наоборот, засыпание нормально работало и в sysv и в systemd, но потом «сломали» дефолт в logind.conf, пришлось настроить. В systemd есть родное монтирование юнитами и/или настройкой в /e/fstab. Сам не пробовал (использую aufos ещё с sysv), но говорят что работает. Попробуйте.

Я наоборот последние пару лет плавно перевожусь на systemd. Не без шероховатостей конечно, но прогресс впечатляет :-)
Меня в systemd пугает концепция «все в одном». Как-то неюниксвейно. Ну и проблемы с переходом: перспектива переписывать под systemd конфиги тоже не разу не радуют.
Это «всё в одном» состоит из более чем 80 бинарников.
Ну и поддерживает старые rc и init-скрипты для совместимости. Естественно, вопрос поддержки этого перехода в конкретном дистрибутиве ложится на плечи мейнтейнеров, которые могут положить болт и рассказывать, как им всё сломали.
>состоит из более чем 80 бинарников.

По-моему, это многовато для системы инициализации. Хотя, у нас тут вместо системы инициализации, получается эдакая маленькая операционная система. На ум приходит шутка про 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, то это не очень гуманно по отношению к пользователям =)
Ну, как админу приходится серверный софт собирать с sysv-портянками (хорошо хоть в последнее время крайне редко). Для пользователей — по запросу в багтрекере (никто пока не жаловался :-)).
Почему же, конфиги в системд прекрасно разбиваются по логическим частям, можно перекрывать общесистемные настройки юнитов на уровне пользователя и т.п.

Например, если не нравится настройки запуска сервиса по умолчанию, можно создать каталог /etc/systemd/system/имясервиса.service.d/local.conf и прописать их в этом файле, эти настройки перекроют общесистемные, и при обновлении пакетов не затронутся.
Меня в systemd пугает концепция «все в одном». Как-то неюниксвейно.
Вот эта критика касательно systemd меня всегда убивает.

Как может концепция используемая в 100% UNIX'ов быть «неюниксвейной»?

Все, абсолютно все «настоящие» UNIX'ы (то есть системы ведущие родословную кодобазы от творения Кернигана и Ритчи) собирают «базовую систему» (состоящую из десятков, а то и сотен, программ) из одного дерева, которое может быть обновлено только и исключительно синхронно (login из System 6 в System 5 не вставить и наоборот).

systemd — это как раз во-многом «возврат к истокам».
Вот вы говорите что вам нужен trackpoint, а судя по MACу у вас bluetooth клавиатура от Chicony, у них моделей с TrackPoint'ом нет. Или вам указательное устройство больше не нужно?
Клавиатура у меня не от chiconi (: Вот она, собственно:



О, класс. Хочу такую! Где взяли? Или просто выдрали из старого Thinkpad и доработали напильником? У меня лично уже лет 5 блютусная Logitech diNovo Edge, пока устраивает, но рано или поздно аккумулятор сядет, надо будет искать замену…
Заказывал на ali, когда деревья были большие, а бакс стоил 30 рублей. Сейчас стоит жутких 6-7 тысяч деревянных.
UFO just landed and posted this here
Да вроде все работают нормально. Верхним рядом (функциональными) я не пользуюсь, но сейчас специально потыкал: скрипа нет. Ускорение трекпоинта можно настороить через xset m. Хотя, по ощущениям, чувствительность примерно как на x220. А вот на 31P9490 трекпоинт тугой, да.

Впрочем, задача трекпоинта — быстро передвинуть графический курсор, когда руки лежат на клавиатуре. А мышью я не пользуюсь. Совсем (:
У меня была проводная и с классической раскладкой, к сожалению блютус таких не было.
Новую thinkpad'овскую клавиатуру не признаю :-С
Sign up to leave a comment.