gnome-terminalの実際のマルチプロセスインスタンスの実行

gnome-terminalの実際のマルチプロセスインスタンスの実行

すでにgnome-terminal実行していてプログラムの新しいインスタンスが必要な場合は、gnome-terminal &シェルで実行すると問題が解決する可能性があります。

驚くべきことに、この新しいインスタンスは通常のWindowsまたはMacプログラムのように動作します。単に既存の実行メッセージにメッセージを送信してgnome-terminal新しいウィンドウを作成します。このgnome-terminalプロセスがクラッシュすると、すべての端末ウィンドウが失われます!

(もちろん、各ウィンドウには別々のプロセスである独自のシェルがありますが、実際の端末エミュレータとそのGUIはアプリケーションの単一インスタンスを介して管理されます。)

gnome-terminalプロセスを終了すると、そのプロセスに関連するウィンドウのみが破壊されるように、それぞれ独自のプロセスで実行される独立したインスタンスをどのように作成しますか?

答え1

新しいクライアント/サーバーアーキテクチャのため(詳細ここ)別のインスタンスを起動する必要がありますgnome-terminal-server。これを行うには、--app-idスイッチを使用できます。

/usr/lib/gnome-terminal/gnome-terminal-server --app-id my.first.Terminal

次に、クライアント(同じapp-idを使用)を使用して新しいサーバーにターミナル1を作成します

gnome-terminal --app-id my.first.Terminal
gnome-terminal --full-screen --app-id my.first.Terminal
......

他の例:

/usr/lib/gnome-terminal/gnome-terminal-server --app-id my.second.Terminal

ターミナル:

gnome-terminal --geometry 80x24+200+200 --app-id my.second.Terminal
gnome-terminal --app-id my.second.Terminal
.....

gnome-terminal-serverパスはシステムによって異なる場合があります。


1: 注意「クライアントを使用して新しいサーバーに端末を作成するのに10秒かかります。」

答え2

によると、man gnome-terminal探しているオプションに混乱した名前があるようです。

   --disable-factory
             Do not register with the activation name server, do 
             not re-use an active terminal.

しかし、このオプションは明らかに最新バージョンでは削除されましたしたがって、依存してはいけません。

答え3

mcは他のターミナルウィンドウと同じalt-tabグループにある問題で苦労しており、この解決策を見つけました。

https://chrisirwin.ca/posts/multiple-instances-of-gnome-terminal/

この人(Chris Irving)は電子メールルーチンでこの問題を解決しました。 Alt - タブのmcアイコンを除いて、mcで同じことをしましたが、大丈夫です。

3つのファイルが必要です。

/usr/share/dbus-1/services/org.gnome.Terminal-mc.service

[D-BUS Service]
Name=org.gnome.Terminal-mc
SystemdService=gnome-terminal-server-mc.service
Exec=/usr/lib/gnome-terminal-server --class=org.gnome.Terminal-mc --app-id org.gnome.Terminal-mc

/usr/lib/systemd/user/gnome-terminal-server-mc.service

[Unit]
Description=GNOME mc Terminal Server
[Service]
KillMode=process
Type=dbus
BusName=org.gnome.Terminal-mc
ExecStart=/usr/lib/gnome-terminal-server --class=org.gnome.Terminal-mc --app-id org.gnome.Terminal-mc

/usr/local/share/applications/mc.desktop

これはMidnight Commanderのデスクトップアイテムです。自分で編集する/usr/share/applications/...か、ここからここに移動して、/usr/local/share/applications/mc.desktop自分が編集した内容のコピーであることを強調することができます。とにかく、Execアイテムを次のように変更する必要があります。gnome-terminal --app-id org.gnome.Terminal-mc -e mc

Exec=gnome-terminal --app-id org.gnome.Terminal-mc --hide-menubar --geometry=102x35 -e mc

上記のすべてを含むアーカイブ

https://we.tl/t-6rH5jduMG7 これは.tar.gzで抽出するファイルです/。上記のファイルとmc .svgアイコンが生成されます。

関連情報