Linuksowo.pl - Linux forum
Transkrypt
Linuksowo.pl - Linux forum
Subject: Jak utworzy? skrypt startowy dla us?ugi VNC
Posted by greeno on Tue, 16 Sep 2008 22:54:23 GMT
View Forum Message <> Reply to Message
Witam posiadam dystrybucje linuxa mepis, zainstalowałem na niej server vnc i chciałbym aby
startował razem z systemem, jednakże mam kłopoty z realizacją tego zadania. z Konsoli
uruchamia się bez problemu wpisując vncserver. Utworzyłem plik vnc w katalogu
domowym użytkownika autostart:
#!/bin/sh
vncserver start
niestety to nie działa, byłby ktos na tyle miły i mnie poinstruował jak by to miało
wyglądać ?
Administrator: Poprawione kodowanie
Subject: Odp: Jak utworzy? skrypt startowy dla us?ugi VNC
Posted by djsv on Tue, 16 Sep 2008 23:11:18 GMT
View Forum Message <> Reply to Message
Po pierwsze nie vncserver start tylko samo vncserver służy do uruchamienia vnc. Po drugie
jak chcesz przy starcie to skorzystaj z polecenia ktore sam uzywam (poprzerabiaj je sobie):
su - user -c "vncserver -geometry 1024x768 -depth 16"
zamiast user twoja nazwa uzytkownika. Takie polecenie uruchamia serwer jako inny uzytkownik
niż roob przy starcie systemu. Reszta parametrów do vncserver jest opisana w manualu.
Administrator: Poprawione kodowanie
Subject: Odp: Jak utworzy? skrypt startowy dla us?ugi VNC
Posted by greeno on Thu, 18 Sep 2008 14:26:11 GMT
View Forum Message <> Reply to Message
Witam, niestety to nie koniec noich problemow, vnc startuje ale niestety skrypt sie zapetla i
doprowadza do zawieszenia systemu.
Oto skrypt konfiguracyjny vnc:
#!/bin/sh
Page 1 of 5 ---- Generated from
Linuksowe by FUDforum 2.8.1
Linuksowo.pl - Linux forum - Polskie Forum
xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
superkaramba karamba/ubermon1.0/ubermon.theme &
superkaramba karamba/Mi Karamba/aDate.theme &
startkde &
a ten z autostartu uruchamiajacy samo vnc przy starcie:
#!/bin/sh
vncserver
Administrator: Poprawione kodowanie
Subject: Odp: Jak utworzy? skrypt startowy dla us?ugi VNC
Posted by hwast on Thu, 18 Sep 2008 15:11:33 GMT
View Forum Message <> Reply to Message
Zamień zawartość skryptu w autostarcie KDE na:
#!/bin/sh
eval $POLECENIE
Do /etc/profile dodaj linijke:
export POLECENIE="vncserver"
A w skrypcie konfiguracyjnym przed 'startkde &' dodaj:
export POLECENIE=""
Zdravim
Administrator: Poprawione kodowanie
Subject: Odp: Jak utworzy? skrypt startowy dla us?ugi VNC
Posted by greeno on Sat, 20 Sep 2008 12:32:34 GMT
View Forum Message <> Reply to Message
Niestety te zmiany powoduja, że vnc przy starcie wogóle się nie ładuje automatycznie.
Page 2 of 5 ---- Generated from
Linuksowe by FUDforum 2.8.1
Linuksowo.pl - Linux forum - Polskie Forum
Administrator: Poprawione kodowanie
Subject: Odp: Jak utworzy? skrypt startowy dla us?ugi VNC
Posted by hwast on Sat, 20 Sep 2008 21:37:04 GMT
View Forum Message <> Reply to Message
Inaczej - przed uruchomieniem vncserver sprawdzimy czy taki proces juz nie dziala w systemie.
Wywal te linijki z /etc/profile i skryptu startowego vnc które kazałem ci dopisać - zmienna
środowiskowa $POLECENIE nie będzie nam już potrzebna.
W skrypcie znajdującym się w autostarcie KDE ustaw taka zawartość:
#!/bin/sh
if [ `ps aux | grep vncserver | grep -v grep | wc -l` -lt 1 ]
then
vncserver
fi
Nie zapomnij upewnić się że skrypt ma prawo do wykonywania (x od execute). Dla
pewności nadaj mu ten atrybut poleceniem:chmod +x /sciezka/do/skryptu
Jak to działa?
ps aux wyświetla listę procesów, znak potoku ("|") w dużym uproszczeniu przechwytuje
wynik polecenia po lewej i przekazuje go na wejscie polecenia po prawej, grep vncserver
wyłapuje linijke zawierajaca slowo 'vncserver', następnie grep -v grep wyklucza linijki
zawierajace slowo 'grep' (poprzednie polecenie zwraca 2 linijki - vncserver w przypadku gdy jest
on uruchomiony oraz dane procesu 'grep vncserver'), a wc -l zlicza ilosc linijek.
Co do składni instrukcji warunkowej if: -lt oznacza less than (mniej niż, stosujemy jako
zamiennik <, gdyż ten znaczek został zarezerwowany w bashu do innych celów). Wiecej
znajdziesz w man'ach:
man ps
man grep
man wc
man test
man bash
Zdravim
Administrator: Poprawione kodowanie
Subject: Odp: Jak utworzy? skrypt startowy dla us?ugi VNC
Posted by azhag on Sun, 21 Sep 2008 08:25:23 GMT
Page 3 of 5 ---- Generated from
Linuksowe by FUDforum 2.8.1
Linuksowo.pl - Linux forum - Polskie Forum
View Forum Message <> Reply to Message
hwast napisał(a) dnia sob, 20 wrzesień 2008 11:37
#!/bin/sh
if [ `ps aux | grep vncserver | grep -v grep | wc -l` -lt 1 ]
then
vncserver
fi
przyczepię się do szczegółu -- prościej będzie:
#!/bin/sh
if ! pgrep vncserver >/dev/null 2>&1
then
vncserver
fi
czyli jeśli polecenie pgrep vncserver zwróci kod błędu (gdyby nie było !, to gdy zakończy
siÄ™ sukcesesm) + przekierowanie STDOUT i STDERR do /dev/null
lub jednolinijkowo
#!/bin/sh
pgrep vncserver >/dev/null 2>&1 || vncserver
tutaj wykorzystany został "łącznik" (?) || (gdy poprednie polecenie zakończyło się
błędem)
odwrotnym jest && (gdy polecenie zakończy się sukcesem)
Administrator: Poprawione kodowanie
Subject: Odp: Jak utworzy? skrypt startowy dla us?ugi VNC
Posted by greeno on Sun, 21 Sep 2008 11:25:56 GMT
View Forum Message <> Reply to Message
niestety modyfikacje te nierozwiÄ…zujÄ… problemu ;()
Administrator: Poprawione kodowanie
Subject: Odp: Jak utworzy? skrypt startowy dla us?ugi VNC
Posted by hwast on Sun, 21 Sep 2008 13:12:49 GMT
View Forum Message <> Reply to Message
wygląda na to, że VNC ukrywa procesy 'nadrzedne'.. ?
Mozna by to obejsc na jeszcze jeden, prymitywny sposob - mianowicie wprowadzic do skryptu
Page 4 of 5 ---- Generated from
Linuksowe by FUDforum 2.8.1
Linuksowo.pl - Linux forum - Polskie Forum
startowego vncserver 1 linijke, ktora utworzy pusty plik np. w /tmp o nazwie vnc-running,
nastepnie w autostarcie kde dodajemy warunek ze vncserver zostanie uruchomiony tylko wtedy
gdy plik /tmp/vnc-running nie istnieje. Problemem jest usuwanie tego pliku. Tzn. można sobie
dopisac linijeczke do odpowiedniego skryptu startowego, gdzie podczas wyłączania
komputera plik bedzie usuwany, ale w przypadku przerwy w dostawie pradu czy twardego resetu
vnc nie bedzie chciało wstać automagicznie (bo /tmp vnc-running bedzie istnial). Dlatego
rozwiÄ…zanie to nazywam prymitywnym.
Może wymyślę coś lepszego.
Zdravim
Administrator: Poprawione kodowanie
Subject: Odp: Jak utworzy? skrypt startowy dla us?ugi VNC
Posted by greeno on Tue, 23 Sep 2008 20:17:18 GMT
View Forum Message <> Reply to Message
Witam, dawno sie nie odyzwalem ale to nie znaczy, ze sie poddalem. Mysle, ze mozna to
rozwiazac takze w inny sposob ale niestety tez wystepuje problem, moze wam sie uda go
rozwiazac. Po instalacji serwera VNC, zmienilem skrypt konfiguracyjny tego servwra tak aby po
wlaczeniu ladowalo sie od razu kde (oryginalnie byl tylko shell i jakis manager plikow), wiec
spowrotem powrocilem do pierwowzoru i przywrocilem tak jak bylo. W tym przypadku vnc startuje
i sie nie zapetla i moge sie zalogowac, niestety gdy chce z lini polecen wywolac KDE, laduje sie
pulpit i po chwili pojawia sie czarny ekran. Powodem tego zjawiska jest pewnie to, ze system
laduje sie na KDE, a gdy chce sie zalogowac na vnc na ten sam pulpit to jakos glupieje. Wogole w
przypadku linuksa co jest jego wielka zaleta, na vnc moze logowac sie wielu userow, ale niestety
ja chcialbym zalogowac sie 2 razy na to samo konto aby widziec procesy uruchomione wlasnie na
tym koncie.
Administrator: Poprawione kodowanie
Page 5 of 5 ---- Generated from
Linuksowe by FUDforum 2.8.1
Linuksowo.pl - Linux forum - Polskie Forum