Comment commencer un nouveau processus dans une nouvelle fenêtre dans une session écran de GNU existant, à l'extérieur de la session

StackOverflow https://stackoverflow.com/questions/1236376

Question

J'ai posé une question similaire ici et suis assez proche de ce que je suis à la recherche

Comment commencer un processus d'une autre application, puis ouvrez un terminal à ce processus écran gnu

... mais cela ne veut pas tout à fait arriver à ce que je suis après, qui commence un processus dans une nouvelle fenêtre (pas une fenêtre existante) dans une session d'écran existant (pas une nouvelle session de l'écran).

Si vous êtes à une invite de commande dans une session de l'écran, vous pouvez faire ceci:

screen [screen options] command param1 param2

Mais, comment voulez-vous faire si vous êtes en dehors de la session? Par exemple, si vous voulez exécuter cela comme une tâche cron?

Était-ce utile?

La solution

Lorsque vous n'êtes pas dans une session écran, vous pouvez passer le drapeau -X à l'écran pour exécuter une commande d'écran.

Par exemple, la commande à l'écran écran ouvre une nouvelle fenêtre, éventuellement avec une commande à exécuter.

En supposant que vous avez déjà ouvert quelque part l'écran:

screen -dr -X screen sleep 20

Notez que la nouvelle fenêtre se fermera une fois que la commande (sommeil dans ce cas) se termine. Si vous voulez le garder ouvert, vous pourriez potentiellement faire quelque chose comme ça, qui tapera « date \ n » dans la nouvelle fenêtre:

screen -dr -X screen
screen -dr -X stuff "date
"

Les pages de manuel ont bien sûr beaucoup plus de détails.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top