Вопрос или проблема
Недавно я обновил 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, что может привести к нежелательным изменениям в работе с другими графическими оболочками.
Таким образом, создание пользовательского файла рабочего стола обеспечивает гибкость и удобство в работе с системными настройками, позволяя сохранять текущую рабочую среду и не вмешиваться в более глобальные системные настройки, не влияя на другие компоненты вашего рабочего окружения.