Устроители Ubuntu пакета gnome-terminal заметили эту проблему и создали сценарий оболочки (в пакете Ubuntu gnome-terminal-3.14.2-0ubuntu3) для повторного включения опции --disable-factory; однако, сценарий оболочки не работает!
Из журнала изменений http://changelogs.ubuntu.com/changelogs/pool/main/g/gnome-terminal/gnome-terminal_3.14.2-0ubuntu3/ changelog:
gnome-terminal (3.14.2-0ubuntu3) яркий; urgency = medium debian / gnome-terminal: добавьте скрипт-оболочку для запуска gnome-терминала с другим идентификатором приложения, когда пользователь передает параметр, проигнорированный в настоящее время --disable-factory. Это должно восстановить совместимость со старыми пусковыми установками для пользователей, которые обновляют. [...]Я не могу перемещаться по «Launchpad» Ubuntu (так много для open source), но сценарий оболочки можно найти в http://changelogs.ubuntu.com/
Ошибка в том, что скрипт gnome-terminal.wrap ждет, когда он будет ждать gnome-terminal.wrap.
Ошибка в том, что скрипт gnome-terminal.wrap о неправильном дочернем процессе; он должен ждать на терминальном сервере, а не на терминальном клиенте. Исправление состоит в том, чтобы изменить два метода server_appeared и spawn_terminal_server следующим образом:
def server_appeared(self, con, name, owner):
# start gnome-terminal now
gt = Gio.Subprocess.new(['/usr/bin/gnome-terminal.real',
'--app-id', name] +
self.args,
Gio.SubprocessFlags.NONE)
# removed a line here: gt.wait_async(...)
def spawn_terminal_server(self, name):
ts = Gio.Subprocess.new(['/usr/lib/gnome-terminal/gnome-terminal-server',
'--app-id',
name],
Gio.SubprocessFlags.NONE)
ts.wait_async(None, self.exit_loop, ts)
Вы можете скачать фиксированный файл с: https://gist.github.com/ecatmur/00893506a23e828c6688.
Я уведомил сопровождающего пакета, поэтому, надеюсь, он должен быть исправлен довольно скоро.
Еще один интересный факт: gnome-terminal может быть построен с альтернативой клиент под названием gterminal, у которого есть опция --wait, которая, похоже, делает именно то, что вы хотите. Однако, к сожалению, Ubuntu не создает и не устанавливает его в своем пакете gnome-terminal.