Gnome: 애플리케이션을 실행하는 데 사용된 아이콘과 연관된 애플리케이션의 각 인스턴스를 가져올 수 있습니까?

Gnome: 애플리케이션을 실행하는 데 사용된 아이콘과 연관된 애플리케이션의 각 인스턴스를 가져올 수 있습니까?

나는 Gnome 3.30 이상의 org.gnome.Terminal.desktop을 사용하고 있으며 Exec=gnome-terminal --window-with-profile=XXX사용자 정의 명령을 사용하여 프로필 XXX가 있는 2개의 .desktop 파일을 첨부하여 ssh kalle@XXX다른 컴퓨터에서 쉽게 터미널을 열 수 있습니다.

특히 로컬 및 다른 컴퓨터에서 여러 터미널 창을 사용할 때 마음에 들지 않는 점은 모든 창이 org.gnome.Terminal.desktop 아이콘과 연결되어 있다는 것입니다.

각 창을 해당 창에 속한 아이콘과 연결하는 방법이 있습니까?

참고: 아직 개발 중인 Eclipse 버전을 사용하기 시작했을 때도 같은 문제가 발생했습니다. 안전을 위해 이전 안정 버전을 유지하고 새 버전을 위한 또 다른 .desktop 파일을 만들었습니다. 이전 사이트에서 새 사이트로 소프트웨어 사이트를 복사하여 붙여넣기 시작하면 두 창 모두 이전 사이트의 아이콘과 연결됩니다. 그놈 터미널 문제와는 달리 창은 다음과 같습니다.다른앱. 두 실행 파일 중 하나의 이름을 바꿔도 아무 것도 변경되지 않았습니다.

답변1

해결책을 찾았습니다. "org.gnome.Terminal"이 D-Bus 서비스 이름과 비슷해서 터미널을 연 후 시스템 로그를 확인했습니다. 중요한 부분은 다음과 같습니다.

dbus-daemon: systemd를 통해 활성화됨: 서비스 이름='org.gnome.Terminal' 단위='gnome-terminal-server.service'

나는 "org.gnome.Terminal.XXX"라는 새로운 서비스를 생성하고 시스템 XXX의 .desktop 파일 이름을 "org.gnome.Terminal.XXX.desktop"으로 바꾸면 문제가 해결될 것이라고 추측했지만 실제로는 .desktop 파일은 중요하지 않습니다. 다음과 같이 진행하세요:

  1. 새로운 D-Bus 서비스 생성
    • sudo cp /usr/share/dbus-1/services/org.gnome.Terminal{,.XXX}.service
    • 항목 수정
      • Name=org.gnome.Terminal.XXX
      • SystemdService=gnome-terminal-server-XXX.service
      • Exec=/usr/lib/gnome-terminal/gnome-terminal-server --app-id org.gnome.Terminal.XXX
  2. 새 Systemd 장치 만들기
    • sudo cp /usr/lib/systemd/user/gnome-terminal-server{,-XXX}.service
    • 항목 수정
      • Description=GNOME Terminal Server XXX
      • BusName=org.gnome.Terminal.XXX
      • ExecStart=/usr/lib/gnome-terminal/gnome-terminal-server --app-id org.gnome.Terminal.XXX
  3. .desktop 파일 업데이트
    • Exec=gnome-terminal --window-with-profile=XXX --app-id org.gnome.Terminal.XXX

--app-id기본 제공 서비스 이름 대신 서비스 이름을 사용하려면 이 옵션이 필수적입니다.

관련 정보