LINUX.ORG.RU

gksudo не отдает назад консоль


0

0

Есть демон для поддержки работы тачскрина. Проприетарный, писали китайцы. Я сделал кнопку для его перезапуска через gksudo. Вот только gksudo не отдает консоль назад(продолжает висеть). При этом через sudo работает замечательно.

user@debian:~$ ps ax --forest|grep Gentouch
15020 pts/8    S      0:00 /usr/local/Gentouch_S/GT_service restart
user@debian:~$ gksudo /usr/local/Gentouch_S/GT_service restart
Stopping Service.......................................[  ok ]
Starting Service.......................................[  ok ]
^C
user@debian:~$ ps ax --forest|grep Gentouch
15117 ?        S      0:00 /usr/local/Gentouch_S/GT_service restart
user@debian:~$ sudo /usr/local/Gentouch_S/GT_service restart
Stopping Service.......................................[  ok ]
Starting Service.......................................[  ok ]
user@debian:~$ ps ax --forest|grep Gentouch
15212 pts/8    S      0:00 /usr/local/Gentouch_S/GT_service restart
user@debian:~$
При перезапуске меняется pid демона.

Помогите определить, что gksudo надо


/usr/local/Gentouch_S/GT_service - скрипт или бинарь? сорцов вообще никак не достать?

Недавно имел экспириенс, правил исходники драйвера тачскрина (производитель - Idealtek/Lilytec), чтобы заводилось на свежих иксах, может смогу чем подсобить.. Но у меня было без демона, просто нормальный модуль иксов

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

GT_service бинарник:

user@debian:/usr/local/Gentouch_S/$ file GT_service 
GT_service: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
Здесь,к сожалению, без модуля. Демон напрямую читает из устройства /dev/input/gentouch и транслирует сигналы в действия мыши.

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

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

[code=bash] #!/bin/bash

/usr/local/Gentouch_S/GT_service restart;

until [ -z pgrep GT_service ] do sleep 1 done

killall GT_service;

exit 0; [/code]

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