アンインストールせずに oh-my-zsh (および zsh) を「無効」にするにはどうすればよいでしょうか?

アンインストールせずに oh-my-zsh (および zsh) を「無効」にするにはどうすればよいでしょうか?

私は zsh や oh-my-zsh を含む新しい開発環境を試していました。今では oh-my-zsh をインストールしたので、私のターミナル (iTerm2 とターミナル) でデフォルトで起動し、常に zsh で起動し、oh-my-zsh の設定がオンになっています。oh-my-zsh をアンインストールせずに、zsh と oh-my-zsh でのセットアップの使用を「無効にする」または停止することは可能でしょうか? また、それらを再びオンにする方法も知っておくと便利です。

現在、私の端末は自動的に zsh に入り (そう思います)、自動的に oh-my-zsh を使用します。これをさらに制御し、zsh が使用されているときと oh-my-zsh 機能が使用されているときの両方を制御できるようにしたいと考えています。

私が知りたいことの 1 つは、ターミナル アプリケーションが起動時にどのシェルを実行するかをどのように認識するかということです。これも制御できれば便利です。

あなたが私に与えるすべてのコマンドの「理由」をできるだけ詳しく説明していただければ、役に立つと思います! :)


私は OS X を使用しています。それが重要かどうかはわかりませんが、私自身の環境よりも、より一般的な Unix 環境に適用できる回答の方が好みです。

答え1

zshご質問の文言が曖昧なので、 の使用をやめたいのか、 の使用をやめたいのかわかりませんoh-my-zsh。両方についてお答えします。

無効化zsh

単に を実行してchsh、以前使用していたシェルを選択します。以前使用していたシェルがわからない場合は、ほぼ間違いなく ですbash。このコマンドは、ユーザーに関連付けられている「ログイン シェル」を変更します。基本的に、デフォルトのシェルを変更します。

変更を有効にするには、新しいターミナル ウィンドウを開く必要があります。これが機能しない場合は、ログアウトして再度ログインし、環境を再初期化する必要があります。

無効化のみoh-my-zsh

  1. が存在するかどうかを確認します~/.zshrc.pre-oh-my-zsh。おそらく存在します。(このファイルは、oh-my-zshインストール スクリプトが以前の を.zshrc削除したときに作成されます。 は.zshrcの起動ファイルでありzsh.bashrcのに似ていますbash。)
  2. そうであれば、 を実行しますmv ~/.zshrc ~/.zshrc.oh-my-zsh。これにより、 でoh-my-zsh作成されたものが.zshrc削除され、 を実行して元のものを復元できるようになりますmv ~/.zshrc.pre-oh-my-zsh ~/.zshrc
  3. 存在しない場合は、~/.zshrcテキスト エディターで開きます。 という行を見つけてsource $ZSH/.oh-my-zsh、コメント アウトするか削除します。これにより、 の初期化が無効になりますoh-my-zsh

変更を有効にするには、シェルを再起動する必要があります。

答え2

chsh -s /bin/bash

新しいデフォルト シェルを手動で設定するには、chsh -s /my/ new/shell (例: chsh -s /bin/bash) を実行します。その後、シェルを再度開きます。

答え3

@Gilles の回答では少し隠されていますが、.zshrc .zshenv などの設定なしで zsh をロードする簡単な方法です。

zsh -f

これは、設定内の何かが zsh の機能の動作を妨げているかどうかをテストする場合に便利です。

答え4

環境変数を設定することで、zshにユーザーごとの設定ファイルを別のディレクトリから読み込むように指示することができます。ZDOTDIRzsh を起動する前に。

設定ファイルを読み込まずに zsh を起動したい場合は、 をZDOTDIR存在しないディレクトリに設定します。 システム設定ファイル ( 以外/etc/zshenv) をスキップしたい場合は、 を実行しますzsh -f。 システム設定ファイルをスキップしてユーザーごとのファイルを実行する場合は、 を実行しますzsh -d

たとえば、oh-my-zsh をデフォルトにせずに試用したい場合は、.zshrcoh-my-zsh の をホーム ディレクトリに置かないでください。代わりに、 などの別の場所に置いて、 oh-my-zsh を使用するときに~/.oh-my-zsh実行します。ZDOTDIR=~/.oh-my-zsh zsh


ターミナル アプリケーションは、環境変数で指定されたシェルを実行しますSHELL。この変数が設定されていない場合は、ユーザー データベース ( ) で指定されたログイン シェルを実行します/etc/passwd。ターミナル エミュレータを起動するときに、別のアプリケーションを要求することもできます (例: ) xterm -e fish

関連情報