Τρέξε Bash Script ζητώντας Sudo σε Παραθυρικό Modal

Είχα μια ανάγκη να φτιάξω ένα Script να μου ξεκινάει το OpenVPN .ovpn configuration file μου διότι δεν υπάρχει ένα παραθυρικό που να κάνει σωστά τη δουλειά του, εν’έτη 2023 ναι δεν υπάρχει !!!

Έφτιαξα το OpenVPN conf όπως έπρεπε για να πραγματοποιηθεί η σύνδεση και μετά έμεινε το scripting του.

Έφτιαξα σε ένα σημείο ένα connect.sh που θα είναι “πάντα” εκεί, και του έδωσα το παρακάτω

PASSWD="$(zenity --password --title=Authentication)\n"
echo -e $PASSWD | sudo -S oi-entoles-sou edo

όπου το oi-entoles-sou-edo είναι το Script μου.

Το αποτέλεσμα, πετάει ένα παραθυράκι, ζητάει το Super user password, το περνάει στο shell script σαν να είχε ζητηθεί και τρέχει την εντολή.

Και το full path για το OpenVPN θα ήταν

PASSWD="$(zenity --password --title=Authentication)\n"
echo -e $PASSWD | sudo -S openvpn --config /home/lef/openvpn.ovpn

Μια παραλλαγή του προσπάθησα με το kdialog

kdialog --password "Please enter your password: "

Αλλά δεν κατάφερα να περάσω το argument όταν στα καπάκια έτρεχε το sudo για την εντολή… καλό να το ξέρουμε όμως ότι και αυτό σηκώνει παράθυρο.
Ένα άλλο παράδειγμα θα ήταν

kdialog --title "Log of files" --textbox /home/user/data.txt 640 480

όπου δείχνει τα περιεχόμενα ενός αρχείο, στο παράδειγμα /home/user/data.txt σε ένα window modal μπροστά σου, με επιλογή να το κλείσεις, ωραίο να καταλήγεις ένα log για προβολή με αυτό.

Ελπίζω να βοήθησαν! :wink:

4 «Μου αρέσει»

@SomniusX τo connect.sh βρίσκεται στον φάκελο (directory) του OpenVPN ;
Το παράθυρο είναι το zenity;
Το παράθυρο εμφανίζεται μόλις πατήσουμε το εικονίδιο του OpenVPN ή μόλις εκτελέσουμε τον OpenVPN ;

1 «Μου αρέσει»

Ωραίο πράγμα! Μπράβο και σ’ ευχαριστούμε. Αν θες μόνο να μου πεις, τι θα πει “modal παράθυρο”;

2 «Μου αρέσει»

Ναι το άφησα εκεί που είναι το .ovpn conf για αυτή τη περίπτωση, ένα σταθερό path, και έβαλα ένα symbolic link τύπου
ln -s connect.sh ~/Desktop/OpenVPN\ Work.sh
και το τρέχω με δεξί κλικ Run as Program

Το παράθυρο είναι το zenity, ναι!
Το παράθυρο εμφανίζεται για να ζητήσει τον κωδικό ή ότι άλλο έχεις πριν τρέξεις την εντολή σου για να το περάσει στην εντολή “εάν” ζητηθεί, όπως ζητείται το password όταν τρέχεις sudo.

1 «Μου αρέσει»

Με δικά μου λόγια είναι ένα παράθυρο που έχει την προσοχή σου, κι εσύ ανταποκρίνεσαι

Με της wikipedia τα λόγια →

1 «Μου αρέσει»