আমি জিইউআই থেকে "শাট ডাউন" চাপলে কী হয়?


15

আমি বেশ কিছুক্ষণ ধরে এর বিরুদ্ধে মাথা ঘুরাচ্ছি। এটি এই প্রশ্নের সাথে সম্পর্কিত । আমি জিইআইআই থেকে আমার লিনাক্স বাক্সটি বন্ধ করার জন্য যখন বেছে নিই তখন কী ঘটে তা আমি খুঁজে পেতে চাই। এটি মনে হয় নিখরচায় (নিখরচায়) নথিভুক্ত।

আদর্শভাবে, আমি একটি ডিই- এবং ওএস-অজোনস্টিক উত্তর আশা করছি। এটি বাদ দিয়ে, আমি ম্যান্ড্রিভা 2010.1 এবং ডেবিয়ান 6.x (স্কিউজ) এবং 7.0 (হুইজি) সমস্ত পরিচালিত জিনোমের সুনির্দিষ্ট ক্ষেত্রে আগ্রহী। (আপনি যদি মনোযোগ দিয়ে মনোযোগ দিচ্ছেন তবে হ্যাঁ এটি জিনোম 2 এবং জিনোম 3)

মূলত, আমি জানতে চাই যে স্ক্রিপ্টগুলির কোন আদেশ / স্ক্রিপ্ট / ক্রম শুরু হয় যখন আমি "শাট ডাউন" বা "পুনঃসূচনা" টিপব যাতে আমি তাদের আচরণটি সংশোধন করতে পারি। কিছু ফোরামের পোস্টগুলিতে আমি হ্যাকিংয়ের পরামর্শ দিয়েছিলাম /etc/polkit-1/*তবে এই ডিরেক্টরিটির কাঠামোটি আমার দেবিয়ান (স্কুইজ) বাক্সে কেবল একটি কঙ্কাল, উদাহরণস্বরূপ।

কেউ সাহায্য করতে পারেন?


সম্পাদনা

আমি এখন পর্যন্ত যা চেষ্টা করেছি

  • shutdownএক্সিকিউটেবলকে আমার নিজের একটি স্ক্রিপ্ট দিয়ে প্রতিস্থাপন করে । এটি কার্যকর হয় না: যখন আমি shutdownআমার স্ক্রিপ্টটি সম্পাদন না করে জিনোম লগ আউট টিপব।
  • জিনোম 2 মেনু সম্পাদনা করার চেষ্টা করা হয়েছে। কোনও আনন্দ নেই: "শাটডাউন", "লগ আউট" এবং "লক স্ক্রিন" বিকল্পগুলি মেনু সম্পাদকটিতে উপস্থিত হয় না।
  • তাকিয়ে আছে /usr/share/menu, সেখানে কিছুই সহায়ক নয়।

সমাধানের সম্ভাব্য উপায়গুলি

  • straceজিইউআই বিকল্পগুলি এনগন করা (এটি কি সম্ভব?)
  • এ খুঁজছি shutdown'র সোর্স কোড
  • এ খুঁজছি gnome-session'র সোর্স কোড

হালনাগাদ

নীচের উত্তরের আমার মতামত অনুসারে, আমি বার্তাটি ছুঁড়ে বলে একটি ক্রিয়াটির polkitঅধীনে ক্রিয়াগুলি অনুসন্ধান করেছি /usr/share/polkit-1/actions/এবং (ফাইলটিতে org.freedesktop.consolekit.policy) খুঁজে পেয়েছিorg.freedesktop.consolekit.system.stop-multiple-users

System policy prevents stopping the system when other users are logged in

আমি ভাবছি ( org.freedesktop.*নামকরণের সম্মেলনের কারণে ) যে এটি ডি-বাসের মাধ্যমে ডিএমকে প্রেরণে এক প্রকারের সংকেত। তদুপরি, অন্যান্য ব্যবহারকারীরা লগ ইন থাকাকালীন এই বার্তাটি গ্রাফিকভাবে শাটডাউন করার চেষ্টা করার সময় উপস্থিত হয়, সুতরাং GUI থেকে "শাট ডাউন" বা "পাওয়ার অফ" নির্বাচিত হওয়ার পরে যে প্রক্রিয়াটি এটি ট্রিগার করে তা অবশ্যই কার্যকর হবে।

কেউ কি নিশ্চিত / খণ্ডন করতে পারে? এই সংকেতটি কোনওভাবে বাধা দেওয়ার বা এটি সংশোধন করার কোনও সম্ভাবনা আছে কি?


তুমি অর্জন করার জন্য কি চেষ্টা করতেছ? আপনি যখন থামানো হচ্ছে তখন কোনও স্ক্রিপ্ট কল/etc/init.d/rc.local করতে কোনও সম্পাদনা যুক্ত করতে পারেন ।

@ ডিপপিড আমি যা সম্পাদন করতে চাইছি তা আমার পুরানো প্রশ্নে যা আমি লিঙ্ক করেছি: আমি স্থানীয়ভাবে লগ-ইন হওয়া ব্যবহারকারীকে অন্য ব্যবহারকারীর এসএসএইচ অধিবেশন ক্লোবার্বিংয়ের হাত থেকে আটকাতে চাইছি।
জোসেফ আর।

উত্তর:


9

এটি আপনার ডিসপ্লে ম্যানেজারের উপর নির্ভর করে! (যেমন কেডিএম, জিডিএম)

আপনার ডিএম রুট হিসাবে চালায় দয়া করে মনে রাখবেন! (আপনি লগ ইন করেছেন এমন ব্যবহারকারী হিসাবে আপনার সেশন প্রক্রিয়াটি চালানোর জন্য এটির মূল অধিকারগুলির প্রয়োজন)

আপনি যখন কেডিএ বা জিনোমে শাটডাউন ক্লিক করেন, আপনার ডিই ডিএমকে বিদ্যুৎ বন্ধ বা সেশনটি শেষ হওয়ার পরে পুনরায় চালু করতে একটি সিগন্যাল প্রেরণ করে। তারপরে, আপনার ডিই প্রতিটি প্রোগ্রামকে শেষ হতে বলে এবং অন্য সমস্ত প্রক্রিয়া একবারে শেষ হয়ে যায় (বা একটি সময়সীমা শেষ হয়ে যায়), আপনার ডি এর শেষ প্রক্রিয়া - সেশন প্রক্রিয়া - সমাপ্ত হয়।

এক্স 11 সেশনে সেশন প্রক্রিয়াটি প্রথম প্রক্রিয়া শুরু হয়। এটি মারা গেলে বা এটি সমাপ্ত হয়, সেশনটি সমাপ্ত হয়। আপনি কি কখনও এক্সটারিম ছাড়েন যখন এক্স ছাড়াই? এটি একটি অধিবেশন প্রক্রিয়া। এই প্রক্রিয়াটি kdeinitকেডিএ এবং gnome-sessionজিনোমে ডাকা হয় ।

অধিবেশনটি সমাপ্ত হয়ে গেলে, নিয়ন্ত্রণ আপনার ডিএম-এ ফিরে আসে (যা এক্স প্রক্রিয়াটি শেষ হওয়ার অপেক্ষায় ছিল), এবং এটি ডিই তাকে কী করতে বলেছিল তা পরীক্ষা করে। যদি এটি এটিকে বিদ্যুৎ বন্ধ বা পুনরায় চালু করতে বলে, এটি এটি করবে। অন্য ক্ষেত্রে এটি এক্সে নতুন লগইন স্ক্রিনটি শুরু করবে

এটি পূর্ববর্তী সময়ে আপনার যে সমস্যার মুখোমুখি হয়েছিল, তার সাথেও জড়িত, কিছু ডিইএম বিদ্যুৎ বন্ধ করতে বা পুনরায় চালু করতে সক্ষম হয় নি, লগ আউট করার জন্য, যখন অন্য কোনও ডিএম এর সাথে সম্মিলিতভাবে ব্যবহৃত হয়।

যে কোনও ক্ষেত্রে, এটি এত খারাপ ডকুমেন্টেড নয়। জিডিএম- এর একটি কমান্ডের একটি ম্যানুয়াল পৃষ্ঠা রয়েছে যা আপনাকে এটিকে শাটডাউন করতে বলার অনুমতি দেয় ঠিক যেমন আমি আগে বলেছি ( gdm-control)। কেডিএমেরও খুব চমৎকার ডকুমেন্টেশন রয়েছে এবং এর সাথে মিল রয়েছে (কিছুটা জটিল) ইউটিলিটি kdmctl


পলিসিকিট ব্যতীত শাটডাউন এবং পুনঃসূচনা সম্ভব, কিন্তু পলিসিকিট আজকালকার সিস্টেমে যেমন রুট হওয়া, কম্পিউটারকে স্থগিত করা বা হাইবারনেট না করে মাউন্ট ডিস্কের প্রয়োজনীয় অনেকগুলি কাজ করে। এবং এটি দু'টিই নথিভুক্ত নয়!

পলিসিকিট কী এবং কীভাবে এটি কাজ করে সে সম্পর্কে আরও জানতে চাইলে এটি দেখুন: http://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html


প্রতিশ্রুতিশীল শোনাচ্ছে. দস্তাবেজের লিঙ্কগুলির জন্য ধন্যবাদ। আমার সন্দেহ নেই যে এই ম্যানুয়ালগুলি বিস্তৃত এবং স্পষ্ট তবে সেগুলি সম্ভবত বিদ্যমান ছিল না। আপনার উত্তরটি প্রথমবারের মতো আমি এই সমস্যার সাথে মিল রেখে উল্লিখিত প্রদর্শন পরিচালককে দেখেছি, সুতরাং এটি ঠিক সাধারণ জ্ঞান নয়। আমি এটি চেষ্টা করব এবং আপনাকে জানাব ...
জোসেফ আর।

ঠিক আছে. gdm-controlকোন সাহায্য ছিল না। পলিসিকিটে আপনার সরবরাহিত ডকুমেন্টেশনটি আরও আশাব্যঞ্জক বলে মনে হচ্ছে। আমি এটি খনন করব এবং দেখব আমি কাস্টম বিধি প্রয়োগ করতে পারি কিনা। চালিয়ে যেতে ...
জোসেফ আর।

1
আমি কিছু পাঠ করেছি (স্কিমিং, আরও পছন্দ) এবং দয়া করে আমি ভুল হলে আমাকে সংশোধন করুন: ডিই, শাটডাউন করার অনুরোধ করা হলে ডি-বাসে পোলকিটের মাধ্যমে ডিএমকে একটি বার্তা দেবে। অনুমোদনের জন্য মুলতুবি রয়েছে, অধিবেশনটি হয় সমাপ্ত হতে পারে বা অনুরোধ প্রত্যাহার করা হতে পারে। এই সংজ্ঞায়িত করা হয় polkitকর্ম নামক org.freedesktop.consolekit.system.stop-multiple-usersমধ্যে /usr/share/polkit-1/actionsএটা নিষ্ক্রিয় ব্যবহারকারীদের জন্য এবং অনুরোধ প্রত্যাহার সেট করা হয় auth_admin_keepসক্রিয় ব্যবহারকারীর জন্য। প্রশ্নটি হল, এই ক্রিয়াটি কী সংজ্ঞায়িত করে? এটি ঠিক কি কার্যকর করে?
জোসেফ আর।

@ don_crissti এখনও আমি বুঝতে পারছি যে। আমি যে বিষয়ে আগ্রহী তা হ'ল এই "সংকেত"। এটি পাঠানো ক্লায়েন্ট কী?
জোসেফ আর।

@ don_crissti এই মন্তব্যটি আমার অন্যান্য প্রশ্নে অনুসরণ করার জন্য যত্ন নিতে ?
জোসেফ আর।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.