systemd - デフォルトのログインttyの変更

systemd - デフォルトのログインttyの変更

DMなしでArchでxfceを実行しています。 xorg-xinitを使用してxを起動します。デフォルトでは、起動後にtty1にログインプロンプトが表示され、すべてがうまく機能します。

しかし、Ctrl + Alt + F6を手動で押さなくても、tty6(またはその他)のログインプロンプトから削除されたデフォルトの動作を変更したいと思います。

私はさまざまなリソース、Arch wiki、manページ、http://0pointer.de/blog/projects/systemd-docs.html、等。

しかし、私はまだ理解していません。

/etc/systemd/system/getty.target.wants/ ファイルを手動で追加して削除してみました。[Eメール保護]そして[Eメール保護]。または、systemctlを使用して有効または無効にします。

テストで /usr/lib/systemd/system/ の最後の行も編集します。[Eメール保護]DefaultInstance = tty1〜DefaultInstance = tty7と上記のすべての組み合わせ。有効な場合は /etc/systemd/system に生成されます。

私はアーチフォーラムに質問し、主にコオロギの音がする非常に一般的な答えを受けました。何らかの理由で私がしたいことに反対する人はいますか?

私はchvtを含むbash one linerを呼び出す/ etc / systemd / systemにサービスファイルを作成しました。これは私が望むものを提供しますが、今はtty1から消去しないように設定したブートメッセージをスクロールできません。このソリューションはまた、悪いアドオンハッキングのように見えます。

これを行う正しい方法は何ですか?

答え1

DefaultInstanceは、親サービスでなければならないインスタンスではなく、サービスのsystemdインスタンスを表します。 Debianを含む多くのLinuxディストリビューションでは、inittabはまだttyが作成されている場所です。サービスファイルは、これを追跡するためにある程度存在します。

通常、ディスプレイマネージャは開始ttyを決定し、tty7以降で1つを生成し、それをchvtと同様に対応するttyに切り替えます。 xinitを使用しないため、新しいttyを生成しないので、現在のTTYでXを開きます。 Xは通常tty6の代わりにtty7を使用します。ここではArch Linux Wikiを参照する必要があります。https://wiki.archlinux.org/index.php/Xinitxinitの使い方について。

したがって、あなたのオプションは次のとおりです。

  • ウィンドウマネージャの使用
  • 複数の座席をご利用ください
  • 自動ログイン

つまり、ウィンドウマネージャはセッション認証処理を担当します。これがなければ、この目的のためにログインしたttyに依存します。したがって、他に切り替えるにはログインも必要です。この場合、切り替えてとにかくログインする必要があります(または自動ログインを使用する必要があります)。これがディスプレイ管理者がログイン資格情報を求める理由です。

設定が正しい場合は、ウィンドウマネージャが実行する操作を再確認しない限り、startxがttyにバインドされているため、自動的にログインしないとttyを切り替えることはできません。

答え2

解決しました!

さて、もう応答がないので、再起動後にtty7にログインプロンプトが表示されるようにするために、私が行ったことに関する詳細を共有します。

1) ~/bin に 1 行スクリプト "change.login.tty" を生成しました。

2) /etc/systemd/system/ にシステムサービスファイル「change.login.tty.service」を作成します。

3) 「change.login.tty.service」を有効にします。

$ systemctl enable change.login.tty.service

4) /etc/systemd/logind.conf を #NAutoVTs=7 と #ReserveVT=6 に編集します。

5) tty7 で getty を起動します (必要ありません)。

$ systemctl enable getty@tty7

6) 再起動して tty7 にメッセージが表示されたらログインしてお楽しみください。

~/bin/change.login.tty

#!/bin/bash
# This changes the login tty #
chvt 7

/etc/systemd/system/change.login.tty.service

[Unit]
Description=Change login tty number.

[Service]
Type=idle
ExecStart=/home/[user name]/bin/change.login.tty

[Install]
WantedBy=multi-user.target

/etc/systemd/logind.conf

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See logind.conf(5) for details.

[Login]
#NAutoVTs=7
#ReserveVT=7
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
#HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#HoldoffTimeoutSec=30s
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RemoveIPC=yes
#InhibitorsMax=8192
#SessionsMax=8192
#UserTasksMax=33%

単に投票やエラーを指摘するのではなく、投稿してエラーを修正するか、より簡単な解決策を説明してください。

それは私のために働いた、結果は異なる場合があります。

関連情報