Προς το περιεχόμενο

Λίγο help για daemon pls


borror

Προτεινόμενες αναρτήσεις

Καλημέρα παιδιά. Θα ήθελα λίγο τη βοήθεια σας. Έχω εγκαταστήσει το tightvnc και παίζει μια χαρά. Μπορώ και συνδέομαι από άλλα pc κανονικά. Απλά το πρόβλημα είναι αλλο. Πως μπορώ να το κάνω να ξεκινάει η εφαρμογή απο μόνη της στο boot? Στο /etc/rc.d δεν υπάρχει κανα script για αυτή την εφαρμογή. Η εντολή που δίνω για να ξεκινήσει ο server είναι vncserver. Το linux που έχω είναι arch.

 

 

Ευχαριστώ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

kde έχω αλλά ποιο είναι το θέμα. Δεν του έχω βάλει να ξεκινάει αυτόματα σε kde και ξεκινάει στην κονσόλα. Απλά αυτό θέλω να το χρησιμοποιώ όταν δεν είμαι σπίτι και δεν έχω αφήσει το pc ανοιχτό να λέω σε κάποιον να το ανοίξει και να παίζει αυτόματα για να μπορώ να το κλείσω. Υπάρχει τέτοια δυνατότητα? Πέρα απο το να βάλω το kde να ξεκινάει αυτόματα. Υπάρχει κάτι άλλο?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επειδή νομίζω το έχω επιχειρήσει. Η εντολή είναι vncserver. Δίνω αρχικά

nano /etc/rc.d/vnc

και γράφω μέσα vncserver. Το αποθηκεύω και του δίνχω 755 (rwxr-xr-x). Όλα αυτα σαν superuser. Και μπαίνω μετα στο /etc/rc.conf και βάζω στους δαίμονες τον vnc και δεν παίζει. Μήπως κάνω κάτι λάθος?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δοκίμασε το παρακάτω script.

 

>
#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

PID=`pidof -o %PPID /usr/bin/vncserver`
case "$1" in
 start)
   stat_busy "Starting VNC server Daemon"
   [ -z "$PID" ] && /usr/bin/vncserver
   if [ $? -gt 0 ]; then
     stat_fail
   else
     add_daemon vncserver
     stat_done
   fi
   ;;
 stop)
   stat_busy "Stopping VNC server Daemon"
   [ ! -z "$PID" ]  && kill $PID &> /dev/null
   if [ $? -gt 0 ]; then
     stat_fail
   else
     rm_daemon vncserver
     stat_done
   fi
   ;;
 restart)
   $0 stop
   sleep 1
   $0 start
   ;;
 *)
   echo "usage: $0 {start|stop|restart}"
esac
exit 0

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

πάει να ξεκιήσει. Κολάει στο busy και λέει the user variable is not set. Ίσως παει να το εκτελέσει σαν απλός χρήστης και οχι σαν su γιατί αν κάνω log in σαν su δίνω /etc/rc.d/vnc start και παίζει μια χαρα

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι... Από ότι βλέπω χρειάζεται την μεταβλητή $HOME που παίρνει τιμή αφού γίνει το logon. Δεν ξέρω αν υπάρχει κάποιο work around στο αρχείο vncserver.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι... Από ότι βλέπω χρειάζεται την μεταβλητή $HOME που παίρνει τιμή αφού γίνει το logon.

 

OPTIONS

In addition to the single-character shell options documented in the description of the set builtin com-

mand, bash interprets the following options when it is invoked:

-i If the -i option is present, the shell is interactive.

-l Make bash act as if it had been invoked as a login shell (see INVOCATION below).

 

[...]

 

INVOCATION

A login shell is one whose first character of argument zero is a -, or one started with the --login

option.

 

An interactive shell is one started without non-option arguments and without the -c option whose standard

input and error are both connected to terminals (as determined by isatty(3)), or one started with the -i

option. PS1 is set and $- includes i if bash is interactive, allowing a shell script or a startup file

to test this state.

 

The following paragraphs describe how bash executes its startup files. If any of the files exist but

cannot be read, bash reports an error. Tildes are expanded in file names as described below under Tilde

Expansion in the EXPANSION section.

 

When bash is invoked as an interactive login shell, or as a non-interactive shell with the --login

option, it first reads and executes commands from the file /etc/profile, if that file exists. After

reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads

and executes commands from the first one that exists and is readable. The --noprofile option may be used

when the shell is started to inhibit this behavior.

 

Οπότε Borror, για δοκίμασε στο script να βάλεις για shebang αντί

>#!/bin/bash

,

>#!/bin/bash -l

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δοκίμασε λίγο το παρακάτω. Όπου username βάλε το όνομα του χρήστη σου.

 

>
#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

PID=`pidof -o %PPID /usr/bin/vncserver`
case "$1" in
 start)
   stat_busy "Starting VNC server Daemon"
   [ -z "$PID" ] && su [color=red]username[/color] -c "/usr/bin/vncserver :8"
   if [ $? -gt 0 ]; then
     stat_fail
   else
     add_daemon vncserver
     stat_done
   fi
   ;;
 stop)
   stat_busy "Stopping VNC server Daemon"
   [ ! -z "$PID" ]  && kill $PID &> /dev/null
   if [ $? -gt 0 ]; then
     stat_fail
   else
     rm_daemon vncserver
     stat_done
   fi
   ;;
 restart)
   $0 stop
   sleep 1
   $0 start
   ;;
 *)
   echo "usage: $0 {start|stop|restart}"
esac
exit 0

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@nske

 

Δεν έκανε refresh πριν to post... To su username -c "command" νομίζω ότι δούλεψε. Μετά από μετά από το startup είδα με pidof Xvnc ότι είχε σηκωθεί...

 

@borror

 

Αν δεν θέλεις να φαίνονται τα μηνύματα του vncserver την γραμμή [ -z "$PID" ] && su username -c "/usr/bin/vncserver :8" άλλαξε την σε [ -z "$PID" ] && su username -c "/usr/bin/vncserver :8 &> /dev/null".

 

Edit:

 

Το ίδιο μόνο λίγο αλλαγμένο για να δουλεύει η επιλογή vnc stop.

 

>
#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

PID=`pidof -o %PPID /usr/bin/vncserver`
PID1=`pidof -o %PPID /usr/bin/Xvnc`
case "$1" in
 start)
   stat_busy "Starting VNC server Daemon"
   [ -z "$PID" ] && su [color=red]username[/color] -c "/usr/bin/vncserver :8"
   if [ $? -gt 0 ]; then
     stat_fail
   else
     add_daemon vncserver
     stat_done
   fi
   ;;
 stop)
   stat_busy "Stopping VNC server Daemon"
   [ ! -z "$PID1" ]  && kill $PID1 &> /dev/null
   if [ $? -gt 0 ]; then
     stat_fail
   else
     rm_daemon vncserver
     stat_done
   fi
   ;;
 restart)
   $0 stop
   sleep 1
   $0 start
   ;;
 *)
   echo "usage: $0 {start|stop|restart}"
esac
exit 0

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...