Обновление убило lightdm и xfce4 (Ubuntu 16.04.4)

Проблема заключалась бы в том, что (подчеркивание мое, из руководства bash):

После того, как строка декодируется, она расширяется путем расширения параметров, замены команд, арифметического расширения и удаления цитат, при условии значение опции оболочки подсказки (см. Bash Builtins).

Таким образом, \[ в вашей функции выводится слишком поздно, чтобы сообщить Bash, что управляющие коды следуют. Вам нужно установить PS1 с выходом функции, включенной для этого, для работы. Я бы предложил использовать PROMPT_COMMAND таким образом:

PROMPT_COMMAND='PS1="${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\](`batPer`)-\A:\[\033[01;34m\]\w\[\033[00m\]\$ "'

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

Сторона примечания: при этом вам не нужно echo -e выводить. Раньше вам нужно было для цвета, так как Bash не интерпретировал его после расширения строки PS1. Теперь Bash также расшифрует управляющие коды.

5
задан 1 April 2018 в 01:41

3 ответа

Через четыре дня я, наконец, нашел решение этого, так что здесь на всякий случай кто-то еще сталкивается с этой проблемой.

Оказывается, я был прав насчет проблемы с видеодрайвером. Когда я вырывался на выходе из journalctl, я заметил, что возникла проблема с сервисом gpu-manager.

update-alternatives: error: no alternatives for x86_64-linux-gnu_gfxcore_conf

Что привело к этой ошибке:

Failed to start Detect the available GPUs and deal with any system changes.

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

Я нашел решение в этой теме. Мне нужно было установить пакет HWE для Xserver:

apt-get install xserver-xorg-hwe-16.04

После обновления я смог перезагрузиться, и lightdm запустился в графический интерфейс, как обычно.

Надеюсь, что это поможет кому-то другому.

2
ответ дан 22 May 2018 в 11:41
  • 1
    Спасибо! Мне также пришлось перейти на nvidia-340 (с 304). См. Вывод из ubuntu-drivers devices. – Martin Carpenter 5 April 2018 в 10:09

Через четыре дня я, наконец, нашел решение этого, так что здесь на всякий случай кто-то еще сталкивается с этой проблемой.

Оказывается, я был прав насчет проблемы с видеодрайвером. Когда я вырывался на выходе из journalctl, я заметил, что возникла проблема с сервисом gpu-manager.

update-alternatives: error: no alternatives for x86_64-linux-gnu_gfxcore_conf

Что привело к этой ошибке:

Failed to start Detect the available GPUs and deal with any system changes.

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

Я нашел решение в этой теме. Мне нужно было установить пакет HWE для Xserver:

apt-get install xserver-xorg-hwe-16.04

После обновления я смог перезагрузиться, и lightdm запустился в графический интерфейс, как обычно.

Надеюсь, что это поможет кому-то другому.

2
ответ дан 17 July 2018 в 17:45

Через четыре дня я, наконец, нашел решение этого, так что здесь на всякий случай кто-то еще сталкивается с этой проблемой.

Оказывается, я был прав насчет проблемы с видеодрайвером. Когда я вырывался на выходе из journalctl, я заметил, что возникла проблема с сервисом gpu-manager.

update-alternatives: error: no alternatives for x86_64-linux-gnu_gfxcore_conf

Что привело к этой ошибке:

Failed to start Detect the available GPUs and deal with any system changes.

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

Я нашел решение в этой теме. Мне нужно было установить пакет HWE для Xserver:

apt-get install xserver-xorg-hwe-16.04

После обновления я смог перезагрузиться, и lightdm запустился в графический интерфейс, как обычно.

Надеюсь, что это поможет кому-то другому.

2
ответ дан 23 July 2018 в 18:36

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

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