![bash スクリプトで X クライアントを起動し、終了スクリプトを終了する](https://rvso.com/image/122436/bash%20%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%A7%20X%20%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%97%E3%80%81%E7%B5%82%E4%BA%86%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E7%B5%82%E4%BA%86%E3%81%99%E3%82%8B.png)
スクリプト内で xserver クライアント プロセスを起動し、新しいプロセスを実行したままスクリプトを終了する必要があります。
#!/bin/bash
startx /home/me/my_x_client
exit 0
しかし、この方法では x はスクリプトとともに終了します。新しいプロセスでこれを開始し、 init を直接の親にするにはどうすればよいでしょうか。それとも、X サーバーで行うべきでしょうか。親が終了したときに、プロセスの親権は init に直接割り当てられるべきでしょうか。
答え1
試す
#!/bin/bash
nohup startx /home/me/my_x_client &
によるとman nohup
nohup - ハングアップの影響を受けないコマンドを実行し、出力は非 tty に出力します。
答え2
これは機能しないのですか?
#!/bin/bash
startx /home/me/my_x_client &
exit 0