এক্স 11 জেনু স্ক্রিনের উপর ফরওয়ার্ডিং, এটি কি সম্ভব?


32

আমি ক্রমাগত জিএনইউ স্ক্রিন ব্যবহার করি। তবে, আমি যখন আমি এসএসএন-ইন করছি তখন এক্স 11 অ্যাপ্লিকেশনগুলি স্ক্রিনের ওপরে ফরোয়ার্ড করার জন্য কিছু আছে কিনা তা খুঁজে বের করার চেষ্টা করেছি (এটি কি কোনও শব্দ?)। বর্তমানে যদি আমি স্ক্রিনের মাধ্যমে 'জিডিট' চালানোর চেষ্টা করি তবে এটি আমার ক্লায়েন্টের পরিবর্তে আমার 'সার্ভার' কম্পিউটারে খোলে। আমি যদি পর্দার বাইরেও একই কাজ করি তবে সবকিছু ঠিক আছে। আমি চাই যখন আমি খুব বেশি পর্দা ব্যবহার করি তখনও সবকিছু ঠিক থাকে!

ধন্যবাদ!

PS: আমি সমস্যাটি গুগল করে দিয়েছি এবং xmove এর উল্লেখ দেখতে পাচ্ছি, তবে আমার উবুন্টুতে যে প্যাকেজটি xmove রয়েছে তা খুঁজে পাচ্ছি না। (উবুন্টু ১০.১০)


আমার কাছে এখন পুরো উত্তরটি খুঁজে পাওয়ার কোনও সময় নেই, তবে সঠিকভাবে সেট করার জন্য আপনার কিছু পরিবেশের পরিবর্তনশীল দরকার। আপনি সম্ভবত পর্দার বাইরের পরিবেশের দিকে তাকানো থেকে কোনটি খুঁজে পেতে পারেন।
জানু

উত্তর:


32

ম্যানুয়ালি এটি করতে, একবার আপনি এসএসএইচড করার পরে, তবে আপনি স্ক্রিনে পুনরায় সংযুক্ত হওয়ার আগে, আপনার DIY পরিবেশের পরিবর্তনশীলটি পরীক্ষা করুন:

echo $DISPLAY

একবার আপনি স্ক্রিনে পুনরায় সংযুক্ত হয়ে গেলে স্পষ্টভাবে পরিবেশ পরিবর্তনশীল সেট করুন:

export DISPLAY=:N.0

যেখানে : N.0 হ'ল echoসংযুক্তির আগে যা প্রদর্শিত হয়েছিল। এটি নিখুঁত হবে না, যেহেতু কিছু অ্যাপ্লিকেশন সেশন ডি-বাসের সাথে কথা বলার প্রত্যাশা করতে পারে যা এসএসএইচ সংযোগ প্রেরণে কিছুটা জটিল।


1
অসাধারণ! এটি বেশিরভাগ অ্যাপ্লিকেশনগুলির জন্য কাজ করে বলে মনে হচ্ছে। আমি আমার পর্দা 'ফু' আপ করার চেষ্টা করছি। আপনার কি কোনও ধারণা আছে বা আমি কীভাবে এটিকে স্বয়ংক্রিয় করতে পারি তার সাধারণ দিকে আপনি কমপক্ষে আমাকে নির্দেশ করতে পারেন? ধন্যবাদ!
সান্দ্রো

আমি স্ক্রিপ্ট করার মতো অদ্ভুত জিনিস করেছি: echo $DISPLAY > $HOME/.display.txt; screen -x -dএবং এরপরে স্ক্রিনে অন্যটি চালানোর জন্যexport DISPLAY=$(cat $HOME/.display.txt)
কেস কুক

ঠিক এটাই আমি অর্জন করার চেষ্টা করেছি। তবে এখনও পর্যন্ত ভাগ্য নেই। স্ক্রিপ্টে এটি চালানো কোনও বাধা হওয়ায় রফতানিটি ঘটানোর চেষ্টা করা বেশ বাধা কারণ আমাকে কোনওরকম এটি উত্সের প্রয়োজন ... এবং সেতেনভের কাছেও যাদু স্পর্শ আছে বলে মনে হয় না।
সান্দ্রো

উৎস স্ক্রিপ্ট টাইপ . /path/to/scriptযেখানে scriptহয়export DISPLAY=$(cat $HOME/.display.txt)
Kees কুক

এটি ধরে নিয়েছে যে আপনি লগইনে স্ক্রীন অটো-স্টার্ট নেই (একটি লা বাইবু)
একটি বিশ্ববিদ্যালয়ের একজন শিক্ষার্থী

11

সংগ্রহস্থলগুলিতে xpra নামে একটি প্রোগ্রাম রয়েছে, এটি x11 এর জন্য gnu স্ক্রিনের মতো। এটি নিয়ে কাজ করা খুব কঠিন নয়:

