web-dev-qa-db-ja.com

/ bin / bashに自動的にログインするにはどうすればよいですか?

12.04 LTSのImであり、Ruby開発のRailsに取り組んでいます。端末を起動してRuby -vと入力すると、Rubyが1.8.7としてリストされます。 /bin/bash --loginと入力すると、Ruby -vは2.0.0としてリストします。これは、Rails 4.0を実行するために必要なものです。問題は、端末を起動するたびに/bin/bash --loginと入力する必要があることです。端末を開いたときに/bin/bashに自動的にログインできる方法はありますか?

1
Ordep81
  • ターミナルを開きます
  • メニューバーから、編集>プロファイルを選択します
  • 開いたプロンプト編集>デフォルトで
  • 「タイトルとコマンド」タブ->「ログインシェルとしてコマンドを実行」をチェック
  • ターミナルを再起動

ここで/ bin/bash --loginを再度実行する必要はありません。

4
Hrishabh Gupta

私のために働く解決策は、.bashrcファイルに次の行を追加することです。

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*
1
jmarceli

技術的には、RVMは関数としてシェルセッションにロードされます。 Bashをシェルとして使用している場合、この統合は構成ファイル.bash_profileによって行われます。ご存知かもしれませんが、シェルセッションにはさまざまな「タイプ」があります。つまり、loginシェル、interactiveシェルおよび非対話型シェル。 bashセッションがどれであるかに応じて、異なる構成ファイルが関係します。 RVMの統合を処理する.bash_profile構成ファイルは、ログインシェルセッションに含まれていますが、「単なる」インタラクティブまたは非インタラクティブシェルセッションには含まれていません。詳細については、 RVMドキュメント を参照してください。

したがって、ターミナルを起動するときに、シェルセッションがログインシェルセッションとして開始されることを確認する必要があります。おそらく、このためのターミナルエミュレーターの設定があります。これまで使用したコマンド/bin/bash --loginを使用すると、シェルセッション内でシェルセッションを開始another以外は何もしませんが、これはログインシェル。

おそらく、RVMを介してインストールすることに加えて、パッケージマネージャー(apt-get)によってRubyをインストールした可能性があります。したがって、RVMがシェルセッションに統合されていない場合、「システムRuby」が残ります。だからこそRuby 1.8.7に「フォールバック」するのです。

1