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


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.