15

Совместное использование буфера обмена начинает работать нормально, но через некоторое время перестает работать (пока я не перезагружаю машину).

Из того, что я понимаю, иногда перестают работать дополнения гостя. Я прочитал, что должен увидеть vboxadd-timesyn работающий в моей системе. Я проверил ps -A | grep -i vbox и я этого не вижу. Все, что я получаю, это:

VBoxSerive
VBoxClient
VBoxClient
VBoxClient
VBoxClient

Если это действительно проблема, как мне перезапустить службу? Если это не так, что еще я мог бы посмотреть?

Это с хостом Windows 7 и гостем Linux Ubuntu.

8 ответов8

18

Линукс однострочный:

pkill -f VBoxClient; VBoxClient --clipboard


Сценарий Windows PowerShell.

echo "Trying to restart VBoxClient"

$vbox_process = Get-Process VBoxTray
Write-verbose $vbox_process
$procID = $vbox_process.id

if ($procID  -gt 0)
{    
    $cmdline = (Get-WMIObject Win32_Process -Filter "Handle=$procID").CommandLine
    Write-Verbose $cmdline

    Write-Verbose "Stopping VBoxTray"
    $vbox_process.Kill()
    $vbox_process.WaitForExit()
    Write-Verbose "VBoxTray stopped"

    Write-Verbose "Starting VBoxTray"
    Start-Process -FilePath $cmdline.Split(' ')[0]
    echo "VBoxTray Restarted. All Done"
} else {    
    Write-Warning 'Could not find existing vboxTray process. Launching direct?'
    Start-Process -FilePath "C:\Windows\System32\VBoxTray.exe"     
}

Примечание: PowerShell не является моей областью знаний, поэтому я ожидаю, что некоторые правки сообщества будут здесь :)

7

Как исправить общий буфер обмена в VirtualBox

  1. В VirtualBox Windows Guest, откройте диспетчер задач
  2. Перейдите на вкладку «Процессы», выделите VBoxTray.exe и выберите «Завершить процесс».
  3. Перейдите на вкладку «Приложения» и выберите «Новая задача».
  4. Перейдите в папку установки VirtualBox Guest Additions, выберите VBoxTray.exe и нажмите ОК.

Буфер обмена должен работать потом.

5

Я обнаружил, что на гостях Linux (в моем случае Ubuntu) и хостах Windows 7 (думаю, это не имеет значения) вам просто нужно перезапустить следующий процесс на вашей гостевой машине:

/usr/bin/VBoxClient --clipboard

Узнайте PID процесса с помощью ps и убейте его. Затем снова запустите процесс с помощью вышеуказанной команды, и буфер обмена снова начнет работать. Я использую это, например:

kill $(ps aux | grep '/usr/bin/VBoxClient --clipboard' | grep -v grep | awk '{print $ 2}')

/usr/bin/VBoxClient --clipboard

1

Попробуйте запустить vboxadd-timesyn start чтобы перезапустить службу.

Еще одна вещь, которую я помню, когда читал, - это изменить общий доступ к буферу обмена с двунаправленного на хост и на гость.

Здесь вы можете найти старый билет с ошибкой, похожий на вашу проблему. Это долгое чтение, но вы можете найти некоторые предложения там полезными.

Наконец, если ничего не решит проблему, я предлагаю вам открыть отчет об ошибке в Bugtracker VirtualBox самостоятельно, потому что вы не первый, у кого проблемы с общим буфером обмена.

1

Я обнаружил, что проблема связана с неправильной установкой гостевых дополнений VirtualBox (отсутствует зависимость от заголовков ядра и т.д., Из-за чего модуль ядра Virtualbox не может быть собран).

Попробуйте установить гостевые дополнения вручную через командную строку и внимательно прочитайте ошибки. В HOWTO ниже есть подробные инструкции.

Один совет - проверить вывод команды sudo lsmod | grep vbox , который показывает модули ядра для Virtualbox - изначально он был пустым. Вот вывод после исправления:

$ sudo lsmod | grep vbox
vboxsf                 40674  0 
vboxvideo              12405  1 
drm                   203590  3 vboxvideo
vboxguest             173675  6 vboxsf

Когда модули ядра были готовы , мне просто нужно было запустить /usr/sbin/VBoxClient --clipboard (в Debian 8 jessie), и буфер обмена начал работать. Версия Virtualbox была 4.3.30.

Команды, которые я запускал для этой настройки (ваши могут отличаться), были:

aptitude install dkms build-essential linux-headers-generic
aptitude install linux-headers-3.16.0-4-586     # See HOWTO, match running kernel
cd /media/cdrom0
sh ./VBoxLinuxAdditions.run 
less /var/log/vboxadd-install.log     # If you get errors

Систематический способ решения этой проблемы (и, возможно, других) - это ознакомить вас с документом Guest Additions HOWTO для Linux. Название сценария установки изменилось с 2009 года, но HOWTO по-прежнему очень полезен и дает команды для дистрибутивов в стиле Debian/Ubuntu и RHEL/CentOS.

0

Проблема может быть вызвана тем, что VirtualBox Addons не запускается правильно. Попробуйте эту команду в гостевой ОС:

sudo /etc/init.d/vboxadd start
0

У меня была похожая проблема: но в моем случае процесс /usr/bin/VBoxClient --clipboard закрывался несколько раз за сеанс.

Чтобы справиться с этим, я создал программу bash:

#! /bin/bash

ps aux | grep '/usr/bin/VBoxClient --clipboard' | grep -v grep || /usr/bin/VBoxClient --clipboard

Я просто запускаю его каждый раз, я потерял способность использовать буфер обмена.

0

Это то, что сработало для меня ..

Я на Linux Mint 17,1 XFCE. Официальный пакет distro поддерживает 4.3.18 .. Я был на .22 и у меня было много отдельных проблем, поэтому я понизился до .18. Затем, после загрузки, я запустил «Устройства -> Вставить гостевые дополнения» iso и запустил установщик .run от имени пользователя root. Несмотря на предупреждение об обнаружении версии установки пакета, я позволил ее перезаписать. Бинго. Больше никаких проблем с сетью и буфером обмена. Я думаю, что ключевым моментом, по крайней мере для моего дистрибутива, является разыгрывание официального пакета, но использование iso, поставляемого с клиентом.

-Стив

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .