সুডোর সাথে অ্যাপ্লিকেশন চালানোর সময় এক্স সার্ভারের সাথে সংযোগ স্থাপন করতে পারে না


29

আমি যখন sudoকমান্ড ব্যবহার করে কিছু সফ্টওয়্যার চালাচ্ছি তখন এটির মতো ত্রুটি দেখাচ্ছে

cannot connect to X server

উদাহরণস্বরূপ যদি আমি নিম্নলিখিত কমান্ডটি চালাই:

$ sudo gedit /etc/profile

আমি নিম্নলিখিত কমান্ড পাচ্ছি

(gedit:6758): WARNING **: Command line `dbus-launch --autolaunch=84b871d735f31ffe014dc9ba00000009 --binary-syntax --close-stderr' 
exited with non-zero exit status 1: 
Autolaunch error: X11 initialization failed. 
Cannot open display:
Run 'gedit --help' to see a full list of available command line options.

বা যদি আমি চালাচ্ছি তবে আমি super-boot-managerনিম্নলিখিত ত্রুটিটি পাচ্ছি

buc: cannot connect to X server

সাহায্য করুন.


আপনি কোথা super-boot-mangerথেকে চালাবেন ?
— থার

প্রথমে আমি super-boot-managerunityক্য লঞ্চ থেকে সরাসরি চালানোর চেষ্টা করেছি, এটি কার্যকর হয়নি। তারপরে আমি টার্মিনাল থেকে এটি চেষ্টা করেছি, তারপরে আমি সেই ত্রুটি ম্যাসেজ পেয়েছি।
— অপূর্ব

গ্রাফিকাল ব্যবহারকারী পরিবেশের মধ্যে একটি টার্মিনাল হিসাবে? কি বলে: echo $DISPLAYবলে? তোমাকে ছাড়া এটি চালানোর উচিত sudoযেমন super-boot-managerরান sudoঅভ্যন্তরীণভাবে।
— থোর

echo $DISPLAYদিচ্ছি :0.0। এবং আমি super-boot-managerহিসাবে চালাচ্ছি না sudo। আমি super-boot-managerটার্মিনাল থেকে কমান্ড ব্যবহার করে চলছি।
— অপূর্ব

1
অবশেষে সমস্যার সমাধান হয়। আমি সবেমাত্র লাইনটি যুক্ত করেছি: Defaults env_keep="DISPLAY XAUTHORITY"শেষে visudo। সকলকে ধন্যবাদ, বিশেষত @ দয়া করে সহায়তার জন্য।
— অপূর্ব

উত্তর:


39

আপনাকে এক্স সার্ভারটিতে রুট ব্যবহারকারীদের অ্যাক্সেসের অনুমতি দেওয়া দরকার:

xhost local:root

এবং আদেশটি ডানদিকে নির্দেশ করুন DISPLAY:

sudo DISPLAY=$DISPLAY gedit /etc/profile

এটি geditযেমন খোলার সাথে সমস্যার সমাধান করেছে sudoতবে তবুও লাঞ্চ করতে পারে না super-boot-manager। এটি একই ত্রুটি দেখাচ্ছে
— অপূর্ব

15

অবশেষে সমস্যার সমাধান হয়। আমি সবেমাত্র লাইনটি যুক্ত করেছি:

ডিফল্ট এনভ_কিপ = "প্রদর্শন XAUTHORITY"

শেষে visudo।

এটি করতে আপনাকে চালাতে হবে

sudo ভিসুডো

এটি ফাইলটি খুলবে তারপরে শেষে উপরের লাইনটি যুক্ত করবে।

সকলকে ধন্যবাদ, বিশেষত @ দয়া করে সহায়তার জন্য


1
ডিফল্ট env_keep = "DISPLAY" আমার জন্য কাজ করে।
— বাগস্ট্রিস্ট

আমি চিরকাল এই উত্তরটির জন্য উচ্চ এবং নিম্ন সন্ধান করছি। আমি আশা করি আপনার উত্তরগুলির জন্য আমি উভয়কে একাধিকবার উপভোগ করতে পারি। তাই আপনাকে অনেক ধন্যবাদ! :)
— ইভ-

4

@ থোর এর উত্তর পরিপূরক:

xhost local:rootআগে দৌড়াও sudo gedit। এটি স্থায়ী করার জন্য, লাইনটি যুক্ত করুন

xhost local:root

ফাইলটিতে ~ / .xinitrc 1 । ফাইলটি উপস্থিত না থাকলে তৈরি করুন।


[1] https://askubuntu.com/a/720120/452398


একটি উত্তর স্থায়ী সমাধানের জন্য সরবরাহ করার জন্য আপনাকে ধন্যবাদ।
— 2NinerRomeo
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.