是什么原因导致 GNOME 终端 15.04 中 ps 输出发生变化?

是什么原因导致 GNOME 终端 15.04 中 ps 输出发生变化?

致力于这个答案,我发现ps在 15.04 中命令的输出发生了很大变化。

一些例子

在 14.04 中, 的输出ps -e显示为gnome-terminal

$ ps -e
19006 ?        00:00:00 gnome-terminal

而在 15.04 中:

$ ps -e
24959 ?        00:00:00 gnome-terminal-

(注意15个字符)

出于对长版本的好奇,我运行了ps -e ww

在 14.04 中:

$ ps -e ww
19006 ?        Sl     0:01 gnome-terminal

在 15.04 中

$ ps -e ww
24959 ?        Rl     0:01 /usr/lib/gnome-terminal/gnome-terminal-server --app-id com.canonical.Terminal.qVQkBaeWjRVoRiJKYQVkNNyrboXUfVrj

查找应用程序对应的pid:

在 14.04 中:

$ ps -p 19006 -o comm=
gnome-terminal

而在 15.04 中:

$ ps -p 24959 -o comm=

再次是 15 个字符(如预期的那样):

gnome-terminal-

在链接的问题中,我通过从 中导出应用程序名称WM_CLASS(如命令输出中所述)解决了该问题xprop。不过,我更喜欢使用“老式”的ps -p 19006 -o comm=,因为它效率更高。

这些差异对脚本的使用有很大影响。我的问题是:有谁知道这背后的原因是什么或者这是由什么引起的?

答案1

似乎与 gnome-terminal 的更改有关。但是,浏览变更日志和新闻后,我找不到任何具体信息。

正如您在 14.04 gnome-terminal 包的文件列表中看到的,/usr/lib/ 目录甚至不存在。

/usr/bin/gnome-terminal
/usr/bin/gnome-terminal.wrapper
/usr/share/applications/gnome-terminal.desktop
/usr/share/doc/gnome-terminal/AUTHORS
/usr/share/doc/gnome-terminal/NEWS.gz
/usr/share/doc/gnome-terminal/README
/usr/share/doc/gnome-terminal/changelog.Debian.gz
/usr/share/doc/gnome-terminal/copyright
/usr/share/lintian/overrides/gnome-terminal
/usr/share/man/man1/gnome-terminal.1.gz
/usr/share/man/man1/gnome-terminal.wrapper.1.gz
/usr/share/menu/gnome-terminal

在 15.04 中,/usr/lib 目录包括。

/usr/bin/gnome-terminal
/usr/bin/gnome-terminal.real
/usr/bin/gnome-terminal.wrapper
/usr/lib/gnome-terminal/gnome-terminal-migration
/usr/lib/gnome-terminal/gnome-terminal-server
/usr/lib/nautilus/extensions-3.0/libterminal-nautilus.so
/usr/share/appdata/gnome-terminal.appdata.xml
/usr/share/applications/gnome-terminal.desktop
/usr/share/dbus-1/services/org.gnome.Terminal.service
/usr/share/doc/gnome-terminal/AUTHORS
/usr/share/doc/gnome-terminal/NEWS.gz
/usr/share/doc/gnome-terminal/README.Debian
/usr/share/doc/gnome-terminal/changelog.Debian.gz
/usr/share/doc/gnome-terminal/copyright
/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.xml
/usr/share/gnome-shell/search-providers/gnome-terminal-search-provider.ini
/usr/share/lintian/overrides/gnome-terminal
/usr/share/man/man1/gnome-terminal.1.gz
/usr/share/man/man1/gnome-terminal.wrapper.1.gz
/usr/share/menu/gnome-terminal

gnome-terminal现在是一个 python 脚本;在 3.7 版中做出了更改,因此可能与此有关。

我还没有看到其他应用程序具有这种类型的变化。

相关内容