🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.sys.x11
Article #2011

Re: Automatyczne uruchamianie X-ow przy boocie

#2011
From: Hoppke
Date: Tue, 09 Dec 2003 09:37
62 lines
3655 bytes
Message <br2s6q$l73$1@atlantis.news.tpi.pl>
has been fingerprinted by Michal Kotnowski:

> Jak nie da sie inaczej, to to tez jest opcja, ale chyba sie da inaczej. I
> jeszcze warunek, zeby nie trzeba bylo podawac hasla, bo to ma sie dziac
> automatycznie.

Z sekwencji startowej chyba nie uruchomisz bezpośrednio X-ów, będą
narzekać że nie jesteś właścicielem terminala z którego próbujesz je
wystartować (albo że nie mogą zaalokować następnego terminala - niby nic
dziwnego, bo skrypty startowe lecą na /dev/console). Ja u siebie
zrobiłem to tak:

1. mingetty z opcją --autologin loguje mnie na na pierwszym VT. Hasła
nie muszę podawać, bo w /etc/login.defs określiłem VT na których nie
trzeba podawać haseł (choć roota to nie dotyczy)

2. w konfiguracji shella mam taką wstawkę:

if [ $TTY = "/dev/vc/1" -a -z $DISPLAY ]
then
exec xinit /usr/X11R6/lib/X11/xinit/xinitrc -- dpms -tst -quiet -bs vt12
fi

Czyli w skrócie: jeśli aktualne VT to /dev/vc/1 (to, co u innych zwane
jest /dev/tty1) a zmienna $DISPLAY nie jest jeszcz eustawiona (to akurat
overkill w moim przypadku, ale...), to uruchom X-y. A w zasadzie to
zastąp proces shella procesem xinit (chodzi o ten "exec"). Dlatego
sprawdzanie $DISPLAY nie ma tu sensu, bo uruchomienie xinit blokuje ten
terminal. Ale gdybym zrobił

if [ $TTY = "/dev/vc/1" -a -z $DISPLAY ]
then
xinit /usr/X11R6/lib/X11/xinit/xinitrc -- dpms -tst -quiet -bs vt12&!
fi

To już by miało sens.

W każdym razie ja poszedłem na połączenie dwóch cech - jakieś *getty
obsługujące autologin (mingetty się nada, tylko pewnie trzeba będzie
patcha nałożyć) i połączenie uruchamiania X-ów z jakimś skryptem
startowym Twojego Ulubionego Shella.

A w praktyce działa to u mnie tak, że włączam maszynę, ona startuje
sobie normalnie, automatycznie loguje mnie na /dev/vc/1 i równie
automatycznie zastępuje shella procesem xinit (u innych byłby to
"startx", ale ja zredukowałem "startx" do shellowego aliasu na "xinit",
jak w przykładzie.

Na /dev/vc/2 mam drugie mingetty, tyle że ono już nie jest autologujące
(choć chyba też wpuszcza mnie bez hasła, to po prostu wygodne). Jeśli
zamknę X-y to wystarczy że na pierwszym vt wpiszę swój login i nacisnę
enter, a X-y znowu same wystartują. Dobrze się sprawdza i jest proste do
postawienia, nie trzeba wciągać w to żadnych gdm/kdm/xdm/...

Taki tryb tekstowy ze startującymi automatycznie X-ami, chyba dosyć
dobrze odpowiada temu, czego szukasz.

-- 
\hoppke
(Grzegorz "Grażyna" Niewęgłowski)
http://lubuska.zapto.org/~hoppke/
Technical Details
Message-ID: <slrn.pl.bt9ug9.l51.grzegorz@quatrin.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!news.gazeta.pl!not-for-mail
References: <br2q63$aal$1@nemesis.news.tpi.pl> <slrnbt9sa2.tok.magh@ilf.if.pw.edu.pl> <br2s6q$l73$1@atlantis.news.tpi.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!news.gazeta.pl!not-for-mail
From: Hoppke <grzegorz@quatrin.pl>
Newsgroups: pl.comp.sys.x11
Subject: Re: Automatyczne uruchamianie X-ow przy boocie
Date: Tue, 9 Dec 2003 09:37:51 +0000 (UTC)
Organization: QuaTrin
Lines: 62
Message-ID: <slrn.pl.bt9ug9.l51.grzegorz@quatrin.pl>
References: <br2q63$aal$1@nemesis.news.tpi.pl> <slrnbt9sa2.tok.magh@ilf.if.pw.edu.pl> <br2s6q$l73$1@atlantis.news.tpi.pl>
NNTP-Posting-Host: pc134.zgora.cvx.ppp.tpnet.pl
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1070962671 16983 217.99.132.134 (9 Dec 2003 09:37:51 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Tue, 9 Dec 2003 09:37:51 +0000 (UTC)
X-Licznik: 6632
X-Homepage: http://lubuska.zapto.org/~hoppke/
X-User: hoppke
User-Agent: slrn/0.9.7.4 (pl-1.4.3) (Linux)
X-Distro: QuaTrin
X-Kernel: 2.6.0-test11 (Celeron Mendocino)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit