У меня была точно такая же проблема.
Случайное обновление с 3.16 до 4.9. После обновления при загрузке на новую версию показывало:
[FAILED] failed to start light display manager
Но предыдущая версия работала нормально.
У меня есть графическая карта NVIDIA GeForce GTX 750 Ti. Поэтому я очень подозреваю, что проблема связана с выделенной графической картой.
С этим подозрением я просто скачал новейшие драйвера NVIDIA с официальной страницы, установил их, и все заработало нормально. Вы можете сделать то же самое с драйверами AMD. Чтобы установить драйверы, мне пришлось установить новые заголовки :
.apt-get install linux-headers-$(uname -r)
Обычно вы не используете sed
для изменения строки, которая у вас есть(в соответствии с вашим комментарием)в переменной оболочки. По крайней мере, если все, что вы хотите сделать, это удалить и/или заменить суффикс строки.
Вместо этого
NAME=./y1563/y1563.xls
NAME=${NAME%.xls}.txt # remove.xls suffix, append.txt suffix
NAME=${NAME#./} # remove./ prefix (this may not be needed)
Эти(${variable%pattern}
и${variable#pattern}
)являются стандартными заменами переменных , которые удаляют строки суффиксов и префиксов из значения переменной.
Это также будет работать правильно, даже если значение $NAME
содержит встроенные символы новой строки. В именах файлов допускаются символы новой строки, но поскольку sed
является редактором, ориентированным на строку -, он не будет корректно обрабатывать такой ввод.