日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

實(shí)現(xiàn)Linux操作系統(tǒng)的自動(dòng)登錄

開(kāi)機(jī)自動(dòng)登錄Linux,并自動(dòng)運(yùn)行XWindow應(yīng)用程序,有其特殊的應(yīng)用背景,如基于Linux平臺(tái)的監(jiān)控系統(tǒng),Linux啟動(dòng)后不需要身份驗(yàn)證,而直接運(yùn)行監(jiān)控程序等等 。本文以Redhat7.2為平臺(tái),結(jié)合Linux啟動(dòng)過(guò)程,介紹了如何避免身份驗(yàn)證自動(dòng)登錄,并直接進(jìn)入X;Window自動(dòng)運(yùn)行應(yīng)用程序 。;
一、Linux啟動(dòng)的最后階段的工作

Linux在啟動(dòng)過(guò)程的最后階段(具體啟動(dòng)步驟略),init會(huì)根據(jù)/etc/inittab文件的最后一行x:5:respawn:/etc/X11/prefdm-nodaemon運(yùn)行/etc/X11/prefdm腳本,(Redhat7.2缺省時(shí)是這樣的) 。prefdm腳本的主要任務(wù)是完成X;Window的啟動(dòng),可以有幾種啟動(dòng)X;Window的方法,都包含在prefdm腳本中,幾種主要方法有:;

運(yùn)行xdm啟動(dòng)X;Window;;
運(yùn)行g(shù)dm,進(jìn)入gnome桌面環(huán)境;;
運(yùn)行kdm進(jìn)入kde桌面環(huán)境;;
自動(dòng)登錄進(jìn)入Linux;;

prefdm腳本框架大致如下:

#!/bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
.;/etc/profile.d/lang.sh
#;第一步:查看是否為自動(dòng)登錄
if;[;-f;/etc/sysconfig/autologin;-a;-x;/usr/sbin/autologin;];;then
if;/usr/sbin/autologin;;then
exit;0
fi
fi

#;第二步:如果不是自動(dòng)登錄方式,就會(huì)在/etc/sysconfig/desktop中搜尋用戶偏愛(ài)的登錄方式
......
#;可以是kdm、gdm以及xdm,并運(yùn)行相應(yīng)的kdm、gdm以及xdm 。

二、自動(dòng)登錄的實(shí)現(xiàn)(autologin的實(shí)現(xiàn));


在/etc/X11/prefdm腳本中,是否實(shí)現(xiàn)自動(dòng)登錄有一個(gè)條件測(cè)試開(kāi)關(guān),事實(shí)上,可以在這里注釋掉測(cè)試開(kāi)關(guān),直接執(zhí)行啟動(dòng)X;Window的操作 。;

自動(dòng)登錄實(shí)質(zhì)上就是繞過(guò)身份驗(yàn)證,直接啟動(dòng)X;Window 。X;Window的啟動(dòng)可以由xinit來(lái)完成 。;

Xinit用來(lái)啟動(dòng)X;Window系統(tǒng)服務(wù)器以及系統(tǒng)上的第一個(gè)客戶程序,可以通過(guò)為xinit傳遞命令行參數(shù)的形式指定要啟動(dòng)的服務(wù)器及客戶程序 。如果不傳遞參數(shù)給xinit,它將在用戶的根目錄下尋找并運(yùn)行.xinitrc腳本來(lái)啟動(dòng)客戶程序;在用戶的根目錄下尋找并運(yùn)行.xserverrc腳本來(lái)啟動(dòng)服務(wù)器 。如果xinit在用戶的根目錄下找不到.xinitrc、.xserverrc,xinit將使用缺省的X:0 。實(shí)際上,用startx來(lái)啟動(dòng)X更為方便 。對(duì)于運(yùn)行單一會(huì)話的XWindow系統(tǒng),startx提供了更為良好的用戶接口 。同樣,startx首先在用戶的根目錄下尋找.xinitrc及.xserverrc腳本,如果找不到這兩個(gè)腳本,startx將使用/etc/X11/xinit/xinitrc以及/etc/X11/xinit/xserverrc腳本 。startx腳本的最基本框架是:;

a、;尋找.xinitrc,如果沒(méi)有則使用xinitrc;;
b、;尋找.xserverrc,如果沒(méi)有則使用xserverrc;;
c、;根據(jù)找到的腳本確定xinit的參數(shù);;

由此可看出,startx在不需要傳遞任何參數(shù)的情況下,可以完成啟動(dòng)X的任務(wù),因此,可以如下修改/etc/X11/prefdm腳本來(lái)實(shí)現(xiàn)自動(dòng)登錄:;

#!/bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
.;/etc/profile.d/lang.sh
#;第一步:查看是否為自動(dòng)登錄
#if;[;-f;/etc/sysconfig/autologin;-a;-x;/usr/sbin/autologin;];;then
#注釋掉上邊的條件測(cè)試,直接運(yùn)行startx
if;/usr/X11R6/bin/startx;;then
exit;0
fi
#fi

當(dāng)然,應(yīng)確保/etc/inittab中的啟動(dòng)級(jí)別為5 。;

重新啟動(dòng)系統(tǒng),會(huì)發(fā)現(xiàn)系統(tǒng)不驗(yàn)證用戶身份,直接進(jìn)入XWindow,此時(shí)的用戶身份為root 。但是,如果原來(lái)root有自己的桌面、默認(rèn)shell時(shí),上述方法啟動(dòng)X不一定保證還能擁有原來(lái)的設(shè)置 。為了在啟動(dòng)X后,在避免驗(yàn)證身份的同時(shí),又不改變用戶原來(lái)的設(shè)置,那么在運(yùn)行startx之前,還有工作要做 。

    推薦閱讀