Kezdőlap › Fórumok › SOS! Bajban vagyok › Uhu alatt automatikus programindítás hogyan?
- This topic has 12 hozzászólás, 6 résztvevő, and was last updated 18 years, 10 months telt el by
uzsolt.
-
SzerzőBejegyzés
-
2006-08-29-17:09 #2070344
Tedd be abba az init szkriptbe, ahol még nem fut a grafikus szerver! (init 3 általában)
/etc/init.d/ alatt kutakodj! Vagy az rc.local-ba is teheted, az is az X előtt fut még le.2006-08-29-17:13 #2070345Szeva!
Bemész az /etc/init.d könyvtárba.
Megynyitod a SKELETON filet egy szöv. szerkesztővel.
Tartalmát törlöd.
Beírod:Code:#!/bin/sh
#
# /etc/init.d/SKELETON
#
# (C) 2001-2004
# Pozsár Balázs
#
# This file is originally part of the UHU-Linux distribution.
# Distributable under GPL v2.
#
# Ez a fájl eredetileg az UHU-Linux disztribúció része.
# A GPL v2 licenc szerint terjeszthető.
## —————————————————————————–
DAEMON=/usr/sbin/daemon
NAME=”VNCSERVER”
DESC=”VNC”# —————————————————————————–
PIDFILE=”/var/run/$NAME.pid”[ -x „$DAEMON” ] || exit 0
[ -f /etc/init.d/common ] && . /etc/init.d/common || {
echo „Hiba a /etc/init.d/common beolvasása közben” >&2
exit 1
}loaddefaults „$NAME”
function error() {
echo „$ERR”
exit 1
}case „$1” in
start)
vncserver;
echo „$OK”
;;
stop)
killall vncserver;
echo „$OK”
;;
reload)
echo -n „$DESC ($NAME) újraindítása”
killall vncserver;
vncserver;
echo „$OK”
;;
status)
# XXX FIXME
;;
esacexit 0
mentés másként -> /etc/init.d/vnc.
adj neki jogot a futtatáshoz.Ezután belépsz a /etc/runlevel.d/default könyvtárba, megnyitsz egy filet törlöd a tartalmát, bemásolod a helyére ezt:
Code:Summary=VNC
Summary[hu]=VNC server
Description=VNC szerver indítása
Description[hu]=VNC server
Script=/etc/init.d/vnc
SupportsReload=yes
Sequence=20majd elmented vnc.service néven, majd átmész a /etc/runlevel.d/custom könyvtárba és ott szintén szerkesztesz egy filet és bemásolod tartalomként ezt:
Code:Runlevels=2345UHU vezpult-> szolgáltatások, vnc: induljon el.
// mindezt csoege -nek köszönd ne nekem. ő tanított meg szolgáltatást írni 😉
2006-09-11-13:14 #2070346Köszönöm csodaturmix, megcsináltam amit leírtál, de ennek ellenére sem indul el a vncserver csak ha belépek KDE vagy Gnome al és kézzel elindítom… :blink:
2006-09-11-14:22 #2070347Hát igen, ez az agyonbonyolított init-szkriptek előnye 🙂
Próbáld azt, amit balev írt. Gondolom, a csodaturmix-féle megoldás is jó, csak valamit kihagyhattál.2006-09-11-15:42 #2070348PAraNOia wrote:Köszönöm csodaturmix, megcsináltam amit leírtál, de ennek ellenére sem indul el a vncserver csak ha belépek KDE vagy Gnome al és kézzel elindítom… :blink:Üdv!
rootként add ki:
/etc/init.d/vnc start ha elindul, fut akkor elvben rendben kell lennie.2006-09-11-17:34 #2070349Szerintem az lehet a gond hogy boot -kor nem tudja hogy milyen user számára kell indítani a szervert. Elvileg root, de nem biztos.
ELaci
2006-09-11-19:07 #2070350Ha kiadom a parancsot akkor elindul…
A gond a daemonnal lehet, hogy az /usr/sbin-ben nincs vnc nevű daemonom…
Daemont hogyan tudok oda varázsolni? És mit kell annak tartalmaznia?
Köszönöm az eddigi segítséget
Ja és root-ként vagyok bejelentkezve, tehát az nem lehet gond (nem megijedni itthoni gép és csak próblgatom ég a dolgot :D)
2006-09-11-19:20 #2070351PAraNOia wrote:Ha kiadom a parancsot akkor elindul…A gond a daemonnal lehet, hogy az /usr/sbin-ben nincs vnc nevű daemonom…
find /usr -name vnc*
Ja és root-ként vagyok bejelentkezve, tehát az nem lehet gond (nem megijedni itthoni gép és csak próblgatom ég a dolgot :D)
Nem jó ötlet. Például a környezeti változók is mások, mint felhasználó esetén. Ha valamit beállítasz root-ként, nem biztos, hogy felhasználóként is jó lesz.
Egyébként meg könnyű valamit végérvényesen elrontani, tehát csak akkor válts root jogosultságra, ha feltétlen szükséges.Mindezektől függetlenül külön script használata nélkül (pláne ha nem te írtad, vagy nem érted, hogy működik) egyszerűbb lenne egy rc fájlt írni a meglévők mintájára és betenni valamelyik grafikus szerver előtti init szintbe.
2006-09-11-19:32 #2070352Addig továbbjutottam, hogy /usr/bin/vncserver, tehát nem az /usr/sbin-ben van…
balev.
A tanácsot köszönöm, átváltok user-be root helyett…
Hol találok rc fájl mintát, és hogyan/hova rakom be init 5 előtti szintbe?2006-09-11-19:49 #2070353Már rég volt fent UHU-m. Ha belépsz a az /init.d könyvtárba találsz benne több rc (runtime component) fájlt. Ezekben lehetnek szolgáltatások, démonok leíró fájljai (pl. mint ez a vnc-s szkript). Fogsz egy ilyet mintának, megnézed a tartalmát.
Például én egy másik rc mintájára készítettem egyet a PPPoE-nek:
Code:balev@slack:~$cat /etc/rc.d/rc.pppoed
#!/bin/sh
# Start/stop/restart pppoe.# Start pppoe:
pppoe_start() {
if [ -x /usr/sbin/pppoe-start ]; then
echo „Starting PPPoE daemon: /usr/sbin/pppoe-start”
/usr/sbin/pppoe-start
fi
}# Stop pppoe:
pppoe_stop() {
pppoe-stop
}# Restart pppoe:
pppoe_restart() {
pppoe_stop
sleep 1
pppoe_start
}case „$1” in
‘start’)
pppoe_start
;;
‘stop’)
pppoe_stop
;;
‘restart’)
pppoe_restart
;;
*)
echo „usage $0 start|stop|restart”
esacEz maga a beállító fájl. Igaz itt csak magát a parancsot tartalmazza, de akár egyéb paraméterek is meg lehetnének adva. Az init szintek pedig egymás utáni sorrendben indítják az összes rc-t (plusz mást is).
Általában init 3 a multiuser init szint, ahol már van hálózat is, de még nincs grafikus velület. Ide érdemes betenni az rc fájlt, és akkor ezzel a szinttel fog elindulni. Gondolom kell neki (a vnc-nek) a hálózat, tehát a fő hálózati konfiguráló (inetd) után kell berakni (szerintem).
Tehát nálam pl. így néz ki az rc.M (UHU alatt meg kell nézni, szerintem init.3 vagy valami ilyesmi):
Code:# Start PPPoE daemon:
if [ -x /etc/rc.d/rc.pppoed ]; then
. /etc/rc.d/rc.pppoed start
fiIlyen egyszerű. Persze kézzel is tudod majd kezelni, ha szükséges a $parancs start, stop, restart paraméterrel.
A lényeg, hogy a pppoe helyett beírod mindenhova a vnc-t (megfelelő elérési úttal). És UHU alatt /etc/init.d alatt vannak a fájlok és a szintek is, ha jól emlékszem.
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz