उपयोगकर्ता लॉगिंग के बाद बैश निष्पादित नहीं किया गया - लिनक्स, बैश, खोल, डॉकर

मैं उपयोगकर्ता को लॉग इन करने के बाद स्क्रिप्ट निष्पादित करने की कोशिश कर रहा हूं, लेकिन यह काम नहीं कर रहा है।

मैंने एक स्क्रिप्ट बनाई है, जो कमांड "डूकर एक्ज़क्यूट" और शेल बैश के साथ डॉक को निष्पादित कर रहा है। इसके बाद, एक विशिष्ट एप्लिकेशन लॉन्च करने के लिए कुछ कमांड्स को शेल में निष्पादित किया जाता है।

मैंने इस स्क्रिप्ट को फ़ोल्डर /etc/profile.d/ में डाल दिया है, लेकिन उपयोगकर्ता द्वारा लॉग इन करने के बाद कुछ नहीं होता है।

मैंने उपयोगकर्ता होम डायरेक्टरी पर एक साधारण कमांड "mkdir" के साथ एक सरल स्क्रिप्ट का भी परीक्षण किया है और यह काम कर रहा है इसलिए मुझे लगता है कि समस्या docker में शेल बैश के कारण है।

यहाँ स्क्रिप्ट है:

#!/bin/bash
xhost +local:of_v1606_plus
docker start of_v1606_plus
docker exec -it of_v1606_plus bash --rcfile "/opt/application/setImage_v1606+" -c "cd /home/user/application/run/ ; application"

उत्तर:

उत्तर № 1 के लिए 1

मुझे भी यही समस्या थी और मैंने xdg का इस्तेमाल किया। आपको सिर्फ a बनाना है ।डेस्कटॉप इस प्रारूप के साथ:

[Desktop Entry]
Type=Application
Name=Application Name
Comment=Application Comment
Exec= your program or path

जरूरत पड़ने पर आप अन्य विकल्प जोड़ सकते हैं।

इसके बाद अपनी .desktop फाइल को इसमें डालें / Etc / XDG / स्वत: प्रारंभ /

उपयोगकर्ता लॉगऑन के बाद आपका प्रोग्राम चलना चाहिए।


संबंधित सवाल
सबसे लोकप्रिय