Является ли лидер сеанса единственным процессом в своей группе?

Установите ibus в диспетчере программного обеспечения:

enter image description here

Запустите команду ibus-daemon .

Он уже должен появиться в системном трее.

enter image description here

Щелкните правой кнопкой мыши значок в области уведомлений, чтобы получить доступ к настройкам, настроить сочетание клавиш и добавить макеты.

Добавьте эту строку в ~ / .fluxbox / keys :

ibus-daemon &

Переключайте раскладки, щелкая левой кнопкой мыши значок в трее или используя ярлык для просмотра списка вариантов.


Это решение, похоже, имеет серьезное ограничение в том, что оно может не иметь доступа к некоторым вариантам макета .

4
04.12.2018, 16:07
2 ответа

Нет, такого ограничения нет. Если бы это было так, команды, которые на практике не реализуют управление заданиями (, а только оболочки ), не смогли бы разветвить процесс (, поскольку дочерние процессы наследуют группу процессов )при запуске. как xterm -e that-command, например.

Даже если лидером сеанса является интерактивная оболочка с включенным управлением заданиями, вы можете иметь другие процессы в его группе.

Работает:

xterm -e 'sleep 1000 & exec zsh'

И в этомxterm:

  PID  PGID   SID TTY          TIME CMD
14003 14003 14003 pts/20   00:00:00 zsh
14004 14003 14003 pts/20   00:00:00 sleep
14012 14012 14003 pts/20   00:00:00 ps

Большинство команд, запускаемых из интерактивной оболочки, выполняются в отдельных группах процессов, но это не относится ко всем.

Например, вbash:

$ exec 3< <(sleep 1000)
$ ps -j
  PID  PGID   SID TTY          TIME CMD
13913 13913 13913 pts/19   00:00:00 bash
14136 13913 13913 pts/19   00:00:00 bash
14137 13913 13913 pts/19   00:00:00 sleep
14138 14138 13913 pts/19   00:00:00 ps

Или процессы, запущенные в рамках расширения подсказки:

$ PS1=$'$(ps -j)\n$ '
  PID  PGID   SID TTY          TIME CMD
14212 14212 14212 pts/18   00:00:00 bash
14292 14212 14212 pts/18   00:00:00 ps
$ 
3
27.01.2020, 20:54

Все внешние команды выполняются в группе процессов, отличной от группы процессов оболочки. Оболочка является лидером сеанса и, таким образом, является единственным процессом в своей группе процессов.

Все команды, принадлежащие одному конвейеру, находятся в одной группе процессов.

1
27.01.2020, 20:54

Теги

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