关于这个问题:
我在 Gnome 桌面上有一个启动项,其命令如下:
/usr/bin/gnome-terminal --disable-factory
然而,当它启动时,它只是告诉现有的gnome-terminal
创建另一个窗口,就好像参数不存在一样。如果我启动多个终端,则只有一个gnome-terminal
进程。
从 shell 中,如果我运行上述命令,我会得到一个单独的实例;ps -aux | grep gnome-terminal
显示两个过程。
确切的.desktop
文件如下所示:
[Desktop Entry]
Name=Gnome Terminal in Separate Process, DAMN IT!
Exec=/usr/bin/gnome-terminal --disable-factory
Terminal=false
Type=Application
Icon=/usr/share/icons/Humanity/apps/48/gnome-window-manager.svg
Categories=Accessories
StartupNotify=false
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-terminal
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=3.2.2
X-GNOME-DocPath=gnome-terminal/gnome-terminal.xml
X-Ubuntu-Gettext-Domain=gnome-terminal
我正在查看该变量的文档Exec
,它说支持参数:
http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html#exec-variables
如果我尝试启动这个桌面项目,它只是告诉现有的 Gnome 终端进行分叉。它无法做到这一点,因为该进程的虚拟内存占用过多,因此我收到一个对话框,显示There was an error launching the application. Details: Failed to fork (Cannot allocate memory).
即使在这种情况下,在现有终端中,我也可以轻松运行/usr/bin/gnome-terminal --disable-factory
以获取新的终端窗口,而不会出现分叉故障。