x11 ターミナル エミュレーターを作成したいのですが、どのようにシェルを生成して通信するべきかわかりません。そのための基本的な (疑似または C) コードはありますか? どのような種類の PTY を作成するか、シェルをそれにバインドする方法、キャッチまたは送信する必要があるシグナルなど、xterm ソース全体を並べ替えるような気がしません。
編集: ああ、その中のアプリケーションと通信する方法を実装したいのですが、機能の検出はどのようにすればよいですか? 「クライアント」に隠された ansi シーケンスがあり、他の端末エミュレータと衝突しないことを願っていますか? 「クライアント」と衝突したり、シェルによって削除されたりしないことを願って、いくつかの環境変数?