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

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

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

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

2 ответа2

0

Я не думаю, что вам нужно xpra . ssh хороший выбор

ssh user@hostname /path/to/program

или ssh + screen

ssh user@hostname "screen /path/to/program"

или xpra + screen

xpra user@hostname "screen /path/to/program"
0

Вы, кажется, смущены тем, как все работает. Вам не нужен терминал для запуска программы.

«Запустить xterm чтобы вы могли запустить процесс, а затем выйти из xterm », означает "запустить процесс", и вы можете полностью исключить xterm .

Я предполагаю, что вы ищете

nohup command >command.out 2>command.err &

который запускает command как фоновый процесс (из-за &) с выводом, идущим в command.out и сообщениями об ошибках в command.err .

Если вас не волнует вывод или обработка сигнала с помощью nohup , вы можете просто захотеть

command &

Это не позволяет вам взаимодействовать с фоновой командой (но не закрывает xterm поэтому, я думаю, вам это не нужно); если вы хотите сделать это, рассмотрите screen или tmux который позволяет вам запускать программу в виртуальном терминале, от которого вы можете отключиться, и подключиться к нему позже.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .