এক পর্যায়ে আমার অ্যাপ্লিকেশনটির প্রশাসনিক কাজগুলি করা দরকার যেমন / / এ কোনও ফাইল তৈরি করা বা রুট প্রাইভেলিজ সহ কমান্ড চালানো।
আমি জানি কেবল একটি প্রশ্নোত্তর করতে পেরেছিলাম:
os.popen("pkexec foo bar")
তবে আমি এটাও জানি যে এটি করার পূর্বাভাস পরিষ্কার উপায় নয়। ব্যবহারকারীর জন্য একরকম বিরক্তিকর কারণ কারণ তার সবসময় সেশন-এর মতো হ্যান্ডলিংয়ের পরিবর্তে তার পাসওয়ার্ডটি পুনরায় প্রবেশ করা প্রয়োজন।
প্রমাণীকরণের জন্য অজগর উদাহরণটি পেয়েছি বলে আমি খুব আশাবাদী ছিলাম ।
এটি একটি সাধারণ উদাহরণ যা তাত্ক্ষণিকভাবে কাজ করে:
import dbus
bus = dbus.SystemBus()
proxy = bus.get_object('org.freedesktop.PolicyKit1', '/org/freedesktop/PolicyKit1/Authority')
authority = dbus.Interface(proxy, dbus_interface='org.freedesktop.PolicyKit1.Authority')
system_bus_name = bus.get_unique_name()
subject = ('system-bus-name', {'name' : system_bus_name})
action_id = 'org.freedesktop.policykit.exec'
details = {}
flags = 1 # AllowUserInteraction flag
cancellation_id = '' # No cancellation id
result = authority.CheckAuthorization(subject, action_id, details, flags, cancellation_id)
print result
আমি বেশ নির্বোধ ভেবেছিলাম যে অনুমোদনের পরে আমি কেবল কিছু os.popen () - কমান্ড দিয়ে স্ক্রিপ্টে যেতে পারি। এখন আমি আরও ভাল জানি :(
আমি উপরের উদাহরণটির টিউপল-ফলাফলটি দেখতে পাচ্ছি, তবে পরবর্তী ডকুমেন্টেশনে আমি এই পর্যায়ে যেতে একটি কার্যকরী কোড খুঁজে পাইনি।
এই ফলাফলটি নিয়ে আমার কী করতে হবে? আমি কীভাবে আমার প্রয়োজনীয় কাজগুলি সম্পাদন করতে পারি? উপলব্ধ পদ্ধতি উপলব্ধ যে উদাহরণ সঙ্গে একটি অজগর রেফারেন্স আছে?
আমি dir () ব্যবহার করে অনুমোদনের পদ্ধতিগুলি তালিকাবদ্ধ করার চেষ্টা করেছি তবে কীভাবে চলতে হবে তার কোনও সন্ধান পাইনি।
আমি সত্যিই আমার ফ্যালব্যাক ব্যবহার এড়াতে চাই তবে এটি আমার শেষ অবলম্বন হবে। দয়া করে আমাকে এটি সঠিকভাবে করতে সহায়তা করুন :)
ধন্যবাদান্তে
আঁদ্রে
সম্পাদনা:
আমি এটিকে কাজটিতে আনিনি এবং gksu দিয়ে আমার প্রোগ্রাম শুরু করে আমার পূর্বের সমাধানটি / opt / এর বাইরে কাজ করে না, অবশেষে আমি ছাড়তে হয়েছিল এবং একটি হাজার পাসওয়ার্ড চেয়েছিলাম যাতে প্রোগ্রামটি কমপক্ষে প্রাথমিকের কাজটি করার জন্য পাসওয়ার্ড চায়? অ্যাপ্লিকেশন শোডাউনতে একটি টি-শার্ট।
আমি সমস্যাটি লক্ষ্য করিনি কারণ আমি প্রথমে একটি দ্রুত ভাগ করেছিলাম। সেখানে সবকিছু ঠিকঠাক কাজ করেছে। শুরুতে পাসওয়ার্ডের জন্য একবার জিজ্ঞাসা করুন। আমি এখন সম্পূর্ণ নিচে। অ্যাপশোডাউনের জন্য আমার অবদানটি ছিল https://launchpad.net/armorforge । ;-(