我知道我可以在 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
最简单的方法可能是:
- 添加
su - <user>
/etc/rc.local
或者,
- 将 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 中