(((opt)->flags & (F_VCONSOLE|(flag))) == (flag))
/* Default banner printed when the login program is not available. */
-#define DEFAULT_NOLOGIN_MESSAGE N_("This system does not permit logins.")
+#define DEFAULT_NOLOGIN_MESSAGE N_("Login is currently unavailable. Press any key to check again.")
static int wait_for_term_input(struct agetty_issue *ie, int fd);
static void wait_for_login_program(struct agetty_options *op);
* log in. Show a banner and wait until it becomes available instead of
* prompting for a username that can never be used.
*/
- wait_for_login_program(&options);
+ if (!options.chroot)
+ wait_for_login_program(&options);
if (options.autolog) {
debug("doing auto login\n");
* On systems without a shell or /bin/login there is no point in showing the
* issue file and prompting for a username, because the login program can never
* be executed. Instead of running into a confusing dead end, print a short
- * banner and wait for the user to press Enter, then re-check whether the login
+ * banner and wait for the user to press any key, then re-check whether the login
* program has become available (for example because an administrator installed
* it at runtime). As soon as the login program is executable we return and the
* normal prompt flow continues.
printf("%s\n", message);
fflush(stdout);
- /* Wait for Enter, then re-check the login program. */
+ /* Wait for any key, then re-check the login program. */
if (getc(stdin) == EOF)
return;
}
This program does not use the _/etc/gettydefs_ (System V) or _/etc/gettytab_ (SunOS 4) files.
-If the login program (by default _/bin/login_, or the program given with *--login-program*) is missing or not executable, then logging in is impossible. In that case *agetty* does not display the issue file or prompt for a login name. Instead it prints a short message ("This system does not permit logins." by default, configurable with *--nologin-message*) and waits for the user to press Enter. On Enter it re-checks whether the login program has become available, for example because an administrator installed it at runtime, and either continues with the normal prompt or shows the message again.
+If the login program (by default _/bin/login_, or the program given with *--login-program*) is missing or not executable, then logging in is impossible. In that case *agetty* does not display the issue file or prompt for a login name. Instead it prints a short message ("Login is currently unavailable. Press any key to check again." by default, configurable with *--nologin-message*) and waits for the user to press a key. It then re-checks whether the login program has become available, for example because an administrator installed it at runtime, and either continues with the normal prompt or shows the message again. This pre-check is skipped when *--chroot* is used, because the login program path is resolved after changing root.
== ARGUMENTS
This option specifies additional characters that should be interpreted as a kill ("ignore all previous characters") when the user types the login name. The default additional 'kill' has been '@', but since util-linux 2.23 no additional kill characters are enabled by default.
*--nologin-message* _string_::
-Use _string_ as the message that is shown when the login program is missing or not executable, instead of the default "This system does not permit logins." See the *DESCRIPTION* above for details about this behavior.
+Use _string_ as the message that is shown when the login program is missing or not executable, instead of the default "Login is currently unavailable. Press any key to check again." See the *DESCRIPTION* above for details about this behavior.
*--chdir* _directory_::
Change directory before the login.