এক্স পার্সেন্টেন্ট রিমোট অ্যাপ্লিকেশন

এক্সপ্রা আপনাকে এক্স অ্যাপ্লিকেশনগুলির জন্য জিএনইউ স্ক্রিনের কার্যকারিতা দেয়।

এটি ব্যবহারকারীকে তাদের স্থানীয় মেশিনে রিমোট এক্স অ্যাপ্লিকেশনগুলি দেখতে এবং চলমান অ্যাপ্লিকেশনগুলির স্থিতি না হারিয়ে দূরবর্তী মেশিন থেকে সংযোগ বিচ্ছিন্ন ও পুনরায় সংযোগ করতে দেয়।


2
: আমি কিভাবে আসলে স্ক্রিন সঙ্গে xpra সংহত করতে উভয় কনসোল ও X11 আবেদন অধ্যবসায় অর্জন করা সম্পর্কে লিখিত আছে krlmlr.github.io/integrating-xpra-with-screen । আমার জন্য কাজ কর.
krlMLr

7

ব্যোবু স্বয়ংক্রিয়ভাবে এসএসএস এবং জিপিজি এজেন্টদের পুনরায় সংযুক্ত করে। যদি এটি আপনার জন্য সহায়ক হয় তবে আমি এটির সাথে প্রদর্শন পরিবর্তনশীলটিকে আবার সংযুক্ত করতে পারি ...


এটি এমনকি এক্স 11 ফরোয়ার্ডিংয়ের সাথে এসএসএস সেশনে তৈরি নতুন সেশনে ডিসপ্লে ভেরিয়েবলটি অতিক্রম করবে বলে মনে হয় না। এটি করা যদি দুর্দান্ত হয় ... আমি অটো-স্টার্টিং বাইবুকে অক্ষম করার জন্য মাথা ব্যাথার কারণে এটি ব্যবহার বন্ধ করে দিয়েছি যাতে কেউ এক্স 11 ফরওয়ার্ডিং ব্যবহার করতে পারে।
এ একটি বিশ্ববিদ্যালয়ের একজন শিক্ষার্থী

2

বাইবু চালানোর সময় এভাবেই আমি এটি কাজ করে চলেছি

"_বায়ু_সোর্স .." লাইনের আগে .bash_login এ এই লাইনটি যুক্ত করুন :

echo $DISPLAY > $HOME/.display.env

এবং তারপরে এই লাইনটি .bashrc এ যুক্ত করুন :

if [ ! -z ${SSH_CONNECTION+x} ]; then
  export DISPLAY=$(cat $HOME/.display.env) 
fi

1

মনে হচ্ছে সমস্যাটি হ'ল পরিবেশের পরিবর্তনশীল XAUTHORITY স্ক্রিন সেশনে সংরক্ষিত নেই। আমি আমার .bashrc এ নিম্নলিখিত যোগ করে এটি সমাধান করেছি। আমি এটি প্রয়োজনীয় হওয়া উচিত বলে মনে করি নি তবে আমার ধারণা আপনি যা করতে হবে তা আপনি করেন:

# ensure X forwarding is setup correctly, even for screen
XAUTH=~/.Xauthority
if [[ ! -e "${XAUTH}" ]]; then
 # create new ~/.Xauthority file
 xauth
fi
if [[ -z "${XAUTHORITY}" ]]; then
 # export env var if not already available.
 export XAUTHORITY="${XAUTH}" 
fi

আমি এটি সর্বোত্তম সমাধান বা সর্বাধিক সংক্ষিপ্ত হিসাবে আশা করি না, তবে এটি কার্যকর হয়।



0

@Harre পরামর্শের উপর ভিত্তি করে, আমি পিতির মাধ্যমে কমপক্ষে RHEL এর পক্ষে এটি সর্বোত্তম কার্যকর সমাধান হিসাবে পেয়েছি। আমি জানি যে ফাইলটি ভারে রাখার চেয়ে আরও ভাল উপায় X11আছে তবে এটি DISPLAYযখন লোড হয় তখন অ্যাক্সেস পেতে গেটের বাইরে কাজ করে gnu screen

স্বয়ংক্রিয় সমাধান

যুক্ত করুন .bashrc(বা .bash_profileআপনার ব্যবহারের ক্ষেত্রে নির্ভর করে)

#.bashrc
if [ -f ~/etc/.bash-screen-x11 ]; then
   echo $DISPLAY > $HOME/.display.env
   source ~/etc/.bash-screen-x11
fi

তারপরে নিম্নলিখিত ফাইলটি যুক্ত করুন (বা আপনার পথের পছন্দ)

#~/etc/.bash-screen-x11
# sets back display var.
if [ -z $STY ]; then
  export DISPLAY=$(cat $HOME/.display.env)
fi
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.