VLC प्लेयर को रूट में कैसे चलाएं


23

मैंने सेंट्रो 6.5 में एक vlc स्थापित किया है। मैं इसे जड़ के रूप में चलाना चाहता हूं। लेकिन मुझे निम्नलिखित त्रुटि मिलती है,

"VLC को रूट के रूप में नहीं चलाया जाना चाहिए। क्षमा करें। यदि आपको वास्तविक समय की प्राथमिकताओं और / या विशेषाधिकार प्राप्त टीसीपी पोर्ट का उपयोग करने की आवश्यकता है, तो आप vlc-आवरण का उपयोग कर सकते हैं (सुनिश्चित करें कि यह सेट-यूआईडी रूट है और इसे गैर द्वारा नहीं चलाया जा सकता- विश्वसनीय उपयोगकर्ता पहले)। "


13
जिज्ञासा से बाहर, ऐसा करने का कारण क्या होगा?
kursus

2
तो vlc-wrapperजैसे कहते हैं वैसे ही उपयोग करें ?
केविन

3
प्रो-टिप: ऐसा न करें।
२०:१४ पर हालोसगॉस्ट

1
इससे आपको मदद मिलने की आशा है। hackingzones.com/run-vlc-as-root-in-linux-ubuntu-pear-os चिराग सिंह
चिराग

1
स्रोत कोड उपलब्ध होने के बाद से कुछ स्तरों पर संदर्भित लिंक एक दिलचस्प हैक ( getuidकॉल के साथ एक हेक्स एडिटर का उपयोग करें getpid) है, परीक्षण को पूरी तरह से हटाने के लिए स्रोत को संपादित करने के लिए एक क्लीनर दृष्टिकोण होगा और फिर से खेलना होगा। दोनों ही मामलों में मैं ऐसा करने के खिलाफ सिफारिश करूंगा, लेकिन अगर आप अपने पैर को गोली मारना चाहते हैं। । ।
22

जवाबों:


51

इसी से मेरा काम बना है। कोई संकलन की आवश्यकता नहीं है।

sed -i 's/geteuid/getppid/' /usr/bin/vlc

एक रास्पबेरी पाई पर VLC मीडिया प्लेयर 2.0.3 Twoflower का उपयोग करना ।


3
एक जादू की तरह काम किया। :)
कृष्णदास पीसी

3
हाँ यह नर्क है :) +1
onalbi

हाहा यह यूआईडी के बजाय पिड की जांच करने के लिए पैचिंग करता है, और यह बहुत अच्छा काम करता है। भयानक हैक!
हेंशेंरिक

1
इसने vlc 3.0.1 के साथ
Ofer Sadan

मेरे लिए भी काम किया ...
डैनी

17

इस के आसपास एक रास्ता recompiling है। --enable-run-as-rootध्वज को पास ./configureऔर vlc को रूट के रूप में चलाने में सक्षम होना चाहिए। उपरोक्त उत्तर यहाँ से है


2
recompiling करना एकमात्र तरीका नहीं है, केवल कॉल डिलीट करने के लिए गेटवाइड को डिलीवर करने के लिए 1. मैं linuxintro.org/wiki/Run_vlc_as_root
Thorsten Staerk

@ThorstenStaerk, मुझे जानकारी प्रदान करने के लिए धन्यवाद।
रमेश

क्या आप इस सवाल का जवाब दे सकते हैं?
थॉर्स्टन स्टैकर

@ThorstenStaerk: डेड लिंक ...
अलेक्जेंड्रे बॉलीयर

1
@ अलेक्सांड्रे बॉर्लियर: काम करता है (फिर से)
थोरस्टेन स्टैकर

1

Http://www.linuxintro.org/wiki/Run_vlc_as_root देखें :

  • VLC बाइनरी बैकअप करें:

    # cp /usr/bin/vlc /usr/bin/vlc-backup
    
  • geteuidVLC बाइनरी के अंदर कॉल को ढूंढें :

    # needle=$(objdump -d /usr/bin/vlc | grep euid | tail -1 | awk '{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6;}')
    
  • कॉल को केवल वितरित करने के लिए बदलें 01:

    # sed -ir "s/$needle/\xb8\x01\x00\x00\x00/" /usr/bin/vlc
    
  • झसे आज़माओ

VLC अब रूट उपयोगकर्ता के तहत चलना चाहिए!


1

में स्थित VLC बाइनरी को संशोधित करके आप VLC को रूट के रूप में चला पाएंगे /usr/bin

सबसे पहले, आपको आशीर्वाद की तरह एक हेक्स-संपादक की आवश्यकता होगी:

sudo apt-get install bless

