ssh -X "এক্সটি ত্রুটি: প্রদর্শন খুলতে পারবেন না:: 0.0"


9

আমি xtermআমার দূরবর্তী সার্ভারে (উবুন্টু সার্ভার 10.04) এসএসএস সহ খোলার চেষ্টা করছি :

ssh -X name@machine xterm

তবে ফিরে আসা ত্রুটিটি হ'ল:

xterm Xt error: Can't open display: :0.0`

আমি গুগল করেছিলাম এবং যা কিছু পেয়েছি তা চেষ্টা করেছিলাম। এখনও এই ত্রুটি পেয়েছি। ডায়ালস-ভেরিয়েবলটি স্বয়ংক্রিয়ভাবে সেট করা উচিত, তাই না?

এর অংশ sshd_config:

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes

কোন পরামর্শ?


আপনি কি এসএসএন-ইন করার আগেxterm বর্তমান টার্মিনালে চালাতে পারবেন ?
এনজোটিব

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

@ এঞ্জোটিব - ধন্যবাদ; আমি এটা জানতাম না।
belacqua

@ এঞ্জোটিব দুঃখিত, আমি আপনার মন্তব্যটি দেখিনি। হ্যাঁ, আমি আমার স্থানীয় মেশিনে এক্সটার্ম খুলতে পারি
ফ্যাবিয়ান

উত্তর:


8

যদি ssh সংযোগ স্থাপন করতে সক্ষম হয় তবে DISPLAYএটি যথাযথ মানকে সেট করবে । যেহেতু আপনি X11DisplayOffset10 সেট করেছেন (ডিফল্ট মান), ssh 10 থেকে শুরু হওয়া প্রথম উপলব্ধ প্রদর্শন ব্যবহার করবে আপনি যদি 10¹ এর চেয়ে কম মান দেখেন তবে কিছু কমপক্ষে ssh দ্বারা সেট আপ করা সাধারণ এক্স 11 ফরোয়ার্ডিংয়ে হস্তক্ষেপ করছে something অগ্রাহ্য DISPLAY। মান :0(বা :0.0, বিন্দুটির পরে অংশটি অপ্রাসঙ্গিক) মেশিনে শুরু হওয়া প্রথম ডিসপ্লে নির্দেশ করে যা সাধারণ ক্ষেত্রে মেশিনের কনসোলে সক্রিয় সেশন (বা গ্রাফিকাল লগইন প্রম্পট) হয়।

আপনি যে আচরণটি পর্যবেক্ষণ করছেন তার সর্বাধিক ব্যাখ্যা হ'ল এটি হ'ল আপনার শেল কনফিগারেশন ফাইল সেট করে DISPLAY। সর্বাধিক সুস্পষ্ট অপরাধী ~/.bashrc(যা বাশের পিতামাত যখন বাশের পিতামহ হয় rshdবা sshdশেল ইন্টারেক্টিভ না হয় তখনও মৃত্যুদন্ড কার্যকর করা হয় )। আরেকটি যে ফাইলটি এনভায়রনমেন্ট ভেরিয়েবল সংজ্ঞায়িত হয় /etc/environment। যদি এটি হয় তবে সমাধানটি সুস্পষ্ট: DISPLAYসেখানে সেট করবেন না । (খুব কম ক্ষেত্রেই আপনাকে DISPLAYম্যানুয়ালি সেট করতে হবে ।)

অন্যান্য বহিরাগত ব্যাখ্যা আছে। যদি আপনি আপনার লগইন শেলটি screen(তত্ত্বের ক্ষেত্রে একটি সুন্দর ধারণা, তবে ব্যবহারিক নয়) পরিবর্তন করে থাকেন এবং আপনার কাছে একটি শেল ইনিশিয়ালাইজেশন ফাইল রয়েছে যা জোর করে DISPLAYপর্দার অভ্যন্তরে সেট করে (এমন ভাল ধারণা নয়)। এটিও ঘটতে পারে যদি আপনি ক্লায়েন্টের দ্বারা প্রেরিত পরিবেশ ভেরিয়েবলগুলি ( AcceptEnvডাইরেক্টিভ ইন sshd_config) মেনে নিতে সার্ভারটি কনফিগার করেছেন , ক্লায়েন্ট প্রেরণ করছে DISPLAYএবং এক্স সংযোগ স্থাপন করা যায় নি। অথবা আপনি যদি commandনির্দেশের মাধ্যমে সার্ভারে পরিবেশের পরিবর্তনশীল সেট করেন তবে এটি ঘটতে পারে ~/.ssh/authorized_keys। বা xtermস্ক্রিপ্ট হতে পারে।

¹ অথবা X11DisplayOffsetসার্ভার কনফিগারেশনে এর মান যাই হোক না কেন , তবে এটি ডিফল্ট থেকে খুব কমই পরিবর্তিত হয়েছিল।


1
আপনার উল্লিখিত বিভিন্ন সমস্যা সমাধানের উপায় তালিকাভুক্ত হওয়া সহায়ক হবে।
জর্জ স্টোকার

@ জর্জিস্টকার এই সমস্ত সমস্যাগুলি ফর্মের মধ্যে রয়েছে "একটি কনফিগারেশন ফাইলে কিছু সেটিংস রয়েছে", তাই এই সমস্তটির সমাধান হ'ল সেটিংসটি মুছে ফেলা বা পরিবর্তন করা। বিশেষত এমন কোনও কি আছে যা আপনি চিহ্নিত করতে পারেন তবে ঠিক করতে পারেন না?
গিলস 21'18

