Выполнить команду с помощью xterm и закрыть

Я пытаюсь выполнить программу с помощью xterm, а затем закрыть xterm с работающей программой, но, похоже, это не работает, как я ожидал.

В bash есть опция bash -c [command], а в xterm тоже что-то есть? В настоящее время я использую xterm -e [command], но это держит окно xterm открытым до тех пор, пока моя программа не завершится. Но я хочу открыть его, запустить программу, закрыть ее и оставить программу работать.

Есть ли способ сделать это?


person Nico    schedule 08.03.2018    source источник
comment
Зачем вам запускать команду через xterm, если вы не собираетесь использовать терминал в интерактивном режиме?   -  person Aserre    schedule 08.03.2018
comment
Я делаю это через xpra на другой рабочей станции, и эта программа работает правильно только в том случае, если она вызывается с правильной средой.   -  person Nico    schedule 08.03.2018
comment
Попробуйте nohup, disown или GNU screen, чтобы программа продолжала работать, даже если ее родительский процесс (в данном случае xterm) закрыт.   -  person Socowi    schedule 08.03.2018
comment
Я привязан к xpra, как мне использовать nohub, disown или screen?   -  person Nico    schedule 08.03.2018
comment
Stack Overflow — это сайт для вопросов по программированию и разработке. Этот вопрос кажется не по теме, потому что он не о программировании или разработке. См. раздел О каких темах я могу задать здесь в Справочном центре. Возможно, Суперпользователь или Unix & Linux Stack Exchange лучше спросить.   -  person jww    schedule 08.03.2018


Ответы (1)


Я делаю это (из файла bash), например:

my@self:~$ cat /usr/bin/rdesk.sh

#!/bin/bash
xterm -e 'perl /home/my/script.pl'

когда я запускаю файл rdesk.sh, он запускает xterm с Perl-скриптом, предоставляя мне некоторые опции. выбрав один, я могу закрыть окно, запустив выбранную программу.

Так что вам, возможно, просто нужно поместить команду xterm -e ... в сценарий bash.

person eli    schedule 08.03.2018