한국   대만   중국   일본 
【 init 】コマンド/【 systemctl 】コマンド――CUI/GUIモ?ドを切り替える:Linux基本コマンドTips(5) - @IT

【 init 】コマンド/【 systemctl 】コマンド――CUI/GUIモ?ドを切り替える Linux基本コマンドTips(5)

本連載は、Linuxのコマンドについて、基本書式からオプション、具?的な?行例までを紹介していきます。今回は「init」コマンドと「systemctl」コマンドです。

» 2016年03月25日 05時00分 公開
[ 西村めぐみ @IT ]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一?

 本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具?的な?行例までを分かりやすく紹介していきます。今回は、CUI(Character User Interface)/GUI(Graphical User Interface)などのシステムモ?ドの切り替えに使える「 init 」コマンドと「 systemctl 」コマンドです。

initコマンドとは?

 initは全てのプロセスの“親”となるコマンドで、プロセスを制御する他、OS全?の動作モ?ドを示す「ランレベル」を?更することができます。Linuxカ?ネルはメモリに?み?まれるとデバイスなどのチェックを行い、initを起動します。initは「/etc/inittab」に?いさまざまなプロセスを起動します。

initコマンドの書式

init ランレベル(0~6で指定)

※管理者?限で?行する必要があります


ランレベル 動作モ?ド
0 halt(停止)
1 シングルユ?ザ?モ?ド
2~5 マルチユ?ザ?モ?ド
6 reboot(再起動)

 ランレベル「2」~「5」が通常の起動モ?ドで、システム設定によってネットワ?クの有無を切り替えたり、X Window Systemを使用するかどうか(GUIにするかどうか)を切り替えたりします。

initの主なオプション

 initコマンドのオプションは次の通りです。

オプション 意味
-t 秒? ?際に動作を始めるまで(シグナルを送るまで)の時間を指定
※?際に動作しているのがsystemdの場合、このオプションは使用できません

systemctlコマンドとは?

 昨今のLinuxでは、initに代わって「systemd」というシステムが導入されています。systemdシステムでは、各種サ?ビスを「ユニット」?位で管理することができます。ここで使われているがsystemctlコマンドです。

 ??は“initコマンドでランレベルを?更”のように知られていた操作も、現在は「シンボリックリンク」として?っているのみで、?際にはsystemctlコマンドが使われています。

 また、??は「reboot」コマンドや「shutdown」コマンドで?行していた再起動/シャットダウン操作も、現在はsystemctlコマンドが使用されています( [?考]rebootコマンドとpoweroffコマンドの?? )。

systemctlコマンドの書式

systemctl [ オプション ] コマンド

※[ ]は省略可能な引?を示しています


コマンド(動作モ?ド?連) ?容
get-default タ?ゲット デフォルトのモ?ドを確認する
set-default タ?ゲット デフォルトのモ?ドを?更する
isolate タ?ゲット 現在のモ?ドを?更する
default デフォルトのモ?ドにする
rescue レスキュ?モ?ドに入る
emergency 緊急モ?ドに入る
halt シャットダウンして終了する
poweroff シャットダウンして電源オフ
reboot シャットダウンして再起動する
suspend,hibernate,hybrid-sleep 休止モ?ドに入る

systemctlコマンドの主なオプション

 systemctlコマンドのオプションは次の通りです。

オプション 意味
--no-wall 他のモ?ドに入る際にログイン中の他のユ?ザ?にメッセ?ジを表示しない


initコマンドでCUIモ?ド/GUIモ?ドを切り替える(CentOS)

 CentOS(Red Hat系システム)の場合は、initコマンドでCUI/GUIの動作モ?ドを切り替えることができます。

コマンド?行例

init 3 :CUIモ?ドにする

init 5 :GUIモ?ドにする

(?座に切り替わるので?行?面はありません。管理者?限で?行する必要があります)


 なお、GNOME環境など、GUI用のソフトウェアがインスト?ルされていない場合は、「init 5」コマンドを?行してもグラフィカルモ?ドには切り替わりません。

 また、UbuntuでGUI環境からCUI環境に切り替えたい場合は、[Ctrl]+[Alt]+[F1](F1~F6)キ?を使うとよいでしょう。[Ctrl]+[Alt]+ファンクションキ?は、?想コンソ?ルを切り替えるためのキ?操作になります。[Ctrl]+[Alt]+[F7]キ?で元のモ?ドに?ることができます。



