Убей менеджер дисплеев и запусти другой со скриптом

У меня есть небольшой скрипт, в котором я убиваю gdm3 и запускаю сеанс X. Это работает, но я должен запустить его 3 раза.

export DISPLAY=:0
var = $(pidof gdm3)
kill $(var)
X :0 &
xterm &
export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so

Что я должен сделать, чтобы он заработал за один раз?

1 ответ

Решение

Я думаю, что ваша проблема связана с процессами отца и ребенка. Когда запускается gdm3 - учитывая, что ваши скрипты должны запускаться трижды - он предполагает наличие одного отца и двух дочерних процессов.

Попробуйте отредактировать ваш скрипт в цикле; что-то вроде этого:

экспорт DISPLAY=:0 var = $(pidof gdm3) пока [! -z "$ var"] действительно уничтожить $(var) var = $(pidof gdm3) сделано X:0 & xterm & export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so

Другие вопросы по тегам