আমি কীভাবে আমার ক্লিপবোর্ডটি দুটি এক্স সার্ভারের মধ্যে ভাগ করতে পারি?


9

আমি সম্প্রতি আমার উবুন্টু মেশিনটি সেট আপ করেছি যাতে আমি pty8 এ অন্য এক্স সেশন চালাচ্ছি। আমি এই অন্যান্য এক্স সার্ভারে বেশিরভাগ ভার্চুয়াল মেশিন বা রিমোট ডেস্কটপ সেশনগুলি চালিত করি, যা এই পরিবেশগুলিতে কীবোর্ড সংহতকরণের সাথে ঘটতে পারে এমন কিছু হতাশার মধ্যস্থতা করতে সহায়তা করে।

তবে, এখন যদি আমি কিছু উইন্ডো থেকে: 0 তে অনুলিপি করি তবে আমি এটিকে কয়েকটি: 1 তে উইন্ডোতে আটকাতে পারছি না।

এই দুটি সেশনের মধ্যে আমি কি ক্লিপবোর্ডটি ভাগ করে নিতে পারি?

উত্তর:


7

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

লিপিটি এখানে:

#!/bin/bash

virtualbox --startvm "Windows 7" --fullscreen &
waitpid=$!

watch_clip() {
  local curr="" prev="" from=$1 to=:0

  # On first run, we need to copy from :0 to :1 but not vice versa
  if [[ "$from" == ":0" ]]; then
    xclip -o -selection clipboard -d :0 2> /dev/null | xclip -selection clipboard -d :1
    to=:1
  fi

  while true; do
    # Get the current clipboard contents
    curr=`xclip -o -selection clipboard -d $from 2> /dev/null`

    # Compare to previous results and copy if it's changed
    if [[ "$curr" != "$prev" ]]; then
      echo "$curr" | xclip -selection clipboard -d $to
    fi

    prev="$curr"   
    sleep 0.5
  done
}

watch_clip :0 &
watch_clip :1 &
wait $waitpid

তারপরে যা দরকার তা হ'ল দ্বিতীয় এক্স সেশন শুরু করার কমান্ডটি:

startx ./.startwin7 -- :1

আমি কোনও সমস্যা লক্ষ্য করিনি, তবে কেউ যদি আরও ভাল উপায়ের কথা চিন্তা করতে পারে তবে আমি অবশ্যই ইনপুটটির প্রশংসা করব।


আপনার পোস্টটি আমাকে একটি ধারণা দিয়েছে এবং আমি xclip -selection clip -o -display :0 | xclip -selection clip -i -display :1
এটিতে

3

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

এছাড়াও: আপনার ভিএমএসের জন্য তাদের ম্যাক এবং উইন্ডোজের জন্য বিল্ড রয়েছে ।


+1 টি। এটি বেশ দুর্দান্ত, আমি আমার অনুসন্ধানগুলিতে এরকম কিছু দেখেছি এবং কেবল এমন আশা করছি যে কোনও সেটআপের প্রয়োজন নেই require আমি আমার নিজের সমাধান থেকে একমাত্র বিষয়টি বিবেচনা করেছি হ'ল যদি আমার ভার্চুয়াল মেশিনটি লগইন করা বা চালু করার আগে কেউ আমার ল্যাপটপে অতিথি অ্যাকাউন্টে লগ ইন করে। এটি এখনও ঘটেনি, তবে যদি এটি কোনও সমস্যা হয়ে যায় তবে আমি পরিবর্তে ক্লিপবোর্ডটি সিঙ্ক্রোনাইজ করার জন্য সিনারজি ব্যবহার করতে চাই।
অ্যান্ডি ই

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

1
ধন্যবাদ! আপনার সমাধান আকর্ষণীয়; ঠিক কি আপনার জন্য কাজ করে? চিয়ার্স
ব্রায়ান এজ

1

আমারও একই সমস্যা ছিল। সিনেরজি আমার পক্ষে ভাল কাজ করেনি (এটির ক্লিপবোর্ড সিঙ্কিংয়ের এক্স 11 অংশে এটির বড় বাগ রয়েছে), এবং আমার কোনও স্ক্রিপ্ট থাকতে চাইনি যা কেবল ক্লিপবোর্ডটিতে একটি সময় দেরি করে পোল করে দেয়, কারণ এটি সিপিইউ এবং / অথবা নষ্ট করে as আমি পেস্ট করার আগে এলোমেলো বিলম্ব যুক্ত করে। আমি xclipsync নামে একটি স্ক্রিপ্ট লিখেছিলাম যা আমার জন্য সমস্যার সমাধান করে।

https://github.com/apenwarr/xclipsync

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