systemctlコマンドでCUIモ?ド/GUIモ?ドを切り替える

 systemctlコマンドは「 systemctl コマンド 」という?行スタイルで、システム?連のさまざまな操作を行います。現在の動作モ?ドを切り替える場合は、「 isolate 」コマンドを使います。

 動作モ?ドはinitコマンドのランレベルのような?字ではなく、“タ?ゲット”で表します。CUI環境はいわば複?ユ?ザ?でログインできる通常モ?ドということで「 multi-user.target 」、GUI環境は「 graphical.target 」という名前が付いています。

コマンド?行例

systemctl isolate multi-user.target :CUIモ?ドにする

systemctl isolate graphical.target :GUIモ?ドにする

systemctl default :デフォルトのモ?ド(起動時のモ?ド)にする

(管理者?限で?行する必要があります)


コマンド(タ?ゲット) 動作モ?ド
rescue.target レスキュ?モ?ド
emergency.target 緊急モ?ド
multi-user.target CUIモ?ド
graphical.target GUIモ?ド

systemctlコマンドでデフォルトのモ?ドを?更する

 システム起動時の動作モ?ドを?更したい場合は、「 set-default 」コマンドを使用します。また、現在の設定は「 get-default 」コマンドを使い、「systemctl get-default」で確認することができます( ?面1 )。

コマンド?行例

systemctl get-default :デフォルトのモ?ド(起動時のモ?ド)にする

systemctl set-default multi-user.target :デフォルトをCUIモ?ドにする

systemctl set-default graphical.target :デフォルトをGUIモ?ドにする

(set-defaultは管理者?限で?行する必要があります)


画面1 ?面1  「systemctl get-default」で現在のモ?ドを確認し、「systemctl set-default」で起動モ?ドを?更している

systemctlコマンドでレスキュ?モ?ドや緊急モ?ドに入る

 「 レスキュ?モ?ド 」は、どうしても終了しないプロセスがあるなどの?況でシステムを修復する場合に使うモ?ドです。「シングルユ?ザ?モ?ド(init 1)」とほぼ同等ですが、システムの設定によってはネットワ?クシステムを使う、使わないなどの違いがあるかもしれません。

コマンド?行例

systemctl rescue

(管理者?限で?行する必要があります)


 レスキュ?モ?ドにも入れない場合は、「 緊急モ?ド 」を使用します。

コマンド?行例

systemctl emergency

(管理者?限で?行する必要があります)


 それぞれ、レスキュ?モ?ドの「 systemctl isolate rescue.target 」、緊急モ?ドの「 systemctl isolate emergency.target 」とほぼ同じ動作ですが、isolateコマンドを使う場合と異なり、ログインしている他のユ?ザ?に?し「The system is going down to rescue mode NOW!」などのメッセ?ジを送信します。


ランレベルとタ?ゲット

 systemctlコマンドでは「 systemctl isolate runlevel3.target 」のように、initで使用されていたランレベルでも?行できるようになっています。それぞれシンボリックリンクとなっており、各タ?ゲットとの??は「 ls 」コマンドで確認できます( ?面2 )。

ls -l /usr/lib/systemd/system/runlevel*.target


画面2 ?面2  「/usr/lib/systemd/system/」にある「runlevel」から始まる名前のファイルを一?表示している

 他にもたくさんあるので、興味がある方は「 ls -l /usr/lib/systemd/system/*.target 」で表示して見ると面白いかもしれません。


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801N/PC-386MからのDOSユ?ザ?。1992年より生産管理のパッケ?ジソフトウェアの開?およびサポ?ト業務を??。のち退社し、?業ライタ?として活動を開始。著書に『?解でわかるLinux』『らぶらぶLinuxシリ?ズ』『はじめてでもわかるSQLとデ?タ設計』『シェルの基本テクニック』など。2011年より、地方自治?の在宅就業支援事業にてPC基礎およびMicrosoft Office?連の?材作成およびeラ?ニング指導を??。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メ?ルマガジン登?

@ITのメ?ルマガジンは、 もちろん、すべて無料です。ぜひメ?ルマガジンをご購?ください。