আমি DISPLAY=localhost:11.0আমার মধ্যে দেখতে পাচ্ছি env, তবে এর প্রাসঙ্গিকতা এবং আমার এটিকে পরিবর্তন করা উচিত কিনা DISPLAY 10.0তা অস্পষ্ট।
জর্জ স্টোকার

@ জর্জস্টোকার তারপরে আপনার লক্ষণগুলি এই প্রশ্নের সাথে মেলে না। আমি আমার উত্তরটি স্পষ্ট করে আপডেট করেছি যে 10টি এই কাটফুল মান যার নীচে এই উত্তরটি প্রযোজ্য। 11 এখানে প্রত্যাশিত মান (এক্স ফরোয়ার্ডিংয়ের সাথে সম্ভবত দ্বিতীয় সক্রিয় এসএসএইচ সংযোগ)।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

আমি দৌড়াচ্ছি DISPLAY=:0 xtermএবং তবুও xterm: Xt error: Can't open display: :0ত্রুটি পেয়েছি , সুতরাং পরিবেশের পরিবর্তনশীল সমস্যা নয়।
ড্যান ড্যাসকলেসকু 8:58

3

আপনার আদেশটি কাজ করা উচিত, বা কমপক্ষে এটি আমার জন্য কার্যকর হয়। পরিবর্তে এটি চেষ্টা করুন:

ssh -Y user@machine xterm

সম্পাদনা (1):

এটা চেষ্টা কর:

ssh -X user@machine env

এটি সমস্ত পরিবেশ প্রদর্শন করা উচিত। সেখানে বিভিন্ন এসএসএইচ জিনিস থাকতে হবে এবং এটিও প্রদর্শন করা উচিত। DISPLAY 10.0 হওয়া উচিত।

আপনি এটি চেষ্টা করতে পারেন:

ssh -X user@machine DISPLAY=10.0 xterm

আমি এটি দিয়ে চেষ্টা করেছিলাম -Yকিন্তু এটি কোনও কাজ করে না। আমি এখনও পেয়েছিCan't open display: :0.0
ফ্যাবিয়ান

আপনার স্থানীয় মেশিন কি চলছে? এটি: 0.0 সম্পর্কিত, যেহেতু এটি কোনও স্থানীয় এক্স সার্ভারের জন্য ডিফল্ট , কোনও দূরবর্তী নয় ...
এড।

আমি উবুন্টু 10.04, লিনাক্স মিন্ট 11 বা ম্যাক ওএস এক্স 10.7 ব্যবহার করি। ব্যবহার অবস্থানের (কাজের / হোম) উপর নির্ভর করে, তবে ত্রুটিটি সমস্ত এক
ফ্যাবিয়ান

আমি উত্তরটি সম্পাদনা করব ... (1)
এডি।

আমার ডিসপ্লে ভেরিয়েবলটি হলlocalhost:10.0
অ্যালেক্সিস উইলক

2

এক্স এর অ্যাক্সেস নিয়ন্ত্রণ সম্ভবত পথে রয়েছে।

অ্যাক্সেস নিয়ন্ত্রণ সম্পূর্ণ অক্ষম করতে xhost +(প্যাকেজ থেকে x11-xserver-utils) চালান Run


2

পাশাপাশি X11Forwarding yes, আমারও যোগ করার দরকার ছিল

X11UseLocalhost no

ভিতরে /etc/ssh/sshd_config

এখানে বর্ণিত হিসাবে ।



0

এছাড়াও, ক্লায়েন্টের শেষে আপনার এক্স 11 ইনস্টল করা আছে কিনা তা পরীক্ষা করে দেখুন। আমি যখন আমার ম্যাকটিকে ওএস এক্স মাউন্টেন লায়নতে আপগ্রেড করেছি তখন আমি এই সমস্যাটি পেয়েছিলাম। মাউন্টেন লায়ন এক্স 11 কে সরিয়ে দেয়, সুতরাং আপনাকে ওপেন সোর্স এক্স কোয়ার্টজ প্রকল্পের মাধ্যমে এটি আবার ইনস্টল করতে হবে। http://xquartz.macosforge.org/landing/


-1

আপনার প্রথমে সংযোগটি খুলতে হবে এবং একবার ওপেন এক্সটার্ম স্থাপন করা উচিত।


আপনার উত্তর করার জন্য আপনাকে ধন্যবাদ। "সংযোগ খুলুন" বলতে কী বোঝ? আমি যখন ব্যবহার করি ssh -X name@machine এবং সংযোগের পরেও xtermআমি একই ত্রুটি পাই। আপনি কি এটা বোঝাতে চেয়েছিলেন? ;)
ফ্যাবিয়ান

না, এটি প্রথম সংযুক্ত না করেও কাজ করা উচিত।
এনজোটিব

@ ফ্যাবিয়ান - আমি বিশ্বাস করি যে এটাই তার অর্থ।
belacqua

আমি মনে করি একটি ভিএনসি সংযোগ প্রয়োজন।
ন্যানোফারাড

@ এঞ্জোটিব, ভাল ... আসলে sshপ্রথমে সংযোগ হচ্ছে, তারপরে সেই sshপরিবেশে এক্সটার্ম শুরু হয়েছে । সুতরাং যে কোনও উপায়ে এটি একই জিনিসটি কেবলমাত্র যদি আপনি ssh -X remoteপ্রথমে ব্যবহার করেন তবে আপনি এটি পরীক্ষা করতে পারেন কিনা তা echo $DISPLAYনিশ্চিত করার জন্য যে $DISPLAYএটি একটির পরে দূরবর্তী কম্পিউটারে সঠিকভাবে সেট করা আছে কিনা তা পরীক্ষা করতে পারেন ssh -X
অ্যালেক্সিস উইলকে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.