Запуск двух X-серверов при загрузке на RHEL

Вариант @ NarūnasK's

readarray() {
  local i=0
  unset -v "$1"
  while IFS= read -r "$1[i++]"; do :; done
  eval "[[ \${$1[--i]} ]]" || unset "$1[i]"
}

Пример:

$ readarray a < <(seq 10)
$ printf '%s\n' "${a[2]}"
3

2
13.12.2016, 00:45
1 ответ

Начиная с RHEL6, они используют Upstart для запуска процессов при загрузке. Чтобы запустить два разных X-сервера, создайте 2 отдельных сценария для запуска вашего X-сервера на :0 и :1.

start_colon_0.sh:

#!/bin/sh
su - sit -c "startx -- :0 vt4 -layout Layout0 -seat seat0 -sharevts" &

start_colon_1.sh:

#!/bin/sh
su - sit -c "startx -- :1 vt4 -layout Layout1 -seat seat1 -sharevts" &

В /etc/initсоздайте 2 файла конфигурации следующим образом:

x_server_0.conf:

start on stopped rc RUNLEVEL=5
stop on starting rc RUNLEVEL=[!5]
console output
respawn
exec start_colon_0.sh

x_server_1.conf:

start on stopped rc RUNLEVEL=5
stop on starting rc RUNLEVEL=[!5]
console output
respawn
exec start_colon_1.sh

Это запустит ваши скрипты при запуске при переходе на уровень запуска 5.

См. руководство Upstart

0
27.01.2020, 22:43

Теги

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