ZSHが削除され、再ログインできません


14

だから私はインストールしてzsh、それが好きではなかった。だから私はやったapt-get remove zsh

その時点から再ログインできません。ユーザーをクリックすると、ログイン画面に戻ります。でのみログインできますGuest session

私のユーザーのデフォルトシェルはzshであり、もはや存在しないため、問題が発生したと思います。

ゲストユーザーのデフォルトシェルを変更するゲストセッションからそれを再インストールするにはどうすればよいですか?

でログインしようとしてもctrl+alt+f2/6、ユーザーとパスワードを入力します。ログインは成功しますが、ログインに戻ります。

何か案は?


考え直して、シェルの問題にはおそらく関係がなかったと思われます。DMがロードされた後、DEがロードされる前に、ユーザーシェルが生成されることはありません(おそらくそれも問題ではなかったでしょう)。そして、~/.bashrc- ~/.profileループについてもわかりません:VMでユーザーのシェルのパージと~/.bashrc- ~/.profileループの作成の両方をテストし、LightDMを介して常にログインできましたが、ログインできませんでしたコンソールで~/.bashrc- ~/.profileループを使用します(ただし、LightDMは代わりに機能しました)。いずれにせよ、あなたは私の答えを受け入れないでください。
コス

回答:


16

ゲストユーザーには、別のユーザーのシェルを変更するために必要な(sudoまたはpkexec、rootである場合を除き)を実行するためのアクセス許可が付与されていません。

だから私に起こっている唯一の解決策は、ルートシェルで起動し、ユーザーのシェルをルートとして変更することです:

chsh -s /bin/bash user

userユーザーのユーザー名はどこにありますか。


ルートのシェルもzsh ... LiveCDである場合、これをどのように修正するのでしょうか。
ケビン

@Kevinこの答えはおそらく間違っています。DEがロードされる前にDMがロードされた後、ユーザーシェルは生成されないため、シェルはユーザーがDEにログインしていないという関係はありません。自分自身をそのようにロックアウトする場合のより良いオプションがあるかどうかはわかりませんが、Live DVDを使用して/etc/passwd手動で変更することはうまくいくと思います。
コス

4
@Kevinおそらくのような起動オプションがありinit=/bin/bashます。
user253751

2

ルートとしてログインするか、ルートシェルを起動して、/ etc / passwdのシェルエントリを「/ bin / sh」に編集します。その後、自分で再度ログインして、そこから変更することができます。


1

さらに、@ kosが言ったことに加えて..

何らかの理由でsource ~/.profile.bashrcファイルに追加しました(理由はわかりません。どこかで読んでください)そして、.profileファイルがロードされ、.bashrc循環ロードが発生します!

source..+ @kosソリューションを削除することでうまくいきました!


Linuxデスクトップでは、.profile-for-env-varsと-log-per-loginのもの/ .bashrc-for-aliasesパラダイムが壊れています。動作させるためにenv varsを設定する必要がある場合があるので、なぜsource ~/.profilefromにするのが良い考えだと思うかがわかります.bashrc。(デスクトップセッションにログインしても、セッションのすべての子のenv変数を設定するためのプロファイルが取得されない場合があります。)
ピーターコーデス

1

zshのアンインストールで問題が発生するユーザー向け。次の手順に従ってください。

  1. 復旧モードでルートとしてログインします。あなたはこの答えでそれを行う方法を見ることができます。/ubuntu//a/92558/104228
  2. ルートとしてログインした後。オープン/etc/passwd。ユーザーエントリを見つけてから/usr/bin/zshに変更し/bin/shます。ファイルを保存し、通常の手順として再起動します。通常どおりログインする必要があります。
  3. ubuntuを再起動した後。シェルの外観が非常に悪いことがわかります。このコマンドを実行しますchsh -s /bin/bash。パスワードを入力して入力してください。あなたのシェルは今すぐ良く見えるでしょう。
  4. sudo apt-get purge --auto-remove zshzshの別の依存パッケージを消去するために入力します。

このステップが、私と同じ問題を抱えている別の人を助けることを願っています。

PS。私の英語は第一言語ではありません。あなたが私を理解できることを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.