firewalker Δημοσ. 20 Δεκεμβρίου 2006 Share Δημοσ. 20 Δεκεμβρίου 2006 Υπάρχει τρόπος να γίνει η εκτέλεση μίας εφαρμογής αυτόματα μόλις ολοκληρωθεί με επιτυχία η σύνδεση στο Internet μέσω Dial Up; Υπάρχει κάποια εφαρμογή στο KDE που να ελέγχει τον pppd και να κάνει αυτό που θέλω; 'Η αν υπάρχει τρόπος να γίνει μέσω του kppp. Το έψαξα λίγο αλλά ... Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
nske Δημοσ. 20 Δεκεμβρίου 2006 Share Δημοσ. 20 Δεκεμβρίου 2006 Υπάρχει ο ίδιος ο pppd Pppd invokes the following scripts, if they exist. It is not an error if they don't exist. /etc/ppp/auth-up A program or script which is executed after the remote system successfully authenticates itself. It is executed with the parameters interface-name peer-name user-name tty-device speed Note that this script is not executed if the peer doesn't authenticate itself, for example when the noauth option is used. /etc/ppp/auth-down A program or script which is executed when the link goes down, if /etc/ppp/auth-up was previously executed. It is executed in the same manner with the same parameters as /etc/ppp/auth-up. /etc/ppp/ip-pre-up A program or script which is executed just before the ppp network interface is brought up. It is executed with the same parameters as the ip-up script (below). At this point the interface exists and has IP addresses assigned but is still down. This can be used to add firewall rules before any IP traffic can pass through the interface. Pppd will wait for this script to finish before bringing the interface up, so this script should run quickly. /etc/ppp/ip-up A program or script which is executed when the link is available for sending and receiving IP packets (that is, IPCP has come up). It is executed with the parameters interface-name tty-device speed local-IP-address remote-IP-address ipparam /etc/ppp/ip-down A program or script which is executed when the link is no longer available for sending and receiving IP packets. This script can be used for undoing the effects of the /etc/ppp/ip-up and /etc/ppp/ip-pre-up scripts. It is invoked in the same manner and with the same parameters as the ip-up script. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 20 Δεκεμβρίου 2006 Μέλος Share Δημοσ. 20 Δεκεμβρίου 2006 Υπάρχει ο ίδιος ο pppd Σε ευχαριστώ πολύ. Χρησιμοποιώ την επιλογή noauth. Έτσι έβαλα το πρόγραμμα που ήθελα στο ip-up αλλά δυστυχώς δεν εκτελείτε. Πρέπει να κάνω κάτι διαφορετικό από ότι σε άλλα scrips; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
NullScan Δημοσ. 20 Δεκεμβρίου 2006 Share Δημοσ. 20 Δεκεμβρίου 2006 Quick and dirty (μπακάλικο ελληνιστί). Φτιάξε ένα script που θα τρέχει το pppd με τα parameters που θέλεις και στην από κάτω γραμμή βάλε το πρόγραμμα που θέλεις να εκτελείται αμέσως μετά. Μετά χρησιμοποίησε αυτό το script για να κάνεις dial. > #!/bin/sh pppd <arguments> /path/to/app/here Κάπως έτσι. PS. Και να μην ξεχάσω. chmod +x script_name μετά για να γίνει executable. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 20 Δεκεμβρίου 2006 Μέλος Share Δημοσ. 20 Δεκεμβρίου 2006 Quick and dirty (μπακάλικο ελληνιστί). Φτιάξε ένα script που θα τρέχει το pppd με τα parameters που θέλεις και στην από κάτω γραμμή βάλε το πρόγραμμα που θέλεις να εκτελείται αμέσως μετά. Μετά χρησιμοποίησε αυτό το script για να κάνεις dial. Χρειάζομαι το kppp. Λοιπόν. Έβαλα στο ip-up την εντολή ls > /tmp/ls και την εκτέλεσε κανονικά. Το πρόβλημα είναι ότι όταν βάλεις να εκτελέσεις μία εντολή που θέλει πρόσβαση στον Χ ή κάποιο script που καλεί εντολή που θέλει πρόσβαση στον Χ. Ίσως το πρόβλημα να δημιουργείται επειδή οι εντολές του ip-up εκτελούνται σαν από super user. Υπάρχει τρόπος να του πω να εκτελεί μία εντολή για άλλον χρήστη; Αν ήθελα να τρέξω μία εντολή από κονσόλα του su αλλά για λογαριασμό άλλου χρήστη γίνεται; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
NullScan Δημοσ. 20 Δεκεμβρίου 2006 Share Δημοσ. 20 Δεκεμβρίου 2006 Σε αυτήν την περίπτωση μπορείς να χρησιμοποιήσεις το sudo και να το κάνεις configure έτσι ώστε για την συγκεκριμένη εντολή να μην σου ζητάει password για τον χρήστη σου. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 20 Δεκεμβρίου 2006 Μέλος Share Δημοσ. 20 Δεκεμβρίου 2006 Του έβαλα su -l -p όνομα_χρήστη -c εντολή αλλά τίποτε. Αν δώσω /etc/ppp/ip-up όλα καλά. Αν την δώσω από κονσόλα του root εκτελεί την εφαρμογή κανονικά για τον χρήστη που θέλω και χωρίς να ζητά password. Δεν μπορώ να καταλάβω τι φταίει. :( Σε εσάς τι ισχύει; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
NullScan Δημοσ. 20 Δεκεμβρίου 2006 Share Δημοσ. 20 Δεκεμβρίου 2006 Γιατί δεν δοκιμάζεις την sudo που σου είπα παραπάνω ? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 20 Δεκεμβρίου 2006 Μέλος Share Δημοσ. 20 Δεκεμβρίου 2006 Γιατί δεν δοκιμάζεις την sudo που σου είπα παραπάνω ? Τίποτε :( Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
nske Δημοσ. 20 Δεκεμβρίου 2006 Share Δημοσ. 20 Δεκεμβρίου 2006 Ίσως το πρόβλημα να δημιουργείται επειδή οι εντολές του ip-up εκτελούνται σαν από super user. Ναι, όπως αναφέρει η man page: The scripts are executed as root (with the real and effective user-id set to 0), so that they can do things such as update routing tables or run privileged daemons.[...] Pppd runs the scripts with standard input, output and error redirected to /dev/null, and with an environment that is empty except for some environment variables that give information about the link. Αυτό που θέλεις να εκτελέσεις τι είναι; Μήπως απαιτεί κάτι παραπάνω από ένα άδειο περιβάλλον; Αν είναι γραφική εφαρμογή σίγουρα θα χρειαστεί να ορίσεις τουλάχιστον την $DISPLAY. Επίσης χρησιμοποίησε πλήρες path για οτιδήποτε είναι να εκτελέσεις (ακόμη και για την su), αφού στο περιβάλλον που εκτελείται το script δεν υπάρχει ούτε η $PATH. Αν υπάρχει πρόβλημα με τα privileges, δοκίμασε και το εξής option: welcome script Run the executable or shell command specified by script before initiating PPP negotiation, after the connect script (if any) has completed. A value for this option from a privileged source cannot be overridden by a non-privileged user. Αν το περάσεις στο ~/.ppprc του user σου λογικά θα εκτελεστεί με τα ίδια permissions του user. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 20 Δεκεμβρίου 2006 Μέλος Share Δημοσ. 20 Δεκεμβρίου 2006 δοκίμασα μέσα στο ip-up να βάλω και τα PATH=/sbin:/usr/sbin:/bin:/usr/bin export PATH καθώς και το fuul path της εφαρμογής. Θέλω να τρέχω το checkgmail που νομίζω είμαι σε perl. Διότι αν ξεκινήσει πριν από την ολοκλήρωση της σύνδεσης κολλάει. Και συνεχώς ξεχνάω να το ξεκινάω και κατά συνέπεια ξεχνάω να πάρω και τα mail μου. Το ~/.ppprc δεν υπάρχει να το δημιουργήσω; Τι να βάλω μέσα; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
nske Δημοσ. 20 Δεκεμβρίου 2006 Share Δημοσ. 20 Δεκεμβρίου 2006 Το ~/.ppprc δεν υπάρχει να το δημιουργήσω; Τι να βάλω μέσα; Μπορείς να βάλεις σχεδόν ό,τι θα έβαζες στο /etc/ppp/options, απλά είναι user-specific. Η welcome παίρνει για παράμετρο τη διαδρομή προς μια εφαρμογή που θα εκτελεστεί, αλλά πριν ολοκληρωθεί η σύνδεση, οπότε δε θα σου κάνει λογικά (εκτός και αν μεσολαβήσεις κάποιο script που θα κάνει sleep για κάποια δευτερόλεπτα και μετά θα εκτελεί αυτό που θέλεις, αλλά και αυτό δεν είναι σωστό -το σωστό είναι να χρησιμοποιήσεις τo ip-up). Το checkgmail είναι γραφική εφαρμογή από ότι βλέπω, οπότε το απολύτως ελάχιστο να περιμένει να υπάρχει και $DISPLAY ορισμένη. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 20 Δεκεμβρίου 2006 Μέλος Share Δημοσ. 20 Δεκεμβρίου 2006 Το checkgmail είναι γραφική εφαρμογή από ότι βλέπω, οπότε το απολύτως ελάχιστο να περιμένει να υπάρχει και $DISPLAY ορισμένη. Σε ευχαριστώ πάρα πολύ. Λοιπόν έβαλα τα εξής και όλα εντάξει. > PATH=/sbin:/usr/sbin:/bin:/usr/bin export PATH export DISPLAY=:0.0 /bin/su -l -p firewalker -c /usr/bin/checkgmail Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 20 Δεκεμβρίου 2006 Μέλος Share Δημοσ. 20 Δεκεμβρίου 2006 Λοιπόν το ομόρφυνα λίγο. Έφτιαξα ένα άλλο script, το checkgmail.rc και μέσα έβαλα τα εξής: > #!/bin/bash PATH=/sbin:/usr/sbin:/bin:/usr/bin export PATH export DISPLAY=:0.0 PID=`pidof -s -x -o %PPID /usr/bin/checkgmail` if [ "$PID" = "" ]; then /bin/su -l -p firewalker -c /usr/bin/checkgmail fi Αποτρέπω και το να τρέχουν πάνω από ένα instances του προγράμματος. Στο /etc/ppp/ip-up έβαλα μόνο το path του checkgmal.rc > #!/bin/sh # # This script is run by pppd when there's a successful ppp connection. # /bin/checkgmail.rc Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.