फिर, आप हेक्स-एडिटर के साथ VLC बाइनरी ओपन करेंगे:

sudo bless /usr/bin/vlc

खोज और geteuidस्ट्रिंग को बदलें getppid, सहेजें और बाहर निकलें।

अब आप VLC को रूट के रूप में लॉन्च कर सकते हैं।


0

VLC को रूट के रूप में चलाने के लिए नहीं माना जाता है। माफ़ कीजिये। - समाधान

वैसे भी, मैंने निम्नलिखित कमांड का उपयोग करके vlc स्थापित किया है;

# aptitude install vlc

और vlc को चलाने की कोशिश की क्योंकि रूट को मेरे टर्मिनल पर त्रुटि मिली;

# vlc

VLC को रूट के रूप में चलाने के लिए नहीं माना जाता है। माफ़ कीजिये।

यदि आपको वास्तविक समय की प्राथमिकताओं और / या विशेषाधिकार प्राप्त टीसीपी पोर्ट का उपयोग करने की आवश्यकता है

आप vlc-आवरण का उपयोग कर सकते हैं (सुनिश्चित करें कि यह सेट-यूआईडी रूट है और

गैर-विश्वसनीय उपयोगकर्ताओं द्वारा पहले नहीं चलाया जा सकता है)।

यह त्रुटि कहती है कि सीधे फॉरवर्ड vlc को रूट विशेषाधिकार प्राप्त उपयोगकर्ता के रूप में नहीं चलाया जा सकता है। अब क्या करे? घबराओ मत। यहाँ हैक समाधान है 😀

# vi /usr/bin/vlc

के लिए खोज geteuidऔर इसके साथ बदलेंgetppid

फ़ाइल सहेजें और बाहर निकलें।

अब यह काम करना चाहिए, इसे फिर से चलाने की कोशिश करें try

या

sed -i 's/geteuid/getppid/' /usr/bin/vlc

18 महीने पहले रॉडव्लोप्स में दिए गए पहचान संबंधी समाधान!

0

प्रॉपर्टी main menuखोजने के लिए यहां जाएं vlc:

gksu -u vlc

या बस टर्मिनल प्रकार में

gksu -u <username(no root)> vlc

उदाहरण के लिए, यदि आपके पास abcउपयोगकर्ता है तो आपकी आज्ञा होगी:

gksu -u abc vlc

0

Vlc-आवरण के उपयोग से सुझाए गए प्रश्न की टिप्पणियों में केविन। मुझे यह पता लगाने में परेशानी हुई कि इसका उपयोग कैसे करना है, इसलिए मैं इसका वर्णन करूँगा कि मैंने इसे कैसे बनाया:

आपको अपना गैर-विशेषाधिकार प्राप्त उपयोगकर्ता SUDO_UID में सेट करना होगा: SUDO_UID = 1000 निर्यात करें

अगर आपके पास एक बनाने के लिए vlc चलाने के लिए कोई उपयोगकर्ता नहीं है:

useradd -g users vlc
# this will show you the uid of vlc user
id -u vlc

यदि आप SUDO_UID चर स्थायी चाहते हैं, तो इसे bashrc में जोड़ें:

echo "export SUDO_UID=1000" >> /root/.bashrc

सावधान>> के बजाय एक> लिखने के लिए सावधान रहें

इसके बाद vlc के बजाय vlc-आवरण का उपयोग करें


-1
sed -i 's/geteuid/getppid/' /usr/bin/vlc

यह काम करता हैं।


2
यह अच्छा होगा यदि आप बता सकते हैं कि यह विशेष उत्तर समस्या का समाधान क्यों करता है।
जेफ स्कालर

1
8 महीने पहले रॉडव्लोप्स में दिए गए पहचान संबंधी समाधान!

1
-1 क्योंकि यह इस सटीक पृष्ठ पर दूसरे उत्तर की कॉपी-पेस्ट है।
समुच्चय

@ जेफ़ स्कॉलर अगर गेटूइड 0 देता है, तो vlc जानता है कि यह रूट है। हालांकि, गेटपिड हमेशा एक गैर-शून्य परिणाम लौटाएगा, और इसके नाम की लंबाई आसानी से गेटवेइड के समान है। इस प्रकार, द्विआधारी अब geteuid के स्थान पर getppid लिंक करता है, और vlc कभी भी यह रूट नहीं है!
जॉर्ज

1
@ जॉर्ज मुझे पता है कि यह क्या कर रहा है; मैं उम्मीद कर रहा था कि user149272 एक स्पष्टीकरण के साथ उनके उत्तर में सुधार कर सकता है।
जेफ स्कालर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.