Arch Linuxシステムを再起動した後、自分のコンピュータが特定のユーザーとして自動的にログインできるようにします。フォローするArch Linux Wikiのガイド、# systemctl edit getty@tty1
次の行を実行して貼り付けます。
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin username --noclear %I $TERM
これは機能し、自動的にログインします。ところで、他人としてログインしようとしてCTRL+Dを押してログアウトすると、自動ログインが実行され、すぐに再ログインされます。起動後初めてのみ自動ログインし、手動でログアウトするときに何もしないように自動ログインを設定するにはどうすればよいですか?
答え1
これが私が現在使用しているものです:
# systemctl edit getty@tty1
しかし、代わりにカスタムスクリプトを実行します。[Service] Type=simple ExecStart= ExecStart=/home/[USER]/.tty1
cat /home/[USER]/.tty1
:#!/usr/bin/bash if [ -f /run/user/1000/tty1started ] ; then /usr/bin/agetty --noclear tty1 $TERM else date &> /run/user/1000/tty1started /usr/bin/agetty --autologin [USER] --noclear tty1 $TERM fi
chmod +x
(スクリプトを確認してください)
これはdate
私が他の用途にも使用しているからです。しかし、チェックは実際にファイルが存在することを確認するだけです(touch
これで十分です)。ファイルはRAM()に書き込まれるため、/run
自動的に削除されます。
メモ:
1000
ユーザーIDの変更(id -u
)pam
いくつかの警告が表示されますが、ioctl
すべてがうまく動作します。
答え2
私の知る限り、agettyにはこの機能はありません。したがって、これを直接実行する必要があります。たとえば、この実行のプレビューログインがある場合は、bash / perl / whateverスクリプトを使用して状態を保存し(ディレクトリは再起動後に再起動されます)、一致するgettyを実行する必要があります。
問題は、これが機能するために本当に必要な場合は、tty2に変更して(Alt + F2を使用)、正常にログインすることができることです。
挨拶
答え3
側面の回答:他のttyに切り替えることに加えて(で述べたように)トレキの答え)、現在のユーザーを新しいユーザーに置き換えることができます
su otherusername
他のユーザーのシェルを終了すると、自分のセッションに戻ります。
(スーパーユーザーアカウントに切り替えるためのものだと思う人もいます。実際には、他のユーザーsu
としてコマンドを発行できるようにする「代替ユーザー」です。rootでログインしていない場合、コマンドを実行するとsu otherusername
他のユーザーに対するメッセージが表示されます。 .通常のスクリプトsu
やシェルリソーススクリプトは実行されません.profile
。su
su - otherusername
)