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

49 FreeBSD連載:進(jìn)入X Window( 二 )


另一個(gè)不同之處在于,個(gè)人目錄下的.xsession文件必須存在,用戶才能通過(guò)XDM正常進(jìn)入X Window,否則登錄過(guò)程就會(huì)發(fā)生錯(cuò)誤 。而對(duì)于xinit來(lái)講,.xinitrc不是必需的如果.xsession的執(zhí)行有問(wèn)題,用戶就不能從xdm的登錄界面上登錄進(jìn)系統(tǒng) 。此時(shí)可以檢查相應(yīng)用戶目錄下的.xsession-errors文件,這個(gè)文件中將包含執(zhí)行.xsession的錯(cuò)誤信息 。
在FreeBSD 3.1-RELEASE中存在一個(gè)小問(wèn)題,.xsession必須具備有可執(zhí)行屬性,否則就不能正確執(zhí)行,這個(gè)問(wèn)題在3.2-RELEASE中已經(jīng)修正 ??梢詮?xsession-errors中的錯(cuò)誤信息中來(lái)發(fā)現(xiàn)這個(gè)錯(cuò)誤 。
先使用root登錄系統(tǒng),再手工執(zhí)行xdm顯然只是一個(gè)調(diào)試時(shí)的執(zhí)行方式,如果要真正使用xdm讓用戶登錄系統(tǒng),應(yīng)該在系統(tǒng)啟動(dòng)時(shí)自動(dòng)執(zhí)行xdm,最簡(jiǎn)單的方法是在/usr/X11R6/etc/rc.d目錄下增加一個(gè)可執(zhí)行的文件,例如命名為xdm.sh,并使用chmodx xdm.sh使其可以被執(zhí)行,最簡(jiǎn)單的xdm.sh可以為以下的形式:
#! /bin/shecho “Enter xdm”/usr/X11R6/bin/xdm這樣系統(tǒng)將在啟動(dòng)后直接啟動(dòng)xdm,進(jìn)入X Window并展示一個(gè)登錄界面等待用戶登錄 。xdm以一種守護(hù)進(jìn)程的方式運(yùn)行在后臺(tái),每次用戶退出之后會(huì)自動(dòng)重新啟動(dòng)另一個(gè)登錄界面,允許用戶登錄 。
當(dāng)然也可以將xdm命令放入rc.local文件中,然而使用單獨(dú)的啟動(dòng)文件使得啟動(dòng)文件更為整齊、清晰 。
啟動(dòng)Xdm的另一種方式是更改/etc/ttys中的設(shè)置,系統(tǒng)會(huì)根據(jù)ttys文件中的配置在相應(yīng)終端上啟動(dòng)相應(yīng)的程序,因此可以在一個(gè)空余的控制臺(tái)終端上,通常是第四個(gè)虛擬控制臺(tái)ttyv3,啟動(dòng)xdm 。
ttyv3"/usr/X11R6/bin/xdm -nodaemon"xtermon securettys中指定的進(jìn)程具備再產(chǎn)生的特性,每個(gè)進(jìn)程退出之后立即被重新執(zhí)行 。因此可以不必使用xdm本身的守護(hù)進(jìn)程功能,而讓系統(tǒng)來(lái)維護(hù)Xdm自動(dòng)執(zhí)行 。就需要使用-nodaemon參數(shù),使xdm以普通進(jìn)程的方式運(yùn)行 。
遠(yuǎn)程啟動(dòng)X客戶程序:
X Window本身的X協(xié)議支持網(wǎng)絡(luò),是一種分布式的體系結(jié)構(gòu) 。如果使用者的FreeBSD與其他Unix通過(guò)網(wǎng)絡(luò)相連接,就能在一個(gè)計(jì)算機(jī)上運(yùn)行X客戶程序,而將窗口顯示在另一個(gè)運(yùn)行X服務(wù)器的計(jì)算機(jī)上 。
由于一臺(tái)計(jì)算機(jī)上可以運(yùn)行多個(gè)X服務(wù)器,每個(gè)服務(wù)器會(huì)支持多個(gè)顯示屏,那么X客戶程序必須確認(rèn)在計(jì)算機(jī)上的某一個(gè)服務(wù)器的某一個(gè)顯示屏上進(jìn)行顯示,因此必須包括計(jì)算機(jī)地址、X服務(wù)器序號(hào)和顯示屏號(hào)來(lái)唯一確定一個(gè)顯示資源的位置,例如xserver:0.0,通常一臺(tái)計(jì)算機(jī)中并沒(méi)有過(guò)多的X服務(wù)器,該X服務(wù)器也不具備多個(gè)顯示屏,因此就可以對(duì)顯示資源的位置進(jìn)行簡(jiǎn)化,一般使用xserver:0的表示方式 。
這種表示方式就可以標(biāo)志遠(yuǎn)程X服務(wù)器的顯示位置,當(dāng)執(zhí)行X客戶程序時(shí),就需要在命令行上使用display選項(xiàng),來(lái)告訴X客戶程序這個(gè)顯示位置的參數(shù) 。
xclIEnt $ xterm -display xserver:0&或者通過(guò)設(shè)置DISPLAY環(huán)境變量來(lái)達(dá)到同樣的目的 。
xclient $ DISPLAY=xserver:0; export DISPLAYxclient $ xterm &這兩種方法都向名為xserver的計(jì)算機(jī)上的X服務(wù)器發(fā)出了請(qǐng)求,但能否正常開(kāi)出窗口還必須得到這個(gè)X服務(wù)器的許可 。缺省情況下X服務(wù)器具備訪問(wèn)控制能力,標(biāo)準(zhǔn)訪問(wèn)控制方法使得只有具備訪問(wèn)許可的X客戶,及其子程序才能訪問(wèn)X服務(wù)器的資源,而其他X客戶程序不能使用X服務(wù)器資源 。當(dāng)使用者使用startx和xinit啟動(dòng)X服務(wù)器時(shí),或者通過(guò)xdm登錄進(jìn)系統(tǒng)時(shí),其后啟動(dòng)的X客戶程序就繼承了原有的訪問(wèn)權(quán)限 。然而通過(guò)網(wǎng)絡(luò)啟動(dòng)的X客戶程序,使用X服務(wù)器資源就受到了這個(gè)訪問(wèn)控制的限制,不能正常啟動(dòng) 。
控制X服務(wù)器的訪問(wèn)控制能力的命令為xhost,為了使得xserver的顯示資源能被xclient上的X客戶程序所使用,就必須在已經(jīng)具備X服務(wù)器訪問(wèn)能力的X仿真終端下執(zhí)行以下指令:

推薦閱讀