Проблема с GNOME Terminal 3.54.0

Вопрос или проблема

После обновления Raspberry Pi 5 (8 ГБ) с Ubuntu 24.04 до 24.10 GNOME Terminal 3.54.0 выдает ошибку на команде

rquint@Mrs-Lovett:~$ gnome-terminal --class=SageTerminal -- /home/rquint/Sage/sage-10.4/sage
# Не удалось разобрать аргументы: Слишком много аргументов

Поскольку я хочу использовать опцию класса, я использую X11 в качестве своей оконной системы. В 24.04 с GNOME Terminal 3.52.0 эта команда работает. Если я использую

rquint@Mrs-Lovett:~$ gnome-terminal -- /home/rquint/Sage/sage-10.4/sage 

команда работает, но я хочу использовать опцию класса, чтобы индикатор точка в Dash прикреплялся к правильному значку.

Я нашел отчет об ошибке по этому поводу на Launchpad, который также упоминается в комментариях к последнему коммиту, который это сломал; однако эта ошибка возникает из-за того, как Ubuntu вызывает исполняемый файл gnome-terminal (gnome-terminal на самом деле является Python-скриптом, который вызывает gnome-terminal.real), поэтому проблема определенно на стороне Ubuntu.

Я пытался поработать с Python-скриптом, чтобы увидеть, могу ли я это исправить, но не нашел лучшего решения, чем полностью обойти разбор аргументов командной строки (по крайней мере, в то время, которое я был готов потратить на исправление скрипта – если мне захочется это сделать, я посмотрю на это снова), однако на данный момент полное игнорирование обертки скрипта работает:

gnome-terminal.real --class=Foo -- /usr/bin/sh

не выдает жалоб и запускает новый экземпляр терминала, выполняющий sh.

Пока это не будет исправлено, вы можете создать псевдоним gnome-terminal для gnome-terminal.real:

alias gnome-terminal=gnome-terminal.real

Ответ или решение

Проблема с GNOME Terminal 3.54.0 после обновления Raspberry Pi 5 с Ubuntu 24.04 до 24.10

После обновления операционной системы с Ubuntu 24.04 до 24.10 пользователи, работающие с GNOME Terminal версии 3.54.0, столкнулись с проблемой при использовании команды:

gnome-terminal --class=SageTerminal -- /home/rquint/Sage/sage-10.4/sage

Ошибка, которую выводит система, следующая:

Failed to parse arguments: Too many arguments

Суть проблемы

Ваша задача заключается в том, чтобы использовать опцию --class, обеспечивая правильное подключение индикатора в Dash к соответствующему значку. В предыдущей версии (3.52.0) данный вызов работал без проблем, и это создание нового терминала с указанным классом было возможным. Однако после обновления появилась проблема с интерпретацией аргументов.

Как вы заметили, когда вы убираете опцию --class, команда работает корректно:

gnome-terminal -- /home/rquint/Sage/sage-10.4/sage

Причина проблемы

На основании вашего исследования и находок в системе отчетов об ошибках, можно сказать, что данная проблема может быть связана с тем, как Ubuntu обрабатывает запуск исполняемого файла gnome-terminal. Фактически, gnome-terminal представляет собой скрипт на Python, который вызывает другой исполняемый файл gnome-terminal.real. Проблема возникает из-за неправильной передачи аргументов в этом слое абстракции.

Обходные пути

  1. Использование gnome-terminal.real:

Ошибка может быть обойдена путем непосредственного запуска gnome-terminal.real с нужными параметрами, минуя оболочку Python. Пример команды:

gnome-terminal.real --class=SageTerminal -- /home/rquint/Sage/sage-10.4/sage
  1. Создание алиаса:

Если вам не нравится многократное использование длинной команды, можно создать алиас. Для этого откройте файл .bashrc (или аналогичный файл конфигурации вашего шелла) и добавьте следующую строку:

alias gnome-terminal=gnome-terminal.real

После этого необходимо перезагрузить терминал или выполнить source ~/.bashrc, чтобы изменения вступили в силу. Теперь вы сможете использовать команду gnome-terminal как обычно, и она будет перенаправлять на gnome-terminal.real, что устранит текущую проблему с аргументами.

Заключение

Проблемы, возникающие с обновлением программного обеспечения и компонентами системы, могут негативно сказаться на вашем рабочем процессе. В данном случае знание обходных путей, таких как запуск gnome-terminal.real напрямую или создание алиаса, может значительно упростить вашу работу до тех пор, пока не будет выпущено обновление, устраняющее существующую ошибку в gnome-terminal на уровне Ubuntu.

Рекомендуется также следить за обновлениями системного программного обеспечения и возможными исправлениями данной проблемы.

Оцените материал
Добавить комментарий

Капча загружается...