0

Working on this answer, I found out that the output of ps commands has quite changed in 15.04.

A few examples

in 14.04, the output of ps -e shows on gnome-terminal:

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

while in 15.04:

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

(mind the 15 characters)

Curious to the long version, I ran ps -e ww:

In 14.04:

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

while in in 15.04

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

looking for the application, corresponding to the pid:

In 14.04:

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

while in 15.04:

$ ps -p 24959 -o comm=

again the 15 characters (as expected):

gnome-terminal-

In the linked question, I solved it by deriving the application name from the WM_CLASS, as mentioned in the output of the xprop command. I would prefer however to use the "old fashioned" ps -p 19006 -o comm=, which is more efficient.

These differences have quite some consequences for usage in scripts. My question is: does anyone have information on what is the reasoning behind this or what it is caused by?

1 Answer 1

2

It seems it has to do with changes made to gnome-terminal. However, scanning the changelogs and news I couldn't find anything specific.

As you can see here in the file list of the 14.04 gnome-terminal package, the /usr/lib/ directory does not even exist.

/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

In 15.04, the /usr/lib directory is included.

/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 is a python script now; the changes were made in version 3.7 so it may have something to do with that.

I have not seen other applications that share this type of change.

4
  • This is helping a lot. I was so fixated on what happened to the output of gnome-terminal that I forgot to see other applications look as usual. The cause most likely is not what happened to ps, but what happened to gnome-terminal. Jul 25, 2015 at 21:35
  • gnome-terminal is a python script? Jul 25, 2015 at 21:50
  • @JacobVlijm yeah, /usr/bin/gnome-terminal is now a python script and it calls gnome-terminal-server as a subprocess on line 49
    – mchid
    Jul 25, 2015 at 21:53
  • That must be it, nice research!! Thanks a lot! Jul 25, 2015 at 21:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .