Группировка сервисов systemd

В X11 (на консоли я не знаю) можно сделать это путем переопределения поведения Клавиши выхода. Я посмотрел на "сдвиг (break_caps)" определение, чтобы видеть, как это работает и адаптировало его.

Посмотрите на этот ответ на xkb для получения дополнительной информации о том, как/где поместить локально измененные файлы и загрузить их.

И для того, чтобы сделать, что Вы хотите, Вам нужно в локальном файле символов (например: ~/.xkb/symbols/mysymbols) раздел как это:

partial modifier_keys
xkb_symbols "esc_breaks_caps" {
    key  {
        type = "ALPHABETIC",
        actions [Group1] = [
            SetMods(modifiers=none),
            SetMods(modifiers=Lock,clearLocks)
        ]
    };
};

и в локальном файле контурной карты (например: ~/.xkb/keymap/mykbd; можно создать его с setxkbmap -print > ~/.xkb/keymap/mykbd ) изменитесь xkb_symbols строка для добавления +mysymbols(esc_breaks_caps).

Можно теперь загрузить его: xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY и нажатие Esc удалит состояние CapsLock (на самом деле, эффект происходит на выпуске Esc; я думаю, что только ключи модификаторов имеют непосредственный эффект; другие эффект после их выпуска.)

О, если Вы хотите также подкачать Клавиши выхода и клавиши Caps Lock; затем используйте это вместо этого (и Вы помещаете "+mysymbols (esc_swap_and_breaks_caps)" в свой mykbd файл):

partial modifier_keys
xkb_symbols "esc_swap_and_breaks_caps" {
    replace key  {
        type = "ALPHABETIC",
        symbols = [ Escape, Escape ],
        actions [Group1] = [
            SetMods(modifiers=none),
            SetMods(modifiers=Lock,clearLocks)
        ]
    };
    replace key  { [ CapsLock, CapsLock ] };
};

обратите внимание, что физические ключи и ; (ключ выгравировал CapsLock в Вашей клавиатуре), отправляют Escape и (ключ выгравировал Esc), отправляет CapsLock, с (отправляющий Escape) также сбрасывающий capslock состояние

9
08.09.2015, 16:58
2 ответа

Вам нужен блок целевого типа со всеми служебными блоками, перечисленными как Wants = dependencies. Затем вы запускаете его с помощью systemctl start unitname.target . (Убедитесь, что вы не используете здесь systemctl isolate ; это отключит все, кроме того, что находится в дереве зависимостей ваших служб, что, по-видимому, вам не нужно.)

10
27.01.2020, 20:06

Пробовали ли вы использоватьPartOfна вспомогательных устройствах -целевой группы в дополнение к Wantsв целевой группе? Пример:PartOf=foo.targetв foo-sub1.serviceи Wants=foo-sub1.service foo-sub2.serviceв foo.target. Я только что попробовал это и смог запустить и остановить все мои вспомогательные устройства -, просто запуская и останавливая цель.

PartOf=

Configures dependencies similar to Requires=, but limited to stopping and restarting of units. When systemd stops or restarts the units listed here, the action is propagated to this unit. Note that this is a one-way dependency — changes to this unit do not affect the listed units.

When PartOf=b.service is used on a.service, this dependency will show as ConsistsOf=a.service in property listing of b.service. ConsistsOf= dependency cannot be specified directly.

5
27.01.2020, 20:06

Теги

Похожие вопросы