/etc/inittabレベルを忘れて実行してください。

/etc/inittabレベルを忘れて実行してください。

予期せず再起動した後、Debian コンピュータは GUI の代わりにターミナル画面で起動します。

問題を診断する方法がわかりません。しかし、/etc/rc2.d/(inittabでは実行レベル2と呼ばれる)のすべてのサービスが実行されていないことがわかりました。

たとえば、cronを使用します。 スケジュールされたジョブの実行

S17cronを実行すると機能しませんが、シンボリックリンクされたファイルを直接実行すると機能する理由を誰かが理解するのに役立ちます。

私は何を見逃していますか?私のシステムがどのように、なぜこのような状態なのかを知っている人はいますか?どうすれば修正できますか?

答え1

/etc/inittabレベルを忘れて実行してください。

systemd docoが言ったように、ランレベルの概念はsystemdの世界で「古い」です。 systemd自体の動作原理は次のとおりです。ターゲット、ランレベルではない。

あなたのファイルも最新バージョンではありません/etc/inittab。 Debian 7からDebian 8へのアップグレードinitシステムをSystem 5+からsystemdinitに切り替えますrc/etc/inittabDebian 7では、ファイルがパッケージの属性として正しく指定されていないため、誤って配置されました。

何も言う必要はありません/etc/inittab。 systemdはこのファイルを完全に無視するだけでなく、それに関する概念もありません。現在のランレベル最初。

Systemv 5rcスクリプトを忘れてください。

やや強いかもしれませんが、あなたが壊すべきいくつかの悪い習慣を明らかにしたことを指摘する価値があります。実際、一つのことを忘れなければなりません。以前のバージョンの Debian

  • /etc/rc*.d/スクリプトを直接実行しないでください。 まず、ここでやったように何か間違ったことをすることになり、それではうまくいかないでしょう。第二に、シンボリックリンクフィールドが存在するという保証はない。でもシステムではなく、システムから。 1つは利用可能ですファイル-rc変えるsysv-rc、例えば。
  • /etc/init.d/スクリプトを直接実行しないでください。 システムオペレーティングシステムでは、これらのスクリプトがあなたのサービスに固有のスクリプトであることはもちろん、存在するという保証もありません。 Debian 7には、System 5スクリプトを置き換えたsystemdデバイスもありますrc。 Debian 8ではさらにそうです。使用する正しいコマンドは次のとおりです。
    • systemctlおよび対応するサブコマンドstatus、、、、およびstartstopenabledisable
    • service
    • update-rc.dinvoke-rc.dしかし、〜しない限りあなたはパッケージマネージャスクリプトです

したがって、観察されたコマンドの動作は完全な赤いニシンであり、システムがそのように起動する理由とは何の関係もありません。

問題を正確に診断するには、利用可能なツールを使用してください。

この時点で実行する必要があるいくつかのプログラムがあります。これには以下が含まれます。

  • systemctl get-defaultシステムがgraphical.target最初に起動するように設定されていることを確認します。
  • systemctl list-units実行中のサービスとターゲットを表示します。 Xディスプレイマネージャはサービスです。
  • systemctl status表示するなぜ失敗したサービスが失敗しました。
  • journalctl -x -b起動後にログを表示します。

追加読書

関連情報