.desktop 터미널 실행 프로그램이 창 관리자(gnome 및 기타)의 다른 터미널 창과 동일한 그룹에 속하지 않도록 하세요.

.desktop 터미널 실행 프로그램이 창 관리자(gnome 및 기타)의 다른 터미널 창과 동일한 그룹에 속하지 않도록 하세요.

사용자 정의 .desktop 파일을 만들어 .local/share/applications에 배치했습니다. 이제 데스크탑 메뉴(예: gnome Shell)에서 실행할 수 있습니다. 내용은 다음과 같습니다:

[Desktop Entry]
Name=Todovim
GenericName=Todovim
Comment=Open my todo file in vim with vim-todo plugin
Encoding=UTF-8
Terminal=true
StartupNotify=false
StartupWMClass=todovim
Categories=Utility;Terminal
Keywords=Todo;Terminal
Exec=xfce4-terminal -e "tmux new-session 'zsh -ic todoedit ; read'" --hide-menubar --hide-toolbar --hide-scrollbar --maximize
Type=Application
Icon=trine

그러나 응용 프로그램이 시작되면 다른 터미널 창으로 그룹화됩니다. 해당 터미널 창과 별도로 유지하고 싶습니다. 그룹화를 피하고 별도의 애플리케이션 그룹에 유지하려면 어떻게 해야 합니까?

답변1

현재 사용자에 대해 실행하면 새 인스턴스가 시작됩니다 xfce4-terminal.sudo

sudo -E -u current-user xfce4-terminal

해당 Exec줄을 다음으로 바꾸세요( current-user사용자 이름을 바꾸세요).

Exec=sudo -E -u current-user xfce4-terminal -e "tmux new-session 'zsh -ic todoedit ; read'" --hide-menubar --hide-toolbar --hide-scrollbar --maximize

-E현재 환경 변수를 사용하지 않으려면 옵션 없이 sudo를 사용할 수도 있습니다.

답변2

내가 아는 한 이 StartupWMClass설정은 그렇지 않습니다.구성애플리케이션을 시작하는 창 클래스입니다.

대신, 데스크탑 환경에 무슨 일이 일어날지 알려줍니다: "창이 나타나면 즉시이것윈도우 클래스가 나타나면 해당 항목의 시작이 완료되고 해당 항목의 시작 알림이 종료된 것으로 간주할 수 있습니다. "

그러나 시작 알림을 비활성화했으므로 이 StartupWMClass설정은 전혀 작동하지 않습니다.

대신, 이 명령이 별도의 창에서 실행되도록 지정하려면 —window명령줄에 옵션을 추가 해야 합니다.xfce4-terminal

Exec=xfce4-terminal --window -e "tmux new-session 'zsh -ic todoedit ; read'" --hide-menubar --hide-toolbar --hide-scrollbar --maximize

답변3

죄송합니다. 답변을 재현할 수 없습니다. 터미널 에뮬레이터로 작동시키는 방법을 찾았습니다.알라크리티:

창 카테고리를 설정하는 옵션이 있습니다 --class. .desktop 파일의 StartupWMClass와 동일한 클래스로 설정하면 별도의 아이콘이 생성됩니다(적어도 Wayland의 Gnome에서는). 이제 런처 파일은 다음과 같습니다:

[Desktop Entry]
Name=Todovim
GenericName=Todovim
Encoding=UTF-8
Categories=Utility
Keywords=Todo
Terminal=false
StartupNotify=false
StartupWMClass=Todovim
Exec=alacritty --class Todovim -e zsh -ic todoedit
Type=Application
Icon=trine
Name[de_DE.UTF-8]=todovim

또한 두 번째 터미널 창이 시작되므로 터미널을 false로 변경했습니다.

관련 정보