OpenBSD 启动后自动登录

OpenBSD 启动后自动登录

我知道我可以在 OpenBSD 桌面上创建“用户自动登录”功能(使用默认的 FVWM2 作为 WM):

pkg_add slim

-----
start-stop script

# vi /etc/slim 

#!/bin/sh
#
# /etc/rc.d/slim: start/stop slim
#

case $1 in
start)
    /usr/local/bin/slim -d
    ;;
stop)
    kilall /usr/local/bin/slim
    ;;
restart)
    $0 stop
    sleep 6
    $0 start
    ;;
*)
    echo "usage: $0 [start|stop|restart]"

esac

-----
Start at boot & make it executable

# echo "/etc/slim start" >> /etc/rc.local
# chmod +x /etc/slim

-----
Start fvwm after slim is ok

# vi /home/user/.xinitrc

/usr/X11R6/bin/fvwm

-----
Auto-login the UNIX user "user"

# vi /etc/slim.conf

default_user user
auto_login yes

问题:但这会消耗太多空间..除了安装登录管理器之外还有其他可用的选项吗?

答案1

最简单的方法可能是:

  1. 添加su - <user>/etc/rc.local

或者,

  1. 将 getty 替换为 shell。

答案2

第一件事是您想使用 X 登录吗?如果没有,您是否登录新的(虚拟)终端或控制台?如果您想自动进行网络登录,我不会参与这种疯狂的行为。

让我们从查看 X 开始。有两种启动 X 的通用方法:显示管理器或脚本。大多数(但不是全部)显示管理器都有自动记录选项(有关详细信息,请参阅显示管理器的文档。xauth 和其他详细信息使脚本编写变得复杂,但可以通过使用 startx 或 xinit 大大简化。不幸的是,这假设您已经首先登录。这可以通过答案下一部分中的解决方案来解决,并添加登录后脚本)

如果你没有使用X,或者只是还没有启动它,你当然可以在初始化脚本等中使用su,但这并不能设置作业控制所需的所有内容,并且会占用你的控制台,所以我会努力看看盖蒂。有大量的 getty 实现和替代品。我会为您的用例考虑的两个是 mgetty(适用于涉及串行线路或调制解调器的任何内容)和 runtty(适用于所有不涉及串行线路的自动登录问题)。 mgetty 为涉及串行线的每个可能的用例提供了大量选项。 runtty 是 getty 的一个特例,适用于您不想调用登录​​的情况。

答案3

在 X 上可以使用 kdm,并且可能(从未测试过)使用 gdm。如果你想通过 shell 自动登录,可以这样做

su - user

在 rc.local 中

相关内容