ログイン・シェルの変更


図4 テキスト・ログインでのシェルの入力プロンプト
[画像のクリックで拡大表示]

写真1 「ログインシェル」から使いたいシェルを選択できる
[画像のクリックで拡大表示]

図5 chshシェルでのログイン・シェルの変更
[画像のクリックで拡大表示]

 テキスト・ログインでユーザー認証が完了するとシェルが起動し,例えばFedora Core 3では図4のような入力プロンプトが表示されます。このシェルをログイン・シェルといいます。

 Fedora Core 3およびVine Linux 3.1のデフォルトのログイン・シェルはbashですが,ユーザー登録時に別のシェルを指定することもできます。古くからのUNIXユーザーはcshを指定することが多いでしょう。

●X上で操作する場合

 Fedora Core 3でグラフィカルなユーザー・インタフェースを用いてシェルを選択したい場合は,X Window Systemと端末エミュレータを起動させてから,GUI版のユーザー管理コマンド「system-config-users」*3をシステム管理者権限で実行します。

 Vine Linux 3.1の場合は,「アプリケーション」→「システム・ツール」→「ユーザーとグループの管理」を選択して起動します。

 ウインドウに表示されたユーザーをマウスでクリックして反転表示にします。「プロパティ(Properties)」ボタンをクリックすると,ユーザーの登録データを修正できます。「ユーザデータ」タブ(Fedora Core 3の場合),あるいは「拡張」タブ(Vine Linux 3.1の場合)の「ログインシェル」でシェルを選択します(写真1)。写真には,合計9種類*4ものシェルが表示されています。下から3行目の「/sbin/nologin」はログイン・シェルが不要なユーザーに対して指定します。

●シェル上で操作する場合

 テキスト・ログインしているときに,Xを起動せずにログイン・シェルを変更することも可能です。そのためのコマンドがchshです(図5)。「新しいシェル」では,絶対パス名でシェルを指定する必要があることに注意しましょう。

 いずれの変更でも,次回ログインするときに,指定したシェルがログイン・シェルとして実行されます。

 ログイン・シェルを別の方法で確認することもできます。/etc/passwdファイルの内容をcatコマンドで出力してみましょう。例えば,ユーザーjunの行は,以下のような内容が出力されます。

特殊文字「:」(コロン)で区切られた内容がユーザーjunの設定値であり,最後の設定値「/bin/bash」がログイン・シェルです。

端末エミュレータのシェル

 グラフィカル・ログインで,例えばデスクトップの「アプリケーション」→「システム・ツール」→「GNOME端末」を選択し,端末エミュレータ・ウインドウを開いた場合にも,シェルが動作します。テキスト・ログインと同じプロンプトが表示されており,シェルはbashであることが分かります。

 しかし,この対話型シェルはログイン・シェルではありません。つまり,同じシェルであっても,「ログイン・シェル」と「そうでないシェル」があるのです。

 どちらも実体はbashであり,機能に違いはありません。唯一の違いは,シェル起動時に読み込む設定ファイルが異なることです。この設定ファイルとは,主にシェルをカスタマイズするときに利用するテキスト形式のファイルです。これについては次回に説明します。

「再入門 体で覚えるLinuxの基本」の目次ページはこちらから