systemdを使用してデスクトップに自動的にログインする方法は?

systemdを使用してデスクトップに自動的にログインする方法は?

できるだけログインマネージャを使用せずにデスクトップ環境に自動的にログインするようにsystemdをどのように設定しますか?私はアーチLinuxを使用しています。

ベストアンサー1

これは建築ウィキペディア:

[email protected]コピーに似た新しいサービスファイルを作成します。/etc/systemd/system/

cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/[email protected]

これはデフォルトで既存のファイルを[email protected]自由に変更できる新しいファイルにコピーします。サイト固有の単位ファイルが保存されている場所なので、[email protected]コピーされます。パッケージが提供するユニットファイルが含まれているため、そのファイルを変更しないでください。/etc/systemd/system/usr/lib/systemd/system

[email protected]その後、自動的にログインしたいttyのgettyサービス(tty1など)にシンボリックリンクを接続する必要があります。

ln -s /etc/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]

これまではまだいつもと同じファイルですが[email protected]、最も重要な部分は[email protected]実際に自動ログインするように修正することです。これを行うには、行をExecStart次のように変更します。

ExecStart=-/sbin/agetty -a USERNAME %I 38400

ExecStartと行の[email protected]違いは、agettyにユーザー名USERNAMEを使用して自動的にログインするように指示すること[email protected]です。-a USERNAME

systemdにデーモンファイルを再ロードしてサービスを開始するように指示します。

systemctl daemon-reload
systemctl start [email protected]

(すでにtty1にログインしている場合、サービスが正常に起動するかどうかはわかりません。最も安全な方法は、サービスを起動するよりも再起動することです。)

Xを自動的に起動するには、次のコードをファイルに挿入します~/.bash_profile(次から入手)。ウィキペディア再):

if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
    exec startx
fi

デスクトップ環境を起動するには、デスクトップ環境を変更する必要があります~/.xinitrc。これを行う方法はDEによって異なり、ArchWikiにも説明されています。

おすすめ記事