উত্তর:
আপনি এক্স 11 ফরোয়ার্ডিং সক্ষম করে একটি দ্বিতীয় সংযোগ তৈরি করতে পারেন, এবং তারপরে আপনি DISPLAY
প্রথম সংযোগ থেকে পরিবেশের পরিবর্তনশীলটিও ব্যবহার করতে পারেন ।
1 ম উইন্ডোতে:
$ ssh user@host
user@host$ ...
২ য় উইন্ডোতে:
$ ssh -Y user@host 'echo $DISPLAY; while sleep 3600; do :; done'
localhost:10.0
1 ম উইন্ডোতে ফিরে যান:
user@host$ export DISPLAY=localhost:10.0
user@host$ xterm
দুর্ভাগ্যক্রমে, ssh
শুরু হওয়া প্রক্রিয়া / সেশনে বা এটি যে রিমোট মেশিনে চালিত হয় তার কাছে এক্স 11 (বা অন্যান্য) ফরোয়ার্ডিংগুলি রাখার কিছুই নেই (যেমন, শংসাপত্রগুলির সাথে / আউট পরীক্ষা করে ইউনিক্স সকেট ব্যবহার করে, বা নেমস্পেস ব্যবহার করে), এবং এই ফরোয়ার্ডিংগুলি সহজ টিসিপি শোনার সকেট যার সাথে রিমোট মেশিনের যে কেউ সংযুক্ত হতে পারে; এক্স 11 ফরোয়ার্ডিংয়ের সমস্ত সুরক্ষা এক্স 11 প্রমাণীকরণের উপর নির্ভর করে।
sshd_config(5)
র manpage উল্লেখ করেছেন যে:
এক্স 11 ফরোয়ার্ডিং অক্ষম করা ব্যবহারকারীদের এক্স 11 ট্র্যাফিক ফরওয়ার্ডিং থেকে বাধা দেয় না, কারণ ব্যবহারকারীরা সর্বদা তাদের নিজস্ব ফরোয়ার্ডার ইনস্টল করতে পারেন।
আপনি কিভাবে হাত দিয়ে এটি করতে পারেন তা এখানে।
প্রথমত, কোনও হোস্ট- বা ব্যবহারকারী-ভিত্তিক অ্যাক্সেস নিয়ন্ত্রণ অক্ষম করতে ভুলবেন না যে এক্স 11 লেখার প্রক্রিয়াটিকে বাইপাস করে [1]:
$ xhost $(xhost | sed -n /:/s/^/-/p)
access control enabled, only authorized clients can connect
তারপরে DISPLAY=:0
স্থানীয় মেশিনে লেখকের তথ্য প্রদর্শন করুন :
$ xauth list :0
ohzd/unix:0 MIT-MAGIC-COOKIE-1 a86982ddce0c1e1c1a8c5e8b2846e43b
কোনও এক্স 11 ফরওয়ার্ডিং ছাড়াই রিমোট মেশিনে সংযুক্ত করুন:
$ ssh user@hzy64
user@hzy64's password:
[motd snipped]
এর মাধ্যমে কমান্ড লাইনটি খুলুন ~C
এবং বন্দর 6000+43
থেকে প্রদর্শনের সাথে সম্পর্কিত ইউনিক্স সকেটে একটি দূরবর্তী ফরোয়ার্ডিং যুক্ত করুন :0
:
hzy64$~C
ssh> -R 6043:/tmp/.X11-unix/X0
Forwarding port.
$DISPLAY
এনভ্যাভারটি সেট করুন এবং স্থানীয় থেকে দূরবর্তী মেশিনে লেখক তথ্য যুক্ত করুন:
hzy64$ export DISPLAY=localhost:43
hzy64$ xauth add $DISPLAY . a86982ddce0c1e1c1a8c5e8b2846e43b
xauth: file /home/user/.Xauthority does not exist
এখন আপনি যেতে প্রস্তুত:
hzy64$ xterm
[1] একটি বিপথগামী বাগফিক্সের কারণে , ব্যবহারকারী-ভিত্তিক অ্যাক্সেস নিয়ন্ত্রণ ডিবিয়ানের মাধ্যমে ডেবিয়ায় ডিফল্টভাবে চালু করা হয় /etc/X11/Xsession.d/35x11-common_xhost-local
। সবচেয়ে খারাপ বিষয়, এক্স ওয়েল্যান্ডে এটিই একমাত্র ডিফল্টরূপে যেখানে এটি বন্ধও করা যায় না । এক্স 11 প্রোটোকলের প্রক্সিগুলির (উদাহরণস্বরূপ xscope
) যে কোনও প্রোগ্রাম এক্স 11 সার্ভারে একটি ফাঁক গর্ত খুলতে না চাইলে তার নিজস্ব x11 লেখক কুকি চেকিং করতে হবে (ssh যেভাবে করে)।
-X
তবে তার চেয়ে কিছুটা ভাল হবে -Y
, তাই না?
-X
কেবলমাত্র সাথে কাজ করে না -Y
। লোকেরা লক্ষ্য করে না কারণ অনেক সিস্টেমে (যেমন। ডেবিয়ান) ডিফল্ট ForwardX11Trusted
হিসাবে সেট করা থাকে এবং বিকল্পগুলি সমতুল্য হয় ;-)yes
-X
-Y
change $DISPLAY to
। বর্তমান প্রশ্নের শিরোনাম অনুসন্ধান ফলাফলগুলিতে পুরোপুরি প্রদর্শিত হতে পারে না, এবং SPLAY ডিআইআইএল পরিবর্তন করা আসলেই প্রশ্নের উত্তর নয়, উত্তরের অংশ।