मैं पूरी तरह से यह कोशिश नहीं कर सकता क्योंकि मेरी सभी मशीनें रूट अक्षम हैं।
यह पता लगाने के लिए कि उपयोगकर्ता किस डिस्प्ले पर है, आप whoकमांड का उपयोग कर सकते हैं । आउटपुट का अंतिम कॉलम आमतौर पर प्रदर्शन होता है जिसे उपयोगकर्ता लॉग ऑन करता है। कुछ इस तरह से सिर्फ डिस्प्ले को हथियाने के लिए इस्तेमाल किया जा सकता है (ऐसा करने के लिए कहीं अधिक कुशल तरीका है, संपादन की पेशकश करने के लिए स्वतंत्र महसूस करें):
who | grep -m1 ^username.*\( | awk '{print $5}' | sed 's/[(|)]//g'
फिर उस डिस्प्ले पर एक ग्राफिकल X कमांड लॉन्च करने के लिए:
DISPLAY=:0 firefox &
जहाँ: 0 को आप पहले कमांड में पाए जाने वाले डिस्प्ले से बदल दिया जाएगा और फ़ायरफ़ॉक्स को आप जो भी कमांड चलाना चाहते हैं उसे बदल दिया जाएगा। आप इसे शेल स्क्रिप्ट में रख सकते हैं और बस एक चर का उपयोग कर सकते हैं।
अगला भाग वह भाग है जिसका मैंने परीक्षण नहीं किया है, लेकिन मैं यह नहीं देखता कि ऐसा करना क्यों संभव नहीं है:
su username -c "DISPLAY=:0 firefox"
उस उपयोगकर्ता के रूप में एक्स कमांड लॉन्च करने के लिए।
naga_plugged.plस्क्रिप्ट खत्म (या पृष्ठभूमि में कांटे), क्योंकिudevइसके बाहर निकलने का इंतजार किया जाएगा।