CentOS7などのsystemを利用するOSでデフォルトログイン方法をCUIに変えるにはディスプレイマネージャを無効にすればよい。
環境
[root@localhost updates]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core)
状態の確認
サービスの有効化を確認(2通り)
[root@localhost updates]# systemctl list-unit-files | grep gdm.service gdm.service enabled [root@localhost updates]# systemctl is-enabled gdm.service enabled
サービスの起動状態を含めて確認
[root@localhost updates]# systemctl status gdm.service ● gdm.service - GNOME Display Manager Loaded: loaded (/usr/lib/systemd/system/gdm.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2017-05-06 10:26:23 JST; 2h 32min ago Process: 1013 ExecStartPost=/bin/bash -c TERM=linux /usr/bin/clear > /dev/tty1 (code=exited, status=0/SUCCESS) Main PID: 934 (gdm) CGroup: /system.slice/gdm.service ├─ 934 /usr/sbin/gdm └─1042 /usr/bin/Xorg :0 -background none -noreset -audit 4 -verbose -auth /r... May 06 10:26:23 localhost.localdomain systemd[1]: Starting GNOME Display Manager... May 06 10:26:23 localhost.localdomain systemd[1]: Started GNOME Display Manager. May 06 10:27:40 localhost.localdomain gdm[934]: Child process -2639 was already dead.
デフォルトのGDM(GNOME Display Manager)が有効になっている。
設定変更
サービスの無効化
[root@localhost updates]# systemctl disable gdm.service Removed symlink /etc/systemd/system/display-manager.service.
サービスが無効なことを確認(2通り)
[root@localhost updates]# systemctl list-unit-files | grep gdm.service gdm.service disabled [root@localhost updates]# systemctl is-enabled gdm.service disabled
サービスの起動状態も含めて確認
[root@localhost updates]# systemctl status gdm.service ● gdm.service - GNOME Display Manager Loaded: loaded (/usr/lib/systemd/system/gdm.service; disabled; vendor preset: enabled) Active: inactive (dead) Main PID: 934 CGroup: /system.slice/gdm.service ├─ 934 /usr/sbin/gdm └─1042 /usr/bin/Xorg :0 -background none -noreset -audit 4 -verbose -auth /r... May 06 10:26:23 localhost.localdomain systemd[1]: Starting GNOME Display Manager... May 06 10:26:23 localhost.localdomain systemd[1]: Started GNOME Display Manager. May 06 10:27:40 localhost.localdomain gdm[934]: Child process -2639 was already dead.
GDMが無効化された。
なおこの時点では起動しているGDMGUIが停止するわけではない(GUI表示のまま)。
再起動(reboot
)するとCUIログインに切り替わる
その他
なお、rebootコマンドはLinux以外のUnixだと危険なコマンドらしい。
Linuxについては、Man page of SHUTDOWNにあるように、rebootはshutdown -r -q nowのエイリアスです(シェルのエイリアスというわけではなく、内部でshutdown -r -q nowを呼び出しているだけと言うこと)。shutdownと同じくinitシステムを6に切り替えるため、サービスを順番に落とし(最新のLinuxではsystemdやupstartが採用される場合が多いですが、同じように順番にサービスを落とします)、再起動を行います。サービスが依存関係に基づいた安全な順序でおとされ、各終了処理も実行されますので、shotdownを使う場合と同じく、安全に再起動が可能です。
しかし、LinuxではないUNIXでは違います。次の二つを見てください。
FreeBSD 11.0 | On-line Manual of “reboot”
Solaris 11.2 | reboot - マニュアルページセク ション 1M: システム管理コマンド
FreeBSDとSolarisでは、shutdownへのエイリアスででも呼び出す物でもありません。これらのrebootでは、initシステムの切り替えが発生せず、全てのプロセスに対して終了シグナルを送るだけです。サービスの終了順序は守られませんし、initスクリプトに記載された終了時の処理も行われません。そのため、サービスによってはテンポラリファイルやPIDファイルが残ったり、エラーが記録されたり、最後の情報が書き込まれなかったり等の不具合が起きる可能性があります