CentOS6まではランレベルを変更する際には/etc/inittabを編集すればよかったのですがCentOS7からはこれが変更となっています。
インストール時に最小限のインストールを選択するとデフォルトではCLI起動となりますが、GNOMEデスクトップなどを選択するとGUI起動となります。こういった場合にはCLI起動に変更したい場合やその逆の場合もあるでしょう。
現在がどのようになっているのか確認するコマンドが下記です。下記ではgraphical.targetに設定されておりGUIログインの設定となっております。
# systemctl get-default graphical.target |
これを例えばmulti-user.targetのCLIログインに変更する場合は以下のようにコマンドを実行します。
# systemctl set-default multi-user.target rm '/etc/systemd/system/default.target' ln -s '/usr/lib/systemd/system/multi-user.target' '/etc/systemd/system/default.target' |
このgraphical.targetやmulti-user.targetについてはrunlevelの数字で以下のように対比されています。上のset-defaultで指定するときにはrunlevelXで指定することはできず、multi-user.targetやgraphical.targetのみ指定できます。
# ls -al /lib/systemd/system/runlevel*target lrwxrwxrwx 1 root root 15 10月 25 08:09 /lib/systemd/system/runlevel0.target -> poweroff.target lrwxrwxrwx 1 root root 13 10月 25 08:09 /lib/systemd/system/runlevel1.target -> rescue.target lrwxrwxrwx 1 root root 17 10月 25 08:09 /lib/systemd/system/runlevel2.target -> multi-user.target lrwxrwxrwx 1 root root 17 10月 25 08:09 /lib/systemd/system/runlevel3.target -> multi-user.target lrwxrwxrwx 1 root root 17 10月 25 08:09 /lib/systemd/system/runlevel4.target -> multi-user.target lrwxrwxrwx 1 root root 16 10月 25 08:09 /lib/systemd/system/runlevel5.target -> graphical.target lrwxrwxrwx 1 root root 13 10月 25 08:09 /lib/systemd/system/runlevel6.target -> reboot.target |
上記のsystemctl set-defaultコマンドでランレベルを切り替えることも可能ですが、直接的にファイルのシンボリックリンクを操作し、変更することも可能です。この場合はrunlevelXで直接指定することが可能となります。/lib/systemd/system配下のrunlevel3.targetから/etc/systemd/system/default.targetにシンボリックリンクをはることで実現できます。GUI起動に戻したい場合についてはrunlevel5.targetをリンクしてやれば良いということになります。
※CLIログインに変更 # rm -rf /etc/systemd/system/default.target # ln -s /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target ※GUIログインに変更 # rm -rf /etc/systemd/system/default.target # ln -s /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target |