Saya datang dengan solusi yang sepertinya bekerja cukup baik. Saya tidak yakin apakah ada cara yang lebih baik, tetapi saya menulis skrip yang memulai VM saya dan kemudian memantau clipboard yang dipajang: 0 untuk perubahan. Ketika suatu perubahan terdeteksi, ia menyalin isi clipboard untuk ditampilkan: 1. Ini melakukan dua arah, sehingga saya dapat menyalin dan menempel dari VM dengan baik juga.
Ini skripnya:
#!/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
Maka yang diperlukan hanyalah perintah untuk memulai sesi X kedua:
startx ./.startwin7 -- :1
Saya belum melihat adanya masalah, tetapi jika ada yang bisa memikirkan cara yang lebih baik saya pasti akan menghargai masukannya.
xclip -selection clip -o -display :0 | xclip -selection clip -i -display :1
(lihat superuser.com/a/992418/19223 )