ZSH видалено, не може повторно реінгінувати


14

Тому я встановив, zshі мені це не сподобалось. так я і зробивapt-get remove zsh

З цього моменту я не можу перереєструватися, натискаю на свого користувача .., а потім просто повертаюся до екрана входу. Я можу увійти лише з Guest session.

Я думаю, що проблема викликана тим, що оболонка defualt у мого користувача є zsh, і вона більше не існує ..

Як я можу перевстановити його з гостьового сеансу, щоб змінити оболонку користувача за замовчуванням для гостя?

Навіть намагаючись увійти в систему, ctrl+alt+f2/6я набираю свого користувача та пароль. Логін - це успіх, але я повернувся до логіна.

Будь-які ідеї?


По-друге, думка, що проблема з оболонкою, швидше за все, не мала стосунку. Жодна оболонка користувача не створюється після завантаження DM перед завантаженням DE (і це, мабуть, також не було б проблемою). І я не впевнений, що стосується циклу ~/.bashrc- ~/.profileциклу: я протестував як очищення оболонки користувача, так і створення циклу ~/.bashrc- ~/.profileв VM, і мені завжди вдалося увійти через LightDM, хоча я не зміг увійти через консоль з циклом ~/.bashrc- ~/.profile(але все-таки LightDM замість цього працював). У будь-якому випадку ви не повинні прийняти мою відповідь.
kos

Відповіді:


16

Гість-користувач не отримує дозволу на запуск sudoабо pkexec, які (якщо ви не root, які ви не є) необхідні для зміни оболонки іншого користувача.

Тож єдине рішення, що трапляється до мене, - це завантаження в кореневу оболонку та зміна оболонки користувача як root:

chsh -s /bin/bash user

Де userваше ім’я користувача.


Одне задається питанням, як це виправити, коли оболонка кореня також zsh ... LiveCD?
Кевін

@Kevin Ця відповідь, ймовірно, неправильна. Оболонка не має відношення до того, що користувач не буде входити в DE, так як жодна оболонка користувача не створюється після завантаження DM для завантаження DE. Я не знаю, чи є кращі варіанти у випадку, коли вдасться заблокувати себе таким чином, але я вважаю, що використання Live DVD та зміни /etc/passwdвручну має працювати.
kos

4
@Kevin Можливо, з варіантом завантаження, як init=/bin/bash.
користувач253751

2

Увійдіть як корінь або завантажтесь у кореневу оболонку та відредагуйте запис оболонки в / etc / passwd на "/ bin / sh". Потім ви можете знову увійти як власний і змінити речі звідти.


1

Тож додатково до того, що сказав @kos ..

Чомусь я додав source ~/.profileу свій .bashrc файл (не знаю, чому .. читати його десь) І мій .profileфайл завантажив, .bashrcщо викликає кругову завантаження !.

Видалення рішення source..+ @kos зробило трюк!


Настільні комп’ютери Linux мають певну ламану парадигму " .profilefor-env-vars" та "one-per-login" / .bashrc-для псевдонімів. Так як іноді потрібно окр VARS набір для матеріалу до роботи, я можу зрозуміти , чому можна було б подумати , що це хороша ідея source ~/.profileз .bashrc. (Увійти до сеансу на робочому столі може не створити ваш профіль, щоб встановити оточення для всіх дітей сеансу.)
Пітер Кордес

1

Для тих, хто має проблеми з видаленням zsh. Спробуйте виконати наступні дії.

  1. Увійти як кореневий через режим відновлення. Ви можете подивитися, як це зробити на цю відповідь. /ubuntu//a/92558/104228
  2. Після входу як root. Відкрити /etc/passwd. Знайдіть свій запис користувача та змініть його /usr/bin/zshна /bin/sh. Збережіть файл і перезавантажте як звичайний крок. Ви повинні увійти нормально.
  3. Після перезавантаження вашого ubuntu. Ви побачите, що ваша шкаралупа виглядає так погано. Виконайте цю команду chsh -s /bin/bash. Введіть свій пароль і введіть. Ви шкаралупа буде добре зараз виглядати.
  4. Введіть, sudo apt-get purge --auto-remove zshщоб очистити ще один пакет залежностей від zsh.

Я сподіваюся, що цей крок допоможе іншому, хто має таку ж проблему, як і я.

PS. Моя англійська мова не є основною. Сподіваюся, ти зможеш мене зрозуміти.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.