x11 ডিসপ্লে এসএসএস লগইনের মাধ্যমে কাজ করবে না কেন?


22

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

Black@Black-PC ~
$ ssh -X kwagjj@$labserver -p 122
[kwagjj@James5 ~]$ firefox
Error: no display specified
[kwagjj@James5 ~]$ exit
logout
Connection to 143.248.146.204 closed.

Black@Black-PC ~
$ ssh -Y kwagjj@$labserver -p 122
[kwagjj@James5 ~]$ firefox
Error: no display specified
[kwagjj@James5 ~]$ 

আমি-এক্স, -ওয়াই ব্যবহার করেছি কারণ আমি কোথাও পড়েছি যে এই দুটি অপশন এক্স 11 সম্পর্কিত শংসাপত্রের সাথে সম্পর্কিত এবং এই স্যুইচগুলি আমার পক্ষে কাজটি করবে। এমনকি-X, -Y স্যুইচ ছাড়াও আমার চেষ্টা ব্যর্থ হয়েছিল।

'ডিসপ্লে স্পিফিকড না' ত্রুটির অর্থ কী?

PS অদ্ভুত বিষয়টি হ'ল আমি যদি আমার পুটির মাধ্যমে রিমোট সার্ভারের সাথে সংযোগ স্থাপন করি এবং 'ফায়ারফক্স' কমান্ডটি পুনরায় ব্যবহার করি তবে এটি কাজ করে?!?! (ফায়ারফক্স স্থানীয় কম্পিউটারে প্রদর্শিত হয়)

পিএস আমার লোকাল কম্পিউটারটি উইন্ডোজ is, তাই এক্স 11 প্রদর্শনের অনুমতি দেওয়ার জন্য আমার কাছে ব্যাকগ্রাউন্ডে জিমিং চলছে। উপরের অংশে লেখার চেষ্টা হিসাবে, কমান্ডগুলি সাইগউইন টার্মিনালে টাইপ করা হয়েছিল।


আপনি কি আপনার সাইগউইন টার্মিনাল থেকে স্থানীয়ভাবে কিছু প্রদর্শন করার চেষ্টা করেছেন? উদাহরণস্বরূপ, আপনি একটি স্থানীয় এক্স ইউটিলিটি যেমন এক্সক্লক আবিষ্কার করতে পারেন এবং এটি কী ঘটে তা দেখতে এটি চালান। আপনি যদি স্থানীয়ভাবে প্রদর্শন করতে না পারেন তবে দূরবর্তী প্রদর্শনটি কাজ করবে না। সাইগউইনের জন্য আপনার এক্স সার্ভারের প্রয়োজনও হতে পারে।
আনটনাট

1
@ অক্সনাট যেমন আপনি উল্লেখ করেছেন, আমার DISPLAYপরিবর্তনশীল সেট করা হয়নি। তাই আমি এটি export DISPLAY=:0.0' and executed xlk` দিয়ে সেট আপ করেছিলাম এবং এক্সক্লক উপস্থিত হয়েছিল। তবে আমি যখন xclockError: Can't open display:
এসএসএসের

উত্তর:


16

আপনার সাইগউইন-পরিবেশে DISPLAY- পরিবর্তনশীল সেট রয়েছে তা নিশ্চিত করুন:

export DISPLAY=:0.0

এসএসএইচের সাথে সংযুক্ত হওয়ার পরে, এই শেলটি সঠিক ডিআইএসএল-ভেরিয়েবলের সাথেও জানে কিনা তা পরীক্ষা করে দেখুন:

echo $DISPLAY

4
আমি স্থানীয় কম্পিউটারের সাইগউইন টার্মিনিয়ালে ডিআইআইএসএল ভেরিয়েবল সেট আপ করেছিলাম এবং তারপরে রিমোট সার্ভারে সংযুক্ত করে টাইপ করেছি echo $DISPLAY। তবে এখনও রিমোট সার্ভারে
ডায়ালস

2
Error: Can't open display: :0.0
আহমেদ

2
এটি করুন:export DISPLAY=localhost:0
ট্রাগন করুন

18

আমি একটি হেডলেস আরএইচইএল 7 সার্ভারের সাথে সংযোগ করার জন্য এই সমস্যাটি নিয়ে এসেছি।

DISPLAY ভেরিয়েবলটি সেট করার জন্য এবং সঠিকভাবে অনুমোদিত হওয়ার জন্য আপনার হোস্টে xorg-x11-xauth প্যাকেজ ইনস্টল করা দরকার।

আশা করি আমি কিছু সময় সাশ্রয় করেছি।


3
ঠিক আমি খুঁজছেন ছিল কি. অনেক প্রশংসিত!
জোশ-কাইন

1
দুর্দান্ত উত্তর! অন্যান্য সমাধানগুলি (রফতানির মাধ্যমে ম্যানুয়ালি ডিসপ্লে সেট করা) এর ফলে ক্লায়েন্ট এবং সার্ভারের মধ্যে একটি এনক্রিপ্ট করা সংক্রমণ ঘটবে! ডেবিয়ান স্কিউজে এটি "xauth" প্যাকেজটি ছিল যা প্রতিটি কাজ করার জন্য ইনস্টল করা প্রয়োজন। পুনরায় লগইন প্রতি পর ssh -Xএকটি echo $DISPLAYএকটি URL + + পোর্ট এবং একটি কল ফিরে xterm &একটি স্থানীয় উইন্ডোতে একটি টার্মিনাল খুলে দিয়েছিল।
জেপিসি

7

