ฉันคิดวิธีแก้ปัญหาที่ใช้งานได้ดี ฉันไม่แน่ใจว่ามีวิธีที่ดีกว่านี้หรือไม่ แต่ฉันเขียนสคริปต์ที่เริ่ม VM ของฉันแล้วตรวจสอบคลิปบอร์ดที่แสดง: 0 เพื่อดูการเปลี่ยนแปลง เมื่อตรวจพบการเปลี่ยนแปลงมันจะคัดลอกเนื้อหาของคลิปบอร์ดเพื่อแสดง: 1 มันทำแบบสองทิศทางดังนั้นฉันสามารถคัดลอกและวางจาก VM ได้เช่นกัน
นี่คือสคริปต์:
#!/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
สิ่งที่จำเป็นต้องมีก็คือคำสั่งเพื่อเริ่มต้นเซสชัน X ที่สอง:
startx ./.startwin7 -- :1
ฉันไม่ได้สังเกตเห็นปัญหาใด ๆ แต่ถ้าใครสามารถคิดวิธีที่ดีกว่าฉันแน่นอนขอบคุณอินพุต
               
              
xclip -selection clip -o -display :0 | xclip -selection clip -i -display :1(ดูsuperuser.com/a/992418/19223 )