gnome-terminal의 실제 다중 프로세스 인스턴스 실행 충돌하면 모든 터미널 창을 잃게됩니다! (물론, 각

당신이있는 경우 gnome-terminal실행 및 프로그램의 새 인스턴스를 원하는, 당신은 실행 생각할 수 있습니다 gnome-terminal &쉘에서하는 트릭을 할 것입니다.

놀랍게도이 새로운 인스턴스는 부적절한 Windows 또는 Mac 프로그램처럼 작동합니다. gnome-terminal새 창을 만들기 위해 실행중인 기존 메시지 만 보냅니다 . 이 하나의 gnome-terminal프로세스가 충돌하면 모든 터미널 창을 잃게됩니다!

(물론, 각 창에는 독립적 인 프로세스 인 자체 쉘이 있지만 실제 터미널 에뮬레이터와 GUI는 단일 응용 프로그램 인스턴스에서 관리됩니다.)

gnome-terminal각각 자체 프로세스에서 실행되는 의 독립 인스턴스를 어떻게 생성 하여 해당 프로세스를 종료하면 해당 프로세스와 관련된 창만 파괴 할 수 있습니까?



답변

에 따르면 man gnome-terminal찾고자하는 옵션이 혼동되는 것으로 보입니다.

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

그러나이 옵션은 최신 릴리스에서 제거되었으므로 의존해서는 안됩니다.


답변

새로운 클라이언트 / 서버 아키텍처로 인해 (자세한 내용 ) 별도의 인스턴스를 시작해야합니다 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 초가 걸립니다” .


답변

나는 다른 터미널 창과 동일한 alt-tab 그룹에 mc로 어려움을 겪고 있으며이 솔루션을 발견했습니다.

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

그 사람 (Chris Irwin)은 그의 메일 루틴을 위해 그것을 해결합니다. alt-tab 내의 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

이것은 자정 사령관의 데스크탑 항목입니다. 직접 편집 /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 아이콘을 만듭니다.


답변