আমাকে সাহায্য করার জন্য @ জেনসডকে ধন্যবাদ, @ আনক্সনাট আপনার মন্তব্যের ভিত্তিতে আমি সমস্যাটি বের করতে সক্ষম হয়েছি।

সমাধান দুটি পদক্ষেপ প্রয়োজন:

  1. ডিসপ্লে ভেরিয়েবলটি সঠিকভাবে সেট করা উচিত।
  2. দূরবর্তী সার্ভারে ssh'ing করার সময়, -X সুইচটি চালু থাকতে হবে

আমার আগের চেষ্টাগুলির মধ্যে এই দুটি শর্তের একটি বা উভয়েরই অভাব রয়েছে।

যাইহোক, পরবর্তী ব্যবহারকারীরা এখানে যা দেখেন তাদের জন্য আমি কী বলতে চাইছি তা দেখানোর উদাহরণ examples

মামলা 1

আমার লোকাল মেশিনে কোনও ডিসপ্লে ভেরিয়েবল সেট থাকবে না। এবং তারপরে আমি এক্স-স্যুইচ দিয়ে রিমোট সার্ভারে ssh করব এবং তারপরে মৃত্যুদন্ড কার্যকর করার চেষ্টা করব xclock

Black@Black-PC ~
$ echo $DISPLAY

## the blank means that DISPLAY variable has not been specified##
Black@Black-PC ~
$ ssh -X kwagjj@$labserver -p 122
Last login: Tue Jun 24 22:23:13 2014 from 
[kwagjj@James5 ~]$ xclock
Error: Can't open display:
[kwagjj@James5 ~]$ setenv | grep $DISPLAY
DISPLAY: Undefined variable.

যেমন আপনি দেখতে পাচ্ছেন Error: Can't open display:দূরবর্তী সার্ভার টার্মিনালে একটি ত্রুটি দেখানো হয়েছে।

case2

এবার, লোকাল মেশিনে, আমি DISPLAY ভেরিয়েবলটি নির্দিষ্ট করব। তবে যখন আমি শশ করছি তখন আমি-এক্স সুইচটি চালু করব না। ফলাফলটি ব্যর্থতা হবে:

Black@Black-PC ~
$ export DISPLAY=:0.0

Black@Black-PC ~
$ echo $DISPLAY
:0.0

Black@Black-PC ~
$ ssh kwagjj@$labserver -p 122
Last login: Tue Jun 24 22:33:32 2014 from 
[kwagjj@James5 ~]$ xclock
Error: Can't open display:
[kwagjj@James5 ~]$ setenv | grep DISPLAY
[kwagjj@James5 ~]$ 

শুরুতে আপনি দেখতে পাবেন যে আমি ডায়ালস ভেরিয়েবলটি সঠিকভাবে সেট করেছি। তবুও, ssh'ing (-X সুইচ ব্যতীত) এর পরে এক্সক্লকটি কার্যকর হয় না।

* এর সাথে একটি আলাদা ফলাফল setenv | grep DISPLAYএখানে দেখা যাবে (কেস 1 এর সাথে তুলনা করুন)। কেস 2 এ, ফলাফলটি কেবল ফাঁকা। অন্যদিকে, এই কমান্ড লাইনের কেস 1 এর ফলাফল DISPLAY: undefined variable.... আমি জানি না যে এই পার্থক্যটি কীভাবে ঘটেছিল তবে আমি একটি শিকারী পাচ্ছি যা এর সাথে সম্পর্কিত যে আপনি উভয় শর্ত পূরণ করেছেন কিনা 1 বা 2 ।

case3

এবার আমি স্থানীয় মেশিনে ডায়ালস ভেরিয়েবলটি সঠিকভাবে নির্দিষ্ট করব এবং আমার-এক্স স্যুইচ অন করে দূরবর্তী সার্ভারেও এসএসএস করব।

Black@Black-PC ~
$ echo $DISPLAY
:0.0

Black@Black-PC ~
$ ssh -X kwagjj@$labserver -p 122
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.
Last login: Tue Jun 24 22:37:27 2014 from 
[kwagjj@James5 ~]$ xclock &
[1] 9174
[kwagjj@James5 ~]$ setenv | grep DISPLAY
DISPLAY=localhost:11.0
[kwagjj@James5 ~]$

এই সেটিং সহ, xclockকাজ !! আমি মিথ্যা বলছি না তা প্রমাণ করার জন্য এখানে একটি স্ক্রিনশট রয়েছে। এখানে চিত্র বর্ণনা লিখুন এক্সক্লোর সফলভাবে আমার স্থানীয় মেশিনে প্রদর্শিত হয়।

আবার, setenv | grep DISPLAYএই ক্ষেত্রে ফলাফল দেখুন। এটি এখন দেখায় DISPLAY=localhost:11.0। আমি যা জানি তা থেকে, এটি প্রাক্তন ফাইল ফাইলের এমআইটি-ম্যাজিক-কুকির সাথে সম্পর্কিত তবে যেহেতু আমি এ সম্পর্কে বেশি কিছু জানি না আমি আর আর যেতে পারব না।

উপসংহার: উপরের তিনটি ক্ষেত্রে থেকে আমরা নিশ্চিত করতে পারি যে রিমোট এক্স উইন্ডোজ যথাযথভাবে প্রদর্শিত হতে পারে, উভয়ই স্থানীয় মেশিনের ডিসপ্লে ভেরিয়েবল এবং ২. এসএসএস -Xসুইচটি অবশ্যই সঠিকভাবে সেট করা উচিত। অবশ্যই, রিমোট সার্ভারের X11 ফরওয়ার্ডিংয়ের অনুমতি দেওয়া উচিত।

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