本文是指自动登录X
方法一:
编辑/etc/inittab,确保启动级别为5,即:
并且在最后面添加一行:
x:5:once:/bin/su username -l -c "/bin/bash --login -c startx >/dev/null 2>/dev/null"
(注:要把原来类似的那行注释掉,username替换为要自动登录的用户名)
另外要取消GDM之类的登录管理器自动运行,最后重启即可。
方法二:
源代码:
int main() {
execlp( "login", "login", "-f", "your_user_here", 0);
}
保存为autologin.c,其中your_user_here替换为要自动登录的用户名,然后编译并安装之:
$ gcc autologin.c -oautologin
$ sudo cp autologin /usr/sbin/autologin
配置 /etc/inittab
确保启动级别为3
然后修改
c1:2345:respawn:/sbin/agetty -8 38400 vc/1 linux
为
c1:2345:respawn:/sbin/agetty -n -l /usr/sbin/autologin 38400 vc/1 linux
配置 ~/.bash_profile
添加:
if [ -z "$DISPLAY" ] && [ $(tty) == /dev/vc/1 ]; then
startx
fi
最后重启即可。
无论哪种方法,注销后都会回到文本界面,运行startx即可启动X并自动登录,请在~/.xinitrc里指定使用的桌面管理器。
附我的~/.xinitrc:
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
#
source ~/.xprofile
DEFAULTSESSION=startlxde
case "$1" in
"LXDE")
exec startlxde
;;
"GNOME")
exec gnome-session
;;
"KDE")
exec startkde
;;
"XFCE4")
exec startxfce4
;;
"ICEWM")
exec icewm-session
;;
"FLUXBOX")
exec startfluxbox
;;
*)
exec $DEFAULTSESSION
;;
esac
方法二参考:
阅读(2085) | 评论(0) | 转发(0) |