Ok, I think I've fixed it. Please bear with me if the fix is not perfect
/ there's something wrong with it that I've missed, I'm no Python
developer nor I've ever developed for GNOME projects.

Here's the patch:

--- /usr/bin/gnome-terminal     2024-09-16 15:44:46.000000000 +0200
+++ gnome-terminal      2024-10-18 19:04:30.926428246 +0200
@@ -39,10 +39,8 @@
 
     def server_appeared(self, con, name, owner):
         # start gnome-terminal now
-         Gio.Subprocess.new(['/usr/bin/gnome-terminal.real',
-                             '--app-id', name] +
-                             self.args,
-                             Gio.SubprocessFlags.NONE)
+         self.args[1:1]=['--app-id', name]
+         Gio.Subprocess.new(self.args, Gio.SubprocessFlags.NONE)
 
     def spawn_terminal_server(self, name, cls):
         args = ['/usr/libexec/gnome-terminal-server',


The issue is with a superflous argument during the invocation of 
`gnome-terminal.real` (as Egmont Koblinger mentioned) *and* with how arguments 
are ordered before the invocation; self.args already contains 
`/usr/bin/gnome-terminal.real` (along with the list of arguments), so the fix 
is to *not* inject another `/usr/bin/gnome-terminal.real` + `--app-id=name` at 
the start of the argument list and rather inject just `--app-id=name` after the 
first element in self.args (hence after `/usr/bin/gnome-terminal.real`).

I haven't tested this extensively, but after the patch I can succesfully
start the server and invoke new instances passing `--class`.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2073881

Title:
  gnome-terminal stopped accepting arguments: # Failed to parse
  arguments: Too many arguments

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/2073881/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to