LINUX.ORG.RU

[не осилил]Startx из shell-скрипта.

 


0

0

Добрый день, ЛОР.

Такая проблема: хочу запускать Иксы и сразу блокировать tty одной командой. Наклепал такую каку:

#!/bin/sh
echo "Starting X"
/usr/bin/startx > /dev/null 2>&1
echo "X started"
echo 'Waiting'
sleep 10s;
echo "Locking Terminal"
vlock;
exit

Проблема в том, что /usr/bin/startx надо как-то отправить в фон, а обычный '&' тут не помогает. Как решить задачу?

Заранее спасибо.

★★★★★
Ответ на: комментарий от linux4ever

linux4ever wrote:

А с nohup что?

А ничего:

man nohup

<...> with output to a non-tty

Иксы не заводятся, если попытаться отвязать их от tty:

gotf ~ > cat nohup.out 

X: user not authorized to run the X server, aborting.
giving up.
xinit:  No such file or directory (errno 2):  unable to connect to X server
xinit:  No such process (errno 3):  unexpected signal 2.
GotF ★★★★★
() автор топика
Ответ на: комментарий от Komintern

А я нагородил... Спасибо, конструкция

startx > /dev/null 2>&1 & vlock

работает как надо.

(Странно, мне кажется такой вариант я пробовал раньше... Наверное, и там напутать сумел)

GotF ★★★★★
() автор топика
Ответ на: комментарий от GotF

только у меня вообще-то стоит alias startx='startx & logout', получается финт ушами. с tty вылогинивается, а иксы работают.

Komintern ★★★★★
()
Ответ на: комментарий от Komintern

Komintern wrote:

с tty вылогинивается, а иксы работают.

Про этот «фокус» я в курсе. Тут есть побочные эффекты - например, Gajim не запускается, если пользователь не залогинен на tty. Ну и обработка ~/.bash_logout имеет для меня некоторое значение.

GotF ★★★★★
() автор топика
Ответ на: комментарий от abraziv_whiskey

Зачем такие жуткие меры? :-) Проблема решена простейшим алиасом.

GotF ★★★★★
() автор топика
Ответ на: комментарий от Komintern

>alias startx='startx & vlock'

Из соображений секурности я бы поменял «&» на «;».
Правда, при падающих иксах это может стать источником гемора.

nnz ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.