উত্তর:
উভয় ফাইল একই জায়গায় নির্দেশ করে:
$ ls -l /usr/bin/gksudo
lrwxrwxrwx 1 root root 4 2010-09-27 18:23 /usr/bin/gksudo -> gksu
... এর gksudo
সাথে সিলেক্ট করা আছে gksu
। কিন্তু তার মানে এই নয় তারা কি এটা থেকে অনেক দূরে একই জিনিস।
অ্যাপ্লিকেশনগুলি এটি চালানোর জন্য ব্যবহৃত কমান্ড সনাক্ত করতে পারে। এটি সাধারণত argv[0]
সি-স্টাইলের ভাষাগুলিতে বা $0
বোর্ন-স্টাইলের শেল স্ক্রিপ্টগুলিতে। অ্যাপ্লিকেশনটি এটি দেখতে পারে এবং এই ক্ষেত্রে, বাস্তবে এটি কীভাবে কাজ করে তা পরিবর্তন করে। এর প্রথম ইঙ্গিতটি man gksu
পৃষ্ঠাতে রয়েছে:
gksu is a frontend to su and gksudo is a frontend to sudo.
আপনি যদি উত্সটি ( apt-get source gksu
) এর দিকে লক্ষ্য করেন তবে run_mode
আপনি দেখতে পাবেন কীভাবে এটি এটি সনাক্ত করে:
{ /* support gksu_sudo_run */
gchar *myname = g_path_get_basename (argv[0]);
if (!strcmp(myname, "gksudo"))
run_mode = SUDO_MODE;
g_free (myname);
}
আপনি এটি --su-mode
/ -w
এবং --sudo-mode
/ -S
আর্গুমেন্টগুলির সাহায্যে ওভাররাইড করতে পারেন (যাতে আপনি gksudo
সিমিলিংকের প্রয়োজন ছাড়াই সমমানের কমান্ডগুলি চালাতে পারেন ... তবে এটি আপনার উপর নির্ভর করে।
যদি আপনি জানতে চান যে এই "মোডগুলি" কীভাবে সত্যই পৃথক হয়, তবে এর মধ্যে কেবল কিছুটা পালাতে পারে gksu
। আপনার এটি অনুসরণ করা প্রয়োজন libgksu
। এটি সেই লাইব্রেরি যা সিস্টেমে হস্তান্তর করার পূর্বে অনুমতিগুলি পরীক্ষা করে।
যদি কোনও মোড নির্দিষ্ট না হয়ে থাকে (যেমন আপনি gksu
কোনও যুক্তি ছাড়াই কল করেন ) এটি পৌঁছানোর সময়ের মধ্যে libgksu
, এটি জিকনফকে পরীক্ষা করবে (স্টেফানো উল্লেখ করে) এবং যদি এটি এখনও সিদ্ধান্ত নিতে না পারে তবে এটি su
মোডে ডিফল্ট হবে।
bash
POSIX কঠোর মোড চালু করে যখন হিসাবে ডাকা হয় sh
। আর gksu
হয় এছাড়াও আবাহন নাম সচেতন।
উবুন্টু (!) এ, কোনও পার্থক্য নেই।
gksu
রুট ব্যবহারকারীদের মধ্যে সাধারণত লগইন করে এই সেশনে একটি অ্যাপ্লিকেশন চালায়। তবে উবুন্টুতে এটি "সুডো মোড" ব্যবহার করে ডিফল্ট হয় যা দৌড়ানোর সমতুল্য gksudo
। এটি হ'ল উবুন্টুতে, আপনি ডিফল্টরূপে রুট হিসাবে লগ ইন করতে পারবেন না ।
gksudo
এর গ্রাফিকাল সমতুল্য sudo
(এবং ওলি যেমন gksu- এর প্রতীকী লিঙ্কটি দেখায়)
Gksu এর gconf এন্ট্রি থেকে:
তদতিরিক্ত, sudo এবং gksudo মধ্যে পার্থক্য:
রুট হিসাবে গ্রাফিকাল অ্যাপ্লিকেশন শুরু করতে আপনার কখনই স্বাভাবিক সুডো ব্যবহার করা উচিত নয়। এই জাতীয় প্রোগ্রামগুলি চালানোর জন্য আপনার gksudo (কুবুন্টুতে কেডেসুডো) ব্যবহার করা উচিত। gksudo হোম = ~ মূল সেট করে এবং অনুলিপি করে। tmp ডিরেক্টরিতে অনুমোদন। এটি আপনার হোম ডিরেক্টরিতে থাকা ফাইলগুলিকে মূলের মালিকানাধীন প্রতিরোধ করে। (এএএএএফসিটি, গিক্সুডো বনাম সুডো দিয়ে শুরু করা প্রক্রিয়াটির পরিবেশ সম্পর্কে এটি বিশেষ special
- ( ক্রিস উইলসনের মাধ্যমে সম্প্রদায়ের ডকুমেন্টেশন থেকে )
আমি জানি যে এটি একটি পুরানো থ্রেড, তবে আমাকে এবং এর মধ্যে একটি সূক্ষ্ম তবে প্রয়োজনীয় পার্থক্য সম্পর্কে আপনাকে বলতে বলা হয়েছে ।gksu
gksudo
যদিও আমি দীর্ঘ এবং শক্ত দেখতে চেয়েছি, আমি কোথাও একটি নথিভুক্ত পার্থক্য খুঁজে পাই না এবং এখনও এটি বিদ্যমান। কেন পার্থক্য আছে তাও আমি খুঁজে পাইনি। আমি এই কঠিন পথটি পেয়েছি যখন আমি ভুলভাবে এই পার্থক্যের কারণে কিছু সিস্টেম ফাইলগুলি মুছে ফেলেছিলাম (উবুন্টু ফোরামে একটি থ্রেডে আলোচিত ) - আমি ব্যবহার করে gksu
আসছি তবে তখন থেকে আমি সর্বদা ব্যবহার নিশ্চিত করে রেখেছি gksudo
।
সংক্ষিপ্তসার হিসাবে, এই চেষ্টা করুন।
touch abc
touch abc.tmp
touch abctmp
নিম্নলিখিত ছয়টি কমান্ড চালান। প্রথম পাঁচটি একই (প্রত্যাশিত) ফলাফল দেয় (অর্থাত্ ন্যায়বিচার abc.tmp
) যেখানে ষষ্ঠটিতে একটি অতিরিক্ত ফাইল ( abctmp
) অন্তর্ভুক্ত থাকে যা এটি করা উচিত নয়।
find . -regextype posix-egrep -regex '.*\.tmp' -print
sudo find . -regextype posix-egrep -regex '.*\.tmp' -print
gksudo -- find . -regextype posix-egrep -regex '.*\.tmp' -print
gksudo --su-mode -- find . -regextype posix-egrep -regex '.*\.tmp' -print
gksu --sudo-mode -- find . -regextype posix-egrep -regex '.*\.tmp' -print
gksu -- find . -regextype posix-egrep -regex '.*\.tmp' -print
সমস্যার কল্পনা যখন আপনি প্রতিস্থাপন -print
সঙ্গে -delete
এ find
কমান্ড (যা ঠিক কি, আমার ঘটেছে যার ফলে মুছে ফেলা হবে কিছু সিস্টেম ফাইল)।
সুতরাং, দয়া করে gksudo
পরিবর্তে ব্যবহার করুন gksu
।
gksudo
টাইপ করার সমতুল্য দেখায়gksu --sudo-mode