- Почему Ubuntu не входит в систему
- Почему не входит в систему Ubuntu
- 1. Нет места на диске
- 2. Проблемы с обновлением
- 3. Неверные права на
- 4. Неверные права на /tmp
- 5. Проблема с проприетарными драйверами
- 6. Перезапуск менеджера входа
- Выводы
- Ошибка Ubuntu не видит сеть Windows
- Почему Ubuntu не видит сеть Windows или Samba?
- Настойка сервера Samba
- 1. Включение протокола SMB1
- 2. Настройка имени хоста
- 3. Установка Avahi
- 4. Установка WSDD
- Настройка Windows
- 1. Общий доступ в Windows
- 2. Включение SMB1 в Windows
- Настройка клиента
- 1. Установить Samba
- 2. Рабочая группа
- 3. Версия протокола
- 4. Правильный порядок разрешения имён
- 5. Не тот интерфейс
- 6. Отладка
- 7. Проблема в GVFS
- 8. Подключение напрямую
- Выводы
Почему Ubuntu не входит в систему
Многие пользователи Linux сталкивались с проблемой, когда после ввода пароля вместо загрузки графического окружения и рабочего стола появляется чёрный экран, а потом снова запрос ввода пароля. Такая ситуация называется Login loop или ещё её можно описать как ошибка входа в систему. Часто она вызвана неверно выполненным обновлением или экспериментами с системой, хотя у неё могут быть и другие причины.
В этой статье мы рассмотрим основные причины возникновения такой проблемы, а также несколько способов её исправить. Но сначала давайте разберемся где искать сообщения об ошибках.
Почему не входит в систему Ubuntu
Если ошибка возникла во время работы компьютера, возможно решить её поможет перезагрузка. Если же нет, при возникновении любой серьезной ошибки сначала следует понять почему она произошла. Конечно, вариант, когда вы применяете различные варианты решения и если один из них помог, значит там и была ошибка тоже имеет право на существование, но куда быстрее выяснить где же ошибка и исправить её. Ошибки, связанные с работой X сервера записываются в файл /var/log/Xorg.0.log.
Но сначала надо попасть в терминал. Для этого на экране входа нажмите сочетание клавиш Ctrl+Alt+F2, затем введите логин и пароль:
Перед вами откроется командная строка в которую уже можно вводить команды терминала. Теперь вы можете просмотреть лог с ошибками:
Если здесь этого файла нет, что можно попытаться найти его по такому пути:
Все строки с ошибками помечены буквами EE. Опираясь на сообщения, которые есть в файле, вы сможете подобрать верный способ решения проблемы и быстро всё исправить.
1. Нет места на диске
Если в домашнем каталоге недостаточно места для создания временных файлов, необходимых для запуска окружения, с авторизацией могут возникнуть проблемы. Для исправления этой ошибки просто освободите место на диске. Это ваш случай если в логах вы видите сообщение об ошибке No space left on device. и при выполнении такой команды на домашнем или корневом разделе нет больше места:
2. Проблемы с обновлением
Если вы раньше выполняли обновление и оно прошло неудачно, попробуйте его завершить. Для этого выполните такие команды:
sudo apt update
sudo apt -y full-upgrade
Затем очистите систему от лишних пакетов:
sudo apt -y autoremove
sudo apt -y clean
3. Неверные права на
Убедитесь, что права на файл
/.Xauthority верные. Владельцем этого файла должен быть пользователь, от имени которого вы пытаетесь войти в систему и у этого владельца должны быть все права на файл. В старых дистрибутивах этот файл находился в домашней папке:
В современной Ubuntu он находится по пути /run/user/id_пользователя/gdm/Xauthority и создается он уже после успешного входа в систему:
ls -l /run/имя_пользователя/id_пользователя/gdm/Xauthority
Во втором случае проблема с правами вряд-ли возникнет, но в первом она вполне может быть. Для её исправления выполните:
sudo chown имя_пользователя:имя_пользователя
4. Неверные права на /tmp
Папка /tmp предназначена для записи временных файлов и поэтому она должна быть доступна всем пользователям в системе как для чтения, так и для записи. Проверьте какие сейчас установлены права на эту папку:
ls -l / | grep /tmp
Затем установите правильные права если надо:
sudo chmod 1777 /tmp
5. Проблема с проприетарными драйверами
Ещё одной причиной проблем может стать проприетарный драйвер видеокарты. Возможно он сломался после обновления или каких-либо действий с ядром. Его можно обновить до новой версии, переустановить или удалить вовсе. Для удаления драйвера Nvidia используйте команду:
sudo apt remove nvidia-*
Затем очистить конфигурацию Xorg:
нужно переустановить свободный драйвер Nouveau:
sudo apt install —reinstall xserver-xorg-video-nouveau
Подробнее про удаление видео драйвера Nvidia читайте тут. Про установку драйвера Nvidia — здесь.
6. Перезапуск менеджера входа
После того, как вы проверили все методы надо вернуться в графический режим и попробовать войти в систему снова. Для этого используйте сочетание клавиш Ctrl+Alt+F1 или Ctrl+Alt+F7 в старых системах. Также вы можете полностью перезагрузить компьютер или только менеджер входа:
sudo systemctl restart display-manager
Выводы
В этой небольшой статье мы разобрались что делать если у вас не получается войти в систему Ubuntu после ввода пароля и менеджер входа постоянно просит пароль. Ситуация довольно сложная, но я надеюсь, что предложенные варианты решения помогут вам всё исправить. Знаете другие варианты исправления проблемы? Пишите в комментариях!
Источник
Ошибка Ubuntu не видит сеть Windows
Вы, наверное, не раз сталкивались с проблемой, что Ubuntu не видит сеть Windows или Windows не видит сетевую шару Linux. Такая проблема характерна для многих дистрибутивов с окружением Gnome. Ситуация довольно неоднозначная, раньше причиной этому был баг в GVFS, потом появилось ещё несколько осложняющих дело факторов.
В этой статье мы рассмотрим что делать если Ubuntu не видит шары Windows или Samba, как к ним всё таки подключится и можно ли решить проблему, сделать так чтобы Nautilus и Dolphin начали всё таки видеть сетевые ресурсы.
Почему Ubuntu не видит сеть Windows или Samba?
Нужно разобраться почему Ubuntu не может увидеть сеть Windows. Начиная с Windows 10 в компании Microsoft решили отказаться от старого протокола SMB1 и использовать только SMB2 и SMB3. Но в этих протоколах нет сетевого обнаружения. Для сетевого обнаружения в Windows теперь используется новый сервис WS-Discovery. В Nautilus для отображения сетевых ресурсов используется либо avahi либо протокол SMB1. Поэтому увидеть шару Windows не получится, не включив обратно устаревший протокол в реестре. Windows по умолчанию шары Samba тоже видеть не будет, потому что новый WS-Discovery в Samba не поддерживается. Ещё в 2015 году были предложены патчи для Samba добавляющие эту функциональность, но разработчики решили, что оно им не нужно. Поэтому если вы хотите чтобы Windows видела Samba, нужно отдельно установить сервис WSDD.
Но это ещё не всё. Начиная с версии Samba 4.11 разработчики решили, что они ничем не хуже Microsoft и отключили по умолчанию поддержку протокола SMB1. Теперь Nautils и Dolphin перестали видеть не только Windows шары, но и Linux тоже. Решается проблема либо установкой на Samba сервер Avahi, либо включением поддержки старого протокола SMB1 на сервере Samba.
Настойка сервера Samba
1. Включение протокола SMB1
Для того чтобы активировать протокол SMB1 в Samba необходимо добавить такие строчки в /etc/samba/smb.conf в секцию global:
sudo vi /etc/samba/smb.conf
server min protocol = NT1
client min protocol = NT1
min protocol = NT1
После этого надо перезапустить Samba.
sudo systemctl restart smbd
sudo systemctl restart nmbd
Хочу обратить ваше внимание, что у меня всё заработало только после того как я перезагрузил и сервер и клиент. Видимо что-то где-то кэшируется.
2. Настройка имени хоста
Имя хоста вашего компьютера, выводимое командой hostname должно совпадать со значением в файле /etc/hosts и со значением параметра netbios name в файле /etc/samba/smb.conf. Например:
Регистр букв не имеет значения.
3. Установка Avahi
Если предыдущий способ не поможет, то установка Avahi должна помочь. Samba не будет отображаться в сетях Windows, но зато появится в сетевом окружении в Nautilus. Для установки Avahi выполните:
sudo apt install avahi-daemon avahi-utils
После этого сервис стоит запустить и добавить в автозагрузку:
sudo systemctl enable avahi-daemon
sudo systemctl start avahi-daemon
Проверить доступные сервисы можно командой:
Среди них должна быть ваша шара, обозначенная как Microsoft Windows Network local.
4. Установка WSDD
Сервис WSDD нужен для того чтобы вашу шару было видно из Windows. Можно использовать сервис wsdd2 из этого репозитория. Его надо собрать из исходников, но в этом нет ничего сложного. Сначала склонируйте репозиторий:
git clone https://github.com/Andy2244/wsdd2.git
Затем перейдите в папку с проектом:
Выполните make для сборки:
Затем установите программу, она только скопирует исполняемый файл и службу systemd в нужные директории:
sudo make install
Осталось запустить службу:
sudo systemctl daemon-reload
sudo systemctl enable —now wsdd2
Теперь Windows сможет видеть ваш сервер Samba. Таким образом если всё сделать правильно, то все всех будут видеть.
Настройка Windows
1. Общий доступ в Windows
Убедитесь, что в Windows общий доступ был включён. Если общий доступ отключен, то вы не сможете никак получить доступ к ресурсам. Откройте проводник и перейдите в пункт Сеть. Если сетевой доступ отключён, то система выдаст соответствующее предупреждение:
Кликните по нему чтобы включить общий доступ, затем выберите Включить сетевое обнаружение и общий доступ к файлам.
После этого система ещё раз спросит надо ли разрешить доступ для всех общественных сетей. Ответьте утвердительно:
После этого вы сможете получить доступ к общим ресурсам этого компьютера.
2. Включение SMB1 в Windows
Для того чтобы включить поддержку протокола SMB1 в Windows 10 откройте поиск и наберите Включение компонентов. Затем откройте утилиту Включение и выключение компонентов Windows:
Дальше найдите пункт SMB1.0 CIFS File Sharing Support и установите напротив него галочку:
Затем необходимо перезапустить компьютер:
После этого Ubuntu начнёт видеть вашу шару Windows и вы сможете к ней подключится.
Настройка клиента
Исходя из выше перечисленного, клиент скорее всего не виноват, но можно попробовать его настроить чтобы быть уверенным точно. Как я уже написал выше Nautilus для подключения и просмотра общих папок Windows и Samba использует виртуальную файловую систему gvfs. А та, в свою очередь использует библиотеку libsmbclient для получения необходимых данных. Поэтому мы можем попытаться исправить ситуацию переопределив некоторые параметры в /etc/samba/smb.conf. Но работает это далеко не всегда.
1. Установить Samba
Если файловый сервер Samba у вас не установлен, то его надо установить для того чтобы был создан файл /etc/samba/smb.conf с параметрами по умолчанию. Они потом будут использоваться библиотекой libsmbclient и самой утилитой smbclient, которую вы можете применять для тестирования. Для установки выполните:
sudo apt install samba
Проверьте конфигурационный файл Samba на ошибки с помощью такой команды:
2. Рабочая группа
По умолчанию используется рабочая группа WORKGROUP. Убедитесь, что ваша рабочая группа имеет именно это имя, также убедитесь, что в /etc/samba/smb.conf задано правильное имя рабочей группы в параметре workgroup:
sudo vi /etc/samba/smb.conf
3. Версия протокола
В современных системах Windows для общего доступа к папкам используется файловая система CIFS, использующая современные версии протоколов SMB2 и SMB3. Эти протоколы не поддерживают обзор доступных общих папок так, как это ожидает получить Nautilus. Для того чтобы всё работало надо использовать старый протокол NT1. Чтобы его включить добавьте параметр client max protocol после параметра workgroup:
client max protocol = NT1
После этого сохраните изменения и перезагрузите компьютер и проверьте.
4. Правильный порядок разрешения имён
Неверный порядок разрешения сетевых имен тоже может стать проблемой. Чтобы исправить его найдите в smb.conf параметр и приведите его к такому виду:
name resolve order = bcast lmhosts host wins
Здесь первым используется bcast, широковещательные сообщения, которые рассылаются по вашей локальной сети и ищут компьютеры с общими папками.
5. Не тот интерфейс
Если в вашем компьютере несколько сетевых интерфейсов, возможно smbclient пытается использовать не тот интерфейс. Чтобы посмотреть список интерфейсов используйте команду:
Затем найдите в /etc/samba/smb.conf параметр interface и замените в его значении eth0 на имя вашего интерфейса, который обеспечивает связь с нужной локальной сетью. Например на enp0s8:
interfaces = 127.0.0.0/8 enp0s8
После этого надо перезапустить службы Samba:
sudo systemctl restart smbd
sudo systemctl restart nmbd
6. Отладка
Если сеть Windows всё ещё не работает, вы можете попытаться отлаживать GVFS чтобы понять где именно возникает проблема и в чём её суть. Для этого надо завершить текущий сервер GVFS и запустить свой в терминале с включённой опцией отладки. Для этого выполните:
pkill gvfs; pkill nautilus
GVFS_DEBUG=all GVFS_SMB_DEBUG=10 $(find /usr/lib* -name gvfsd 2>/dev/null) —replace 2>&1 | tee gvfsd.log
Затем откройте Nautils и войдите в сетевое окружение, сеть Windows. При этом в терминале будут выводится сообщения об ошибках работы службы. Вы можете использовать эти сообщения чтобы искать информацию в Google или попросить помощи на форумах.
7. Проблема в GVFS
Баг в GVFS, о котором я писал выше наблюдался для Samba версии 4.8 и ниже. Если сервер поддерживает протокол более высокого уровня, то клиент пытается использовать этот протокол, например SMB2 или SMB3, но на этих протоколах не работает отображение доступных ресурсов. Если у вас именно эта проблема, то для полного решения придется ждать обновления или использовать обходное решение описанное ниже.
8. Подключение напрямую
Даже если у вас не работает обнаружение сетевых ресурсов Windows, вы все ещё можете подключится к нужному компьютеру и получить с него файлы. Откройте пункт Другие места на левой панели Nautilus. Внизу окна вы увидите надпись Подключится к серверу введите smb://адрес_сервера в поле слева и нажмите Enter:
После этого система предложит ввести имя пользователя и пароль для доступа к общему ресурсу. Этот пользователь должен реально существовать на машине, к которой вы собираетесь подключится.
Введите пароль и вы увидите доступные общие папки:
Выводы
Если всё будет сделано правильно то Linux увидит вашу шару Windows или Samba:
В этой статье мы кратко рассмотрели почему Ubuntu не видит сеть Windows, а также как исправить эту проблему. Если проблему с сетевым обнаружением устранить не удается, вы всегда можете попробовать подключится вручную. Это не решает основную проблему, но позволяет получить нужные файлы. Вы знаете другие способы решения? Поделитесь ими в комментариях!
Источник