One process per window

Bug #1842610 reported by Mattias Andrée on 2019-09-04
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Terminator
Undecided
Unassigned

Bug Description

I did not enjoy having to kill all my terminator windows just because a the process hang when I started a new one. Please make it one process per window this does not happen. Moving terminals between windows can be done with IPC. This would also solve a bug where broadcast is across all windows rather than just the current window (although it does not solve the similar across-all-tabs bug) (or at least I see them as critical bugs).

Egmont Koblinger (egmont-gmail) wrote :

> Moving terminals between windows can be done with IPC.

I don't think it's possible to pass the necessary resources (especially the file descriptors corresponding to the terminal line) across processes.

Mattias Andrée (maandree) wrote :

Why would you not be able to pass terminal line file descriptors with SCM_RIGHTS?

Egmont Koblinger (egmont-gmail) wrote :

I have to admit I haven't really heard of SCM_RIGHTS before :-) Thanks for sharing this knowledge! (I'm wondering how portable it is...)

There's more to the story, e.g. passing the encryption key used for the scrollback buffer on disk, and tons of things regarding the visual representation (e.g. colors, font, scrollbar position...), and probably other issues that I haven't thought of yet.

Needs heavy design and implementation work in VTE, it's not something that Terminator could do in its own without VTE support. I don't think it's on our plate for VTE in the foreseeable future. Also, IMHO the proper approach would be to do the model/view split first (https://bugzilla.gnome.org/show_bug.cgi?id=103770), and this migration across processes on top of that.

Back to your original problem: As far as I understand, Terminal itself hung for you. Ideally this shouldn't happen. Instead of huge refactorings, it's probably much easier to track it down and fix (if you can reproduce).

Egmont Koblinger (egmont-gmail) wrote :

By the way, "terminator --no-dbus" can be used to spawn a new instance. You just can't move terminals between windows then.

Mattias Andrée (maandree) wrote :

Okay, thanks, I will use --no-dbus.

Unfortunately I cannot reproduce the error, it has not happened before (although I've only used a newer version of Terminator for a few weak).

It shouldn't be any problem with sending encryption keys on a local socket, other processes cannot open socket files in /proc/[pid]/fd/, and I don't think there is any other way for them to read the communication. SCM_CREDENTIALS in combination with readlink over /proc/[pid]/exe can be used for authenticate the process.

All Unix-like OSes should support SCM_RIGHTS and SCM_CREDENTIALS.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.