
Изображение моего терминала:
Я использую Ubuntu с WSL и не могу получить доступ к графическому интерфейсу.
Вышеупомянутые изображения моего терминала, никакой вывод не отображается для всего, что я печатаю. Терминал действует как редактор. Это произошло после того, как я отредактировал переменную PS1. Я хочу отменить это действие.
решение1
Рад, что вам удалось выбраться из этого. В будущем, поскольку вы используете WSL, помните, что у вас также есть следующие варианты восстановления.
Из PowerShell, CMD или меню «Пуск»:
wsl -e bash --norc --noprofile
Это запустит WSL и выполнит Bash без обработки каких-либо файлов запуска, таких как ~/.bashrc
(и другие). Оттуда вы можете проверить и исправить любые файлы запуска или другие проблемы. Обычно это лучший механизм восстановления для этого типа проблем.
Вы даже можете редактировать свой файл .bashrc
напрямую, не запуская оболочку, с помощью:
wsl -d Ubuntu20.04_WSL2 -e editor /home/<username>/.bashrc
Примечание: editor
Команда сопоставляется с «предпочтительным редактором» в Ubuntu ( nano
по умолчанию). В некоторых других дистрибутивах вам может потребоваться указать само имя редактора (например, vi
). Вы можете изменить редактор по умолчанию с помощью sudo update-alternatives --config editor
.
Окончательно:
wsl -u root
Это позволит вам получить доступ к WSL как пользователю root, где вы сможете редактировать файлы пользователя. Обратите внимание, что если в /etc/profile
(или .d
подкаталогах) есть ошибка, то это все равно не сработает, так как пользователь root столкнется с той же ошибкой. Вот почему я предпочитаю этот --noprofile --norc
вариант.
Также из комментариев:
Я не могу открыть bashrc
Здесь есть два варианта:
Как упомянул @terdon в комментариях, вы можете по крайней мере просмотреть файл, используя Проводник в Windows, чтобы перейти к нему
\\wsl$\Ubuntu\home\<username>\
(или к названию используемого вами дистрибутива, в нем может быть номер версии).Обратите внимание, что я не рекомендуюредактированиефайл с помощью приложения Windows, если вы не уверены, что приложение будет соблюдать окончания строк Linux/Unix. Некоторые приложения (например, старые версии Notepad) «портят» файл (по крайней мере, с точки зрения Bash), изменяя окончания строк на DOS/Windows CRLF.
Или из PowerShell:
wsl -e cat /home/<username>/.bashrc | clip.exe
Это скопирует его непосредственно в буфер обмена, чтобы вы могли вставить любые соответствующие части в свой вопрос в следующий раз.
Пожалуйста, не публикуйте изображения текста. Просто скопируйте/вставьте текст прямо в ваш вопрос
Также можно просто выделить текст, который вы ввели на скриншоте, прямо в терминале и вставить его в вопрос.
Я бывсе ещепопросите вас сделать это (если вы еще не полностью исправили ошибку), так как это может помочь другим найти ваш вопрос при поиске в Интернете. Изображения, конечно, не часто индексируются. Смотретьздесьвот еще несколько причин, по которым мы просим вас избегать снимков экрана, когда достаточно текста.
решение2
Нажатие Ctr+C решит проблему.