我的zsh.desktop
放置/home/user/.local/share/applications
行为如下:
当我双击并执行时,它可以正常打开,但是几秒钟后,我为启动器设置的自定义图标从启动器中消失,而是出现位于的zsh.desktop
默认图标,并且如果之前打开了窗口,它们就会合并。gnome-terminal.desktop
/usr/share/applications
gnome-terminal
zsh.desktop
内容 :
[Desktop Entry]
X-AppInstall-Package=gnome-terminal-y
X-AppInstall-Section=main
Name=ZSH-Terminal
Comment=Use zsh in the command line
TryExec=zsh
Exec=zsh
Terminal=true
Icon=/home/lucifer/.oh-my-zsh/zsh.png
Type=Application
StartupNotify=true
X-GNOME-SingleWindow=true
OnlyShowIn=GNOME;Unity;
Actions=New
Name[en_US]=ZSH-Terminal
[Desktop Action New]
Name=New Terminal
Exec=/usr/bin/zsh
编辑
如果firefox stable
和firefox nightly
并排安装,您会看到,当您执行其中一个时,它会自动转移到图标中firefox
,这会导致nightly
和都出现一个通用图标stable
,这并不好。
类似的事情也发生在两个不同的.desktop
我如何解决这个问题:
没有可行的解决方案来分离这两者,我所做的是Tilix
从https://gnunn1.github.io/tilix-web/(以前Terminix
)它作为一个单独的进程(PID)运行,gnome-terminal
然后zsh
从那里运行。
答案1
Exec
用以下内容替换您的行:
Exec=gnome-terminal --class=zsh -e zsh
使用 :
Terminal=false
并添加以下行:
StartupWMClass=zsh
该文件看起来应该像这样:
[Desktop Entry]
X-AppInstall-Package=gnome-terminal-y
X-AppInstall-Section=main
Name=ZSH-Terminal
Comment=Use zsh in the command line
TryExec=zsh
Exec=gnome-terminal --class=zsh -e zsh
Terminal=false
Icon=/home/lucifer/.oh-my-zsh/zsh.png
Type=Application
StartupNotify=true
X-GNOME-SingleWindow=true
OnlyShowIn=GNOME;Unity;
Actions=New
StartupWMClass=zsh
Name[en_US]=ZSH-Terminal
[Desktop Action New]
Name=New Terminal
Exec=gnome-terminal --class=zsh -e zsh
答案2
最好的办法是运行一个单独的终端仿真器(Tilix
),因为它将使用一个单独的PID
进程而不是一个进程gnome-terminal
,然后zsh
从那里使用,你就会得到一个完全独立的适用于的图标zsh
。