web-dev-qa-db-ja.com

beginx自動ログインはDebianJessieのアップデート後に/ etc / inittabで実行されません

GUIなしで最小限のDebianシステム(安定版)をインストールし、Cinnamonデスクトップを取得できるようにtesting/jessieに切り替えましたが、Xが起動時に起動しませんでした。 CLIに自分でログインすると、startxと入力してGUIを起動できますが、問題はありません。そこで、/etc/inittabに以下を追加しました。

# The default runlevel.
id:5:initdefault:

# ...

sx:45:once:/bin/su -c /usr/bin/startx -l bateman

これは何の効果もありません。何故なの?さらに重要なことに、これ以上ソフトウェアをインストールせずに、どうすればそれを機能させることができますか?

編集

私の/etc/inittabは何もしていないようです。変化

1:2345:respawn:/sbin/getty 38400 tty1

1:2345:respawn:/sbin/getty -a bateman 38400 tty1

自動ログインしません(自分を作成してグループautologinに追加した後でも) (ここからのワイルドスタブ) 、コメントアウト

3:2345:respawn:/sbin/getty 38400 tty3

tty3を無効にしません。何が起こっている?

1
GKFX

コンソールにログインしている場合にのみ、startxでXセッションを開始する権限があります。たとえば、リモートユーザーはこの権限を取得しません。 /bin/su -c /usr/bin/startx -l batemanから/etc/inittabを実行すると、コンソールが表示されないため、Xサーバーの起動に失敗します。

実行時にGUIを取得する通常の方法は、 ディスプレイマネージャー を実行することです。ディスプレイマネージャはXサーバーを起動し、グラフィカルモードでログインプロンプトを表示します。 Debian wheezyでは、 gdm (Gnomeルックアンドフィール)、 kdm (KDEルックアンドフィール)、 lightdm (モダン、 DEに依存しない)、 スリム (軽量、構成可能)、 wdm (WindowMakerのルックアンドフィール)および xdm (昔ながらの、アテナのルックアンドフィール)感じる)。ディスプレイマネージャとして使用するものは、ログイン後に使用するグラフィカル環境とは無関係です。ディスプレイマネージャの選択はシステム管理者次第であり、ユーザーはログイン後にそれぞれの好みの環境を使用できます。

コンピューターが自分だけが入ることができる部屋にあるためにコンソールにログインする必要がない場合は、いくつかのディスプレイマネージャーで自動ログインを設定できます。たとえば、 LightDMを使用/etc/lightdm/lightdm.confを編集し、行autologin-user=のコメントを解除して、等号の後にユーザー名を追加します。

systemdはSystem5 initと下位互換性がなく、System 5 rcのみと互換性があります。

Debian7から将来のDebian8に切り替えました。これにより、おそらく知らないうちに、システム管理が(Linux)System 5 init + rcからsystemdに切り替えられました。 systemdはデフォルトのinitシステムであり、その特定のアップグレードがこの切り替えを実行します。

Linux System 5スタイルのシステム管理は、プロセス#1として実行されるinitと、開始スクリプトと停止スクリプトの実行を担当するrcの2つの部分で構成されます。これらは実際にはDebianの2つの異なるパッケージからのものです。 initsysvinit パッケージからのものであり、rcは通常 sysv-rc パッケージからのものです。 ( file-rc および openrc パッケージには、System 5 rcで使用できる代替のinitプログラムがあります。)

/etc/inittabは、initによって処理される構成ファイルです。 systemdは、このための下位互換性メカニズムを提供していません。 systemdのSystem5下位互換性メカニズムは、/etc/init.d/でプログラムを実行するSystem5 rc専用です。 (systemdは、file-rcおよびopenrcの構成メカニズムにも下位互換性メカニズムを実装していません。)

これはsystemdに固有のものではありません。ほとんどno置換init /システムマネージャー— Felix von Leitnerの minit から initNG そして nosh —プロセスsystem-manager/etc/inittabに起動します。 /etc/inittabを見るのは、Nikola Vladovの ninit だけです。

Systemdにサービスを組み込むには、サービスがサポートするメカニズム、つまり独自のサービスユニットファイルと/etc/init.d/内のシステム5rc構成ファイル。 startxをsystemdサービスとして実行する方法は、もちろん別の質問です。

参考文献

4
JdeBP

OK、結局、ディスプレイマネージャなしでstartxを実行しました。それは私の起動時間にはまったく役に立ちませんでしたが、気にしないでください。 Gentoo wikiの Xディスプレイマネージャーなし の指示に従い、自動ログインサービス/etc/systemd/system/x11.serviceを作成しました。

[Unit]
After=systemd-user-sessions.service

[Service]
ExecStart=/sbin/mingetty --autologin username --noclear tty7 38400

[Install]
WantedBy=graphical.target

.bash_profileを使用します

# Following automatically calls startx when you login:
[[ -z $DISPLAY && $XDG_VTNR -eq 7 ]] && exec startx
0
GKFX