Как я могу отладить, почему gnome-settings-daemon-localeexec не запускается на входе в систему?

Я использую Ubuntu Gnome 14.04, и gnome-settings-daemon-localeexec не запускается на входе в систему. Как я могу отладить, почему это происходит?

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

Я - опытный пользователь Linux, но я не знаю, как процесс запуска оболочки гнома работает и где запустить.

Править:

Они могли бы быть связанными вопросами:

РЕДАКТИРОВАНИЕ 2:

Я открыл отчет об ошибках на панели запуска, позволяет, видят, помогает ли это: gnome-settings-daemon-localeexec не запускается на входе в систему

РЕДАКТИРОВАНИЕ 3:

Найденный этими другими потоками, которые могли бы помочь:

4
задан 13 April 2017 в 15:24

1 ответ

Отладка является процессом, таким образом, я опишу процесс, который я использовал бы для принятий за решение такой проблемы. Вопросы:

  • это работает на новую учетную запись пользователя? (т.е. действительно ли это - универсальная проблема с системой, или с одной учетной записью?)
  • как это, как предполагается, запускается?
  • это на самом деле запускает?
  • если так, это отказывает или в других отношениях провальное? (Это, возможно, более вероятно, чем он не выполняемый во-первых, и результаты подобны),

Если это - проблема с учетной записью (пользовательская конфигурация), и это работает с недавно созданной учетной записью, то можно разыскать проблему путем копирования файлов конфигурации от поврежденной учетной записи до рабочей учетной записи и тестирования входа в систему, пока это не повреждается. (Или, альтернативно, запустите с поврежденной учетной записи и удалите файлы и каталоги, пока она не будет работать.) Приближаются к этому, поскольку итеративный процесс - начинает, копирует набор каталога/файла, сделал он повреждает учетную запись да/нет, устраняет половину набора, goto начинаются. Это может быть трудоемким, таким образом, обычно люди просто сбросят учетную запись и не потрудятся разыскивать то, что повредилось.

Если Вы хотите разыскать источник программного обеспечения проблемы, сначала посмотрите в ~/.cache/gdm/session.log и/var/log/syslog, чтобы видеть, существуют ли какие-либо очевидные ошибки, связанные с Вашей проблемой. Затем используйте источник:

$ apt-file search gnome-settings-daemon-localeexec
gnome-settings-daemon: /usr/lib/gnome-settings-daemon/gnome-settings-daemon-localeexec
$ apt-get source gnome-settings-daemon
$ cd gnome-settings-daemon-*
$ grep -r gnome-settings-daemon-localeexec
...
data/gnome-settings-daemon.desktop.in.in:Exec=@libexecdir@/gnome-settings-daemon-localeexec
$ cat data/gnome-settings-daemon.desktop.in.in
[Desktop Entry]
Type=Application
_Name=GNOME Settings Daemon
Exec=@libexecdir@/gnome-settings-daemon-localeexec
OnlyShowIn=GNOME;
NoDisplay=true
X-GNOME-Autostart-Phase=Initialization
X-GNOME-Autostart-Notify=true
X-GNOME-AutoRestart=true

Таким образом, теперь мы знаем, что gnome-settings-daemon-localeexec выполняется из .desktop файла, названного gnome-settings-daemon.desktop. Где это установлено?

$ locate gnome-settings-daemon.desktop
/usr/share/gnome/autostart/gnome-settings-daemon.desktop
$ file /usr/lib/gnome-settings-daemon/gnome-settings-daemon-localeexec
/usr/lib/gnome-settings-daemon/gnome-settings-daemon-localeexec: POSIX shell script, ASCII text executable
$ vi /usr/lib/gnome-settings-daemon/gnome-settings-daemon-localeexec
# it is just a wrapper around /usr/lib/gnome-settings-daemon/gnome-settings-daemon

Попытайтесь выполнить его, чтобы видеть, существует ли проблема, выполняющая фактического демона (отказывающий и т.д.):

$ /usr/lib/gnome-settings-daemon/gnome-settings-daemon-localeexec

Можно также попробовать:

$ gnome-settings-daemon --debug

Автоматический запуск выполняет? Поиск "гнома отладки автоматически запускает" результаты на этой странице, которая предлагает:

Enable=false

Чтобы позволить отладить, установите отлаживать/Разрешать ключ к "истинному" в/gdm/custom.conf файле и перезапустите GDM.

Так попытка, что, и затем проверяют/var/log/syslog. Другая альтернатива здесь должна изменить/usr/lib/gnome-settings-daemon/gnome-settings-daemon-localeexec и добавить операторы отладки. Это - просто сценарий оболочки, поэтому добавьте что-то как echo "localeexec date $(date) env $(env)" > /tmp/log. Затем войдите в систему и проверьте/tmp/log.

(При отладке любой данной программы обычно существует способ добавить операторы печати к "надлежащему" файлу журнала, но открытие собственного файла журнала часто легче и более быстро, поскольку это разделяет отладку и не требует понимания нескольких слоев language/system/loglevel/filtering, которые существуют для любой данной программы.)

Вход и отладка до сих пор, вероятно, выставят проблему. Для более трудных ошибок, которые лежат в скомпилированных двоичных файлах, необходимо будет загрузить источник apt-get source, измените его, чтобы добавить некоторый код отладки (операторы печати), скомпилировать измененный источник и установить его и затем протестировать его. Большая вещь здесь состоит в том что целое apt/dpkg система разработана для создания этого легким, быстрым и доступным только с несколькими командами. Отладчик может быть полезен для исследования сложного внутреннего состояния программы, но использование операторов печати является более быстрым процессом, который работает через все языки и системы, так, чтобы обычно был мой начальный подход.

Править:

Как сводка комментариев, я заменил строку в/usr/lib/gnome-settings-daemon/gnome-settings-daemon-localeexec:

exec /usr/lib/gnome-settings-daemon/gnome-settings-daemon

с

nohup /usr/lib/gnome-settings-daemon/gnome-settings-daemon --debug >/tmp/gnome-settings-daemon.log 2>&1 &

для получения вывода процесса

4
ответ дан 1 December 2019 в 09:50

Другие вопросы по тегам:

Похожие вопросы: