Запуск gnome-control-center поддерживается только в GNOME и Unity, завершение.

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

Недавно я обновил Ubuntu с версии 22.04 до 24, и с тех пор у меня возникли проблемы при запуске настроек системы.

Если я пытаюсь запустить их из даша, ничего не происходит, и если я выполняю команду:

gnome-control-center

Я получаю сообщение:

Running gnome-control-center is only supported under GNOME and Unity, exiting

Я проверил значения переменных окружения XDG_CURRENT_DESKTOP и DESKTOP_SESSION, и обе они имеют значение “ubuntu”, поэтому я попробовал выполнить команду:

XDG_CURRENT_DESKTOP=GNOME gnome-control-center

и это сработало.

Я попытался сделать это изменение постоянным, добавив следующее в файл /home/.profile:

if [[ "$DESKTOP_SESSION" == "ubuntu" ]]; then
    export XDG_CURRENT_DESKTOP=GNOME
fi

но это оказалось неэффективным, значения переменных окружения остались прежними, и я не могу открыть настройки из даша.

Этот ответ точно описывает мою проблему, но решение, которое сработало для них, – это переключение на gdm3, что, вероятно, вызовет проблемы при использовании KDE. Есть ли другой вариант?

Я думаю, это из-за того, что gnome-control-center отказывается запускаться, если переменная окружения XDG_CURRENT_DESKTOP и ваша сессия не соответствуют этому, и так как это графический запуск, .bashrc или .profile не работают.

Давайте создадим кастомный файл рабочего стола, который устанавливает XDG_CURRENT_DESKTOP=GNOME, и вы сможете нажимать на него каждый раз, когда хотите запустить gnome-control-center

сначала создаем наш файл, например, ~/.local/share/applications/gnome-control-center-override.desktop

вставьте следующее:

[Desktop Entry]
Name=GNOME Settings
Comment=Launch GNOME Control Center under KDE
Icon=preferences-system
Exec=env XDG_CURRENT_DESKTOP=GNOME gnome-control-center
Terminal=false
Type=Application
Categories=GNOME;GTK;Settings;X-GNOME-Settings-Panel;
StartupNotify=true

Выйдите и войдите снова, теперь в меню приложений или даше у вас будет GNOME Settings, и когда вы нажмете на него, выполнится env XDG_CURRENT_DESKTOP=GNOME gnome-control-center

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

Обновление операционной системы может иногда привести к неожиданным проблемам, особенно когда изменяется поведение определенного программного обеспечения или конфигурации. В вашем случае, после обновления с Ubuntu 22.04 до 24.04, возникли трудности с запуском системных настроек, что сопровождается сообщением об ошибке: “Running gnome-control-center is only supported under GNOME and Unity, exiting”. Давайте разберемся в причинах этой проблемы, приведем возможные решения и рассмотрим их реализацию.

Теория

GNOME Control Center является важной частью экосистемы GNOME, предоставляя пользователям доступ к системным настройкам через графический интерфейс. При запуске gnome-control-center проверяется значение переменной окружения XDG_CURRENT_DESKTOP для определения текущей рабочей среды рабочего стола. Данная проверка необходима для того, чтобы гарантировать, что приложение работает в поддерживаемом окружении, таком как GNOME или Unity.

В вашем случае, переменные окружения XDG_CURRENT_DESKTOP и DESKTOP_SESSION имеют значение “ubuntu”. Это может вызвать проблемы в случае, если GNOME Control Center ожидает видеть “GNOME” или “Unity” в качестве значения переменной XDG_CURRENT_DESKTOP. Хотя временное задание переменной через команду XDG_CURRENT_DESKTOP=GNOME gnome-control-center решает проблему, необходимо найти более перманентное и удобное решение.

Пример

Попытка установить переменную XDG_CURRENT_DESKTOP через файл .profile была неуспешной, поскольку это решение работает только для команд, запускаемых из терминала, и не влияет на запуск приложений из графического интерфейса. При изменениях системных настроек подобное обновление переменной окружения может не применяться.

Другим предложенным решением было создание кастомного файла рабочего стола, который запускает gnome-control-center с необходимым значением переменной окружения для успешного запуска. Это решение удобно и позволяет вам без проблем использовать GNOME Settings наряду с другими средами рабочего стола, такими как KDE.

Применение

Создайте новый файл рабочего стола в каталоге ~/.local/share/applications/ с именем gnome-control-center-override.desktop. Содержимое файла может выглядеть следующим образом:

[Desktop Entry]
Name=GNOME Settings
Comment=Запуск GNOME Control Center под KDE
Icon=preferences-system
Exec=env XDG_CURRENT_DESKTOP=GNOME gnome-control-center
Terminal=false
Type=Application
Categories=GNOME;GTK;Settings;X-GNOME-Settings-Panel;
StartupNotify=true

Этот файл создает пункт меню, который будет отображаться в вашем приложении управления рабочим столом или в рамках рабочего окружения. При щелчке на “GNOME Settings” будет запущена команда gnome-control-center с корректной установкой переменной окружения XDG_CURRENT_DESKTOP, позволяющей успешно открыть системные настройки.

Перезайдите в систему, чтобы убедиться, что новая иконка появилась в меню. Это решение не только сохраняет интеграцию GNOME Control Center в вашей системе, но и позволяет перейти на KDE без необходимости переключаться на gdm3, что может привести к нежелательным изменениям в работе с другими графическими оболочками.

Таким образом, создание пользовательского файла рабочего стола обеспечивает гибкость и удобство в работе с системными настройками, позволяя сохранять текущую рабочую среду и не вмешиваться в более глобальные системные настройки, не влияя на другие компоненты вашего рабочего окружения